@regulaforensics/react-native-document-reader-api 6.9.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +10 -42
  2. package/RNDocumentReaderApi.podspec +1 -1
  3. package/android/build.gradle +10 -10
  4. package/android/src/main/java/com/regula/documentreader/BluetoothUtil.kt +78 -74
  5. package/android/src/main/java/com/regula/documentreader/Config.kt +690 -0
  6. package/android/src/main/java/com/regula/documentreader/JSONConstructor.kt +2188 -0
  7. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderModule.kt +537 -0
  8. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderPackage.kt +11 -0
  9. package/android/src/main/java/com/regula/documentreader/Utils.kt +256 -0
  10. package/example/App.tsx +97 -145
  11. package/example/README.md +37 -0
  12. package/example/android/app/build.gradle +1 -1
  13. package/example/android/app/src/main/java/com/regula/dr/fullrfid/MainApplication.java +0 -1
  14. package/example/android/app/src/main/res/values/styles.xml +1 -2
  15. package/example/android/build.gradle +2 -4
  16. package/example/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  17. package/example/android/gradle.properties +1 -1
  18. package/example/index.js +1 -2
  19. package/example/ios/DocumentReader.xcodeproj/project.pbxproj +8 -4
  20. package/example/ios/Podfile +0 -1
  21. package/example/package-lock.json +3062 -2198
  22. package/example/package.json +24 -23
  23. package/index.d.ts +296 -135
  24. package/index.js +234 -115
  25. package/ios/RGLWConfig.h +48 -0
  26. package/ios/RGLWConfig.m +1325 -0
  27. package/ios/RGLWJSONConstructor.h +173 -69
  28. package/ios/RGLWJSONConstructor.m +1817 -762
  29. package/ios/RNRegulaDocumentReader.h +6 -5
  30. package/ios/RNRegulaDocumentReader.m +392 -584
  31. package/package.json +1 -1
  32. package/android/src/main/java/com/regula/documentreader/Helpers.java +0 -259
  33. package/android/src/main/java/com/regula/documentreader/JSONConstructor.java +0 -1119
  34. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderModule.java +0 -1153
  35. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderPackage.java +0 -26
  36. package/android/src/main/java/com/regula/documentreader/RegulaConfig.java +0 -830
  37. package/example/.bundle/config +0 -2
  38. package/example/.eslintrc.js +0 -4
  39. package/example/.prettierrc.js +0 -7
  40. package/example/Gemfile +0 -6
  41. package/example/Gemfile.lock +0 -98
  42. package/example/__tests__/App.test.tsx +0 -17
  43. package/example/app.json +0 -4
  44. package/example/babel.config.js +0 -3
  45. package/example/jest.config.js +0 -3
  46. package/example/tsconfig.json +0 -3
  47. package/ios/RGLWRegulaConfig.h +0 -26
  48. package/ios/RGLWRegulaConfig.m +0 -1152
  49. package/ios/RNRegulaDocumentReader.xcodeproj/project.pbxproj +0 -304
  50. package/ios/RNRegulaDocumentReader.xcworkspace/contents.xcworkspacedata +0 -9
@@ -1,63 +1,14 @@
1
1
  @import UIKit;
2
2
  #import "RNRegulaDocumentReader.h"
3
3
 
4
- RGLRFIDCertificatesCallback RGLWPaCertificateCompletion;
5
- RGLRFIDCertificatesCallback RGLWTaCertificateCompletion;
6
- RGLWRFIDSignatureCallback RGLWTaSignatureCompletion;
7
-
8
- NSString* RGLWPrepareDatabaseProgressChangeEvent = @"prepareDatabaseProgressChangeEvent";
9
- NSString* RGLWCompletionEvent = @"completionEvent";
10
-
11
- NSString* RGLWRfidOnProgressEvent = @"rfidNotificationCompletionEvent";
12
- NSString* RGLWRfidOnChipDetectedEvent = @"rfidOnChipDetectedEvent";
13
- NSString* RGLWRfidOnRetryReadChipEvent = @"rfidOnRetryReadChipEvent";
14
-
15
- NSString* RGLWPaCertificateCompletionEvent = @"paCertificateCompletionEvent";
16
- NSString* RGLWTaCertificateCompletionEvent = @"taCertificateCompletionEvent";
17
- NSString* RGLWTaSignatureCompletionEvent = @"taSignatureCompletionEvent";
18
-
19
- NSString* RGLWBleOnServiceConnectedEvent = @"bleOnServiceConnectedEvent";
20
- NSString* RGLWBleOnServiceDisconnectedEvent = @"bleOnServiceDisconnectedEvent";
21
- NSString* RGLWBleOnDeviceReadyEvent = @"bleOnDeviceReadyEvent";
22
-
23
- NSString* RGLWVideoEncoderCompletionEvent = @"videoEncoderCompletionEvent";
24
- NSString* RGLWOnCustomButtonTappedEvent = @"onCustomButtonTappedEvent";
25
-
26
- RGLWRFIDDelegateNoPA* RGLWRfidDelegateNoPA;
27
-
28
4
  RNRegulaDocumentReader* RGLWPlugin;
29
5
 
30
- @implementation RGLWRFIDDelegateNoPA
31
-
32
- - (void)onRequestTACertificatesWithKey:(NSString *)keyCAR callback:(RGLRFIDCertificatesCallback)callback {
33
- RGLWTaCertificateCompletion = callback;
34
- [RGLWPlugin sendEventWithName:RGLWTaCertificateCompletionEvent body:@{@"msg": keyCAR}];
35
- }
36
-
37
- - (void)onRequestTASignatureWithChallenge:(RGLTAChallenge *)challenge callback:(void(^)(NSData *signature))callback {
38
- RGLWTaSignatureCompletion = callback;
39
- [RGLWPlugin sendEventWithName:RGLWTaSignatureCompletionEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLTAChallenge:challenge]]}];
40
- }
41
-
42
- - (void)didChipConnected {
43
- [RGLWPlugin sendEventWithName:RGLWRfidOnChipDetectedEvent body:@{@"msg": @""}];
44
-
45
- }
46
-
47
- - (void)didReceivedError:(RGLRFIDErrorCodes)errorCode {
48
- NSMutableDictionary *result = [NSMutableDictionary new];
49
- result[@"errorCode"] = [NSNumber numberWithInteger:errorCode];
50
- [RGLWPlugin sendEventWithName:RGLWRfidOnRetryReadChipEvent body:@{@"msg": [RGLWJSONConstructor dictToString:result]}];
51
- }
52
-
53
- @end
54
-
55
6
  @implementation RNRegulaDocumentReader
56
7
  @synthesize bridge = _bridge;
57
8
  RCT_EXPORT_MODULE();
58
9
 
59
10
  - (NSArray<NSString*>*)supportedEvents {
60
- return @[RGLWPrepareDatabaseProgressChangeEvent,
11
+ return @[RGLWDatabaseProgressEvent,
61
12
  RGLWCompletionEvent,
62
13
  RGLWVideoEncoderCompletionEvent,
63
14
  RGLWRfidOnProgressEvent,
@@ -72,231 +23,118 @@ RCT_EXPORT_MODULE();
72
23
  RGLWOnCustomButtonTappedEvent];
73
24
  }
74
25
 
75
- static NSNumber* _databasePercentageDownloaded;
76
-
77
- + (NSNumber*)databasePercentageDownloaded { return _databasePercentageDownloaded; }
78
- + (void)setDatabasePercentageDownloaded:(NSNumber *)number { _databasePercentageDownloaded = number; }
79
-
80
- - (void)result:(NSString*)message :(RGLWCallback)callback {
81
- if(message == nil)
82
- message = @"";
83
- callback(message);
84
- }
85
-
86
- -(void (^_Nullable)(NSProgress * _Nonnull progress))getProgressHandler:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
87
- return ^(NSProgress * _Nonnull progress) {
88
- if(RNRegulaDocumentReader.databasePercentageDownloaded != [NSNumber numberWithDouble:progress.fractionCompleted * 100]){
89
- [self sendEventWithName:RGLWPrepareDatabaseProgressChangeEvent body:@{@"msg": [NSString stringWithFormat:@"%.1f", progress.fractionCompleted * 100]}];
90
- [RNRegulaDocumentReader setDatabasePercentageDownloaded:[NSNumber numberWithDouble:progress.fractionCompleted * 100]];
91
- }
92
- };
93
- }
94
-
95
- -(RGLDocumentReaderCompletion _Nonnull)getCompletion {
96
- return ^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
97
- [self sendEventWithName:RGLWCompletionEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateCompletion:[RGLWJSONConstructor generateDocReaderAction: action] :results :error]]}];
98
- };
99
- }
100
-
101
- -(RGLRFIDProcessCompletion _Nonnull)getRFIDCompletion {
102
- return ^(RGLRFIDCompleteAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error, RGLRFIDErrorCodes errorCode) {
103
- [self sendEventWithName:RGLWCompletionEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateCompletion:[RGLWJSONConstructor generateRFIDCompleteAction: action] :results :error]]}];
104
- };
105
- }
106
-
107
- -(RGLRFIDNotificationCallback _Nonnull)getRFIDNotificationCallback {
108
- return ^(RGLRFIDNotificationAction action, RGLRFIDNotify* _Nullable notification) {
109
- [self sendEventWithName:RGLWRfidOnProgressEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderNotification:notification]]}];
110
- };
111
- }
112
-
113
- - (void)didFinishRecordingToFile:(NSURL *)fileURL {
114
- [self sendEventWithName:RGLWVideoEncoderCompletionEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateVideoEncoderCompletion:fileURL :nil]]}];
115
- }
116
-
117
- - (void)didFailWithError:(NSError *)error {
118
- [self sendEventWithName:RGLWVideoEncoderCompletionEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateVideoEncoderCompletion:nil :error]]}];
119
- }
120
-
121
- - (void)onRequestPACertificatesWithSerial:(NSData *)serialNumber issuer:(RGLPAResourcesIssuer *)issuer callback:(RGLRFIDCertificatesCallback)callback {
122
- RGLWPaCertificateCompletion = callback;
123
- [self sendEventWithName:RGLWPaCertificateCompletionEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generatePACertificateCompletion:serialNumber :issuer]]}];
124
- }
125
-
126
- - (void)onRequestTACertificatesWithKey:(NSString *)keyCAR callback:(RGLRFIDCertificatesCallback)callback {
127
- RGLWTaCertificateCompletion = callback;
128
- [self sendEventWithName:RGLWTaCertificateCompletionEvent body:@{@"msg": keyCAR}];
129
- }
130
-
131
- - (void)onRequestTASignatureWithChallenge:(RGLTAChallenge *)challenge callback:(void(^)(NSData *signature))callback {
132
- RGLWTaSignatureCompletion = callback;
133
- [self sendEventWithName:RGLWTaSignatureCompletionEvent body:@{@"msg": [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLTAChallenge:challenge]]}];
134
- }
135
-
136
- - (void)didChipConnected {
137
- [RGLWPlugin sendEventWithName:RGLWRfidOnChipDetectedEvent body:@{@"msg": @""}];
138
-
139
- }
140
-
141
- - (void)didReceivedError:(RGLRFIDErrorCodes)errorCode {
142
- NSMutableDictionary *result = [NSMutableDictionary new];
143
- result[@"errorCode"] = [NSNumber numberWithInteger:errorCode];
144
- [RGLWPlugin sendEventWithName:RGLWRfidOnRetryReadChipEvent body:@{@"msg": [RGLWJSONConstructor dictToString:result]}];
145
- }
146
-
147
- - (void)onCustomButtonTappedWithTag:(NSInteger)tag {
148
- [RGLWPlugin sendEventWithName:RGLWOnCustomButtonTappedEvent body:@{@"msg": [NSNumber numberWithInteger:tag]}];
149
- }
26
+ RGLWEventSender sendEvent = ^(NSString* _Nonnull event, id _Nullable data) {
27
+ dispatch_async(dispatch_get_main_queue(), ^{
28
+ [RGLWPlugin sendEventWithName:event body:@{@"msg": data}];
29
+ });
30
+ };
150
31
 
151
32
  RCT_EXPORT_METHOD(exec:(NSString*)moduleName:(NSString*)action:(NSArray*)args:(RCTResponseSenderBlock)sCallback:(RCTResponseSenderBlock)eCallback) {
152
33
  RGLWPlugin = self;
153
- RGLWCallback successCallback = ^(NSString* response){
154
- sCallback(@[response]);
34
+ RGLWCallback successCallback = ^(id _Nullable data){
35
+ if(data == nil)
36
+ sCallback(@[[NSNull null]]);
37
+ else
38
+ sCallback(@[data]);
155
39
  };
156
- RGLWCallback errorCallback = ^(NSString* response){
157
- eCallback(@[response]);
40
+ RGLWCallback errorCallback = ^(NSString* error){
41
+ eCallback(@[error]);
158
42
  };
159
43
 
160
- if([action isEqualToString:@"initializeReaderAutomatically"])
161
- [self initializeReaderAutomatically :successCallback :errorCallback];
162
- else if([action isEqualToString:@"isBlePermissionsGranted"])
163
- [self isBlePermissionsGranted :successCallback :errorCallback];
164
- else if([action isEqualToString:@"startBluetoothService"])
165
- [self startBluetoothService :successCallback :errorCallback];
166
- else if([action isEqualToString:@"initializeReaderBleDeviceConfig"])
167
- [self initializeReaderBleDeviceConfig :successCallback :errorCallback];
168
- else if([action isEqualToString:@"getTag"])
169
- [self getTag :successCallback :errorCallback];
170
- else if([action isEqualToString:@"getAPIVersion"])
171
- [self getAPIVersion :successCallback :errorCallback];
172
- else if([action isEqualToString:@"getAvailableScenarios"])
173
- [self getAvailableScenarios :successCallback :errorCallback];
174
- else if([action isEqualToString:@"isRFIDAvailableForUse"])
175
- [self isRFIDAvailableForUse :successCallback :errorCallback];
176
- else if([action isEqualToString:@"getCoreMode"])
177
- [self getCoreMode :successCallback :errorCallback];
178
- else if([action isEqualToString:@"getCoreVersion"])
179
- [self getCoreVersion :successCallback :errorCallback];
180
- else if([action isEqualToString:@"getDatabaseDate"])
181
- [self getDatabaseDate :successCallback :errorCallback];
182
- else if([action isEqualToString:@"getDatabaseID"])
183
- [self getDatabaseID :successCallback :errorCallback];
184
- else if([action isEqualToString:@"getDatabaseVersion"])
185
- [self getDatabaseVersion :successCallback :errorCallback];
186
- else if([action isEqualToString:@"getDocumentReaderIsReady"])
44
+ if([action isEqualToString:@"getDocumentReaderIsReady"])
187
45
  [self getDocumentReaderIsReady :successCallback :errorCallback];
188
46
  else if([action isEqualToString:@"getDocumentReaderStatus"])
189
47
  [self getDocumentReaderStatus :successCallback :errorCallback];
190
- else if([action isEqualToString:@"getDatabaseCountriesNumber"])
191
- [self getDatabaseCountriesNumber :successCallback :errorCallback];
192
- else if([action isEqualToString:@"getDatabaseDocumentsNumber"])
193
- [self getDatabaseDocumentsNumber :successCallback :errorCallback];
194
- else if([action isEqualToString:@"selectedScenario"])
195
- [self selectedScenario :successCallback :errorCallback];
196
- else if([action isEqualToString:@"getSessionLogFolder"])
197
- [self getSessionLogFolder :successCallback :errorCallback];
198
- else if([action isEqualToString:@"getDatabaseDescription"])
199
- [self getDatabaseDescription :successCallback :errorCallback];
200
- else if([action isEqualToString:@"showScanner"])
201
- [self showScanner :successCallback :errorCallback];
202
- else if([action isEqualToString:@"startNewPage"])
203
- [self startNewPage :successCallback :errorCallback];
204
- else if([action isEqualToString:@"startNewSession"])
205
- [self startNewSession :successCallback :errorCallback];
206
- else if([action isEqualToString:@"startRFIDReader"])
207
- [self startRFIDReader :successCallback :errorCallback];
208
- else if([action isEqualToString:@"stopRFIDReader"])
209
- [self stopRFIDReader :successCallback :errorCallback];
210
- else if([action isEqualToString:@"stopRFIDReaderWithErrorMessage"])
211
- [self stopRFIDReaderWithErrorMessage :[args objectAtIndex:0] :successCallback :errorCallback];
212
- else if([action isEqualToString:@"stopScanner"])
213
- [self stopScanner :successCallback :errorCallback];
214
- else if([action isEqualToString:@"deinitializeReader"])
215
- [self deinitializeReader :successCallback :errorCallback];
216
48
  else if([action isEqualToString:@"isAuthenticatorAvailableForUse"])
217
49
  [self isAuthenticatorAvailableForUse :successCallback :errorCallback];
218
- else if([action isEqualToString:@"getConfig"])
219
- [self getConfig :successCallback :errorCallback];
50
+ else if([action isEqualToString:@"isBlePermissionsGranted"])
51
+ [self isBlePermissionsGranted :successCallback :errorCallback];
52
+ else if([action isEqualToString:@"getRfidSessionStatus"])
53
+ [self getRfidSessionStatus :successCallback :errorCallback];
54
+ else if([action isEqualToString:@"setRfidSessionStatus"])
55
+ [self setRfidSessionStatus :[args objectAtIndex:0] :successCallback :errorCallback];
56
+ else if([action isEqualToString:@"getTag"])
57
+ [self getTag :successCallback :errorCallback];
58
+ else if([action isEqualToString:@"setTag"])
59
+ [self setTag :[args objectAtIndex:0] :successCallback :errorCallback];
60
+ else if([action isEqualToString:@"getFunctionality"])
61
+ [self getFunctionality :successCallback :errorCallback];
62
+ else if([action isEqualToString:@"setFunctionality"])
63
+ [self setFunctionality :[args objectAtIndex:0] :successCallback :errorCallback];
64
+ else if([action isEqualToString:@"getProcessParams"])
65
+ [self getProcessParams :successCallback :errorCallback];
66
+ else if([action isEqualToString:@"setProcessParams"])
67
+ [self setProcessParams :[args objectAtIndex:0] :successCallback :errorCallback];
68
+ else if([action isEqualToString:@"getCustomization"])
69
+ [self getCustomization :successCallback :errorCallback];
70
+ else if([action isEqualToString:@"setCustomization"])
71
+ [self setCustomization :[args objectAtIndex:0] :successCallback :errorCallback];
220
72
  else if([action isEqualToString:@"getRfidScenario"])
221
73
  [self getRfidScenario :successCallback :errorCallback];
222
- else if([action isEqualToString:@"getLicenseExpiryDate"])
223
- [self getLicenseExpiryDate :successCallback :errorCallback];
224
- else if([action isEqualToString:@"getLicenseCountryFilter"])
225
- [self getLicenseCountryFilter :successCallback :errorCallback];
226
- else if([action isEqualToString:@"licenseIsRfidAvailable"])
227
- [self licenseIsRfidAvailable :successCallback :errorCallback];
228
- else if([action isEqualToString:@"getCameraSessionIsPaused"])
229
- [self getCameraSessionIsPaused :successCallback :errorCallback];
74
+ else if([action isEqualToString:@"setRfidScenario"])
75
+ [self setRfidScenario :[args objectAtIndex:0] :successCallback :errorCallback];
76
+ else if([action isEqualToString:@"resetConfiguration"])
77
+ [self resetConfiguration :successCallback :errorCallback];
78
+ else if([action isEqualToString:@"initializeReader"])
79
+ [self initializeReader :[args objectAtIndex:0] :successCallback :errorCallback];
80
+ else if([action isEqualToString:@"initializeReaderAutomatically"])
81
+ [self initializeReaderAutomatically :successCallback :errorCallback];
82
+ else if([action isEqualToString:@"initializeReaderWithBleDeviceConfig"])
83
+ [self initializeReaderWithBleDeviceConfig :[args objectAtIndex:0] :successCallback :errorCallback];
84
+ else if([action isEqualToString:@"deinitializeReader"])
85
+ [self deinitializeReader :successCallback :errorCallback];
86
+ else if([action isEqualToString:@"prepareDatabase"])
87
+ [self prepareDatabase :[args objectAtIndex:0] :successCallback :errorCallback];
230
88
  else if([action isEqualToString:@"removeDatabase"])
231
89
  [self removeDatabase :successCallback :errorCallback];
90
+ else if([action isEqualToString:@"runAutoUpdate"])
91
+ [self runAutoUpdate :[args objectAtIndex:0] :successCallback :errorCallback];
232
92
  else if([action isEqualToString:@"cancelDBUpdate"])
233
93
  [self cancelDBUpdate :successCallback :errorCallback];
234
- else if([action isEqualToString:@"resetConfiguration"])
235
- [self resetConfiguration :successCallback :errorCallback];
236
- else if([action isEqualToString:@"clearPKDCertificates"])
237
- [self clearPKDCertificates :successCallback :errorCallback];
238
- else if([action isEqualToString:@"readRFID"])
239
- [self readRFID :successCallback :errorCallback];
240
- else if([action isEqualToString:@"getRfidSessionStatus"])
241
- [self getRfidSessionStatus :successCallback :errorCallback];
242
- else if([action isEqualToString:@"setRfidDelegate"])
243
- [self setRfidDelegate :[args objectAtIndex:0] :successCallback :errorCallback];
244
- else if([action isEqualToString:@"setEnableCoreLogs"])
245
- [self setEnableCoreLogs :[args objectAtIndex:0] :successCallback :errorCallback];
246
- else if([action isEqualToString:@"addPKDCertificates"])
247
- [self addPKDCertificates :[args objectAtIndex:0] :successCallback :errorCallback];
248
- else if([action isEqualToString:@"setCameraSessionIsPaused"])
249
- [self setCameraSessionIsPaused :[args objectAtIndex:0] :successCallback :errorCallback];
250
- else if([action isEqualToString:@"setTag"])
251
- [self setTag :[args objectAtIndex:0] :successCallback :errorCallback];
252
94
  else if([action isEqualToString:@"checkDatabaseUpdate"])
253
95
  [self checkDatabaseUpdate :[args objectAtIndex:0] :successCallback :errorCallback];
254
96
  else if([action isEqualToString:@"scan"])
255
97
  [self scan :[args objectAtIndex:0] :successCallback :errorCallback];
256
98
  else if([action isEqualToString:@"recognize"])
257
99
  [self recognize :[args objectAtIndex:0] :successCallback :errorCallback];
258
- else if([action isEqualToString:@"recognizeImages"])
259
- [self recognizeImages :[args objectAtIndex:0] :successCallback :errorCallback];
260
- else if([action isEqualToString:@"showScannerWithCameraID"])
261
- [self showScannerWithCameraID :[args objectAtIndex:0] :successCallback :errorCallback];
262
- else if([action isEqualToString:@"runAutoUpdate"])
263
- [self runAutoUpdate :[args objectAtIndex:0] :successCallback :errorCallback];
264
- else if([action isEqualToString:@"setConfig"])
265
- [self setConfig :[args objectAtIndex:0] :successCallback :errorCallback];
266
- else if([action isEqualToString:@"setRfidScenario"])
267
- [self setRfidScenario :[args objectAtIndex:0] :successCallback :errorCallback];
268
- else if([action isEqualToString:@"initializeReader"])
269
- [self initializeReader :[args objectAtIndex:0] :successCallback :errorCallback];
270
- else if([action isEqualToString:@"prepareDatabase"])
271
- [self prepareDatabase :[args objectAtIndex:0] :successCallback :errorCallback];
272
- else if([action isEqualToString:@"recognizeImage"])
273
- [self recognizeImage :[args objectAtIndex:0] :successCallback :errorCallback];
274
- else if([action isEqualToString:@"recognizeData"])
275
- [self recognizeData :[args objectAtIndex:0] :successCallback :errorCallback];
276
- else if([action isEqualToString:@"setRfidSessionStatus"])
277
- [self setRfidSessionStatus :[args objectAtIndex:0] :successCallback :errorCallback];
100
+ else if([action isEqualToString:@"startNewPage"])
101
+ [self startNewPage :successCallback :errorCallback];
102
+ else if([action isEqualToString:@"stopScanner"])
103
+ [self stopScanner :successCallback :errorCallback];
104
+ else if([action isEqualToString:@"startRFIDReader"])
105
+ [self startRFIDReader :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
106
+ else if([action isEqualToString:@"readRFID"])
107
+ [self readRFID :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
108
+ else if([action isEqualToString:@"stopRFIDReader"])
109
+ [self stopRFIDReader :successCallback :errorCallback];
278
110
  else if([action isEqualToString:@"providePACertificates"])
279
111
  [self providePACertificates :[args objectAtIndex:0] :successCallback :errorCallback];
280
112
  else if([action isEqualToString:@"provideTACertificates"])
281
113
  [self provideTACertificates :[args objectAtIndex:0] :successCallback :errorCallback];
282
114
  else if([action isEqualToString:@"provideTASignature"])
283
115
  [self provideTASignature :[args objectAtIndex:0] :successCallback :errorCallback];
284
- else if([action isEqualToString:@"parseCoreResults"])
285
- [self parseCoreResults :[args objectAtIndex:0] :successCallback :errorCallback];
286
116
  else if([action isEqualToString:@"setTCCParams"])
287
117
  [self setTCCParams :[args objectAtIndex:0] :successCallback :errorCallback];
288
- else if([action isEqualToString:@"recognizeImageWithOpts"])
289
- [self recognizeImageWithOpts :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
290
- else if([action isEqualToString:@"recognizeVideoFrame"])
291
- [self recognizeVideoFrame :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
292
- else if([action isEqualToString:@"showScannerWithCameraIDAndOpts"])
293
- [self showScannerWithCameraIDAndOpts :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
294
- else if([action isEqualToString:@"recognizeImageWithCameraMode"])
295
- [self recognizeImageWithCameraMode :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
296
- else if([action isEqualToString:@"recognizeImagesWithImageInputs"])
297
- [self recognizeImagesWithImageInputs :[args objectAtIndex:0] :successCallback :errorCallback];
298
- else if([action isEqualToString:@"setLanguage"])
299
- [self setLanguage :[args objectAtIndex:0] :successCallback :errorCallback];
118
+ else if([action isEqualToString:@"addPKDCertificates"])
119
+ [self addPKDCertificates :[args objectAtIndex:0] :successCallback :errorCallback];
120
+ else if([action isEqualToString:@"clearPKDCertificates"])
121
+ [self clearPKDCertificates :successCallback :errorCallback];
122
+ else if([action isEqualToString:@"startNewSession"])
123
+ [self startNewSession :successCallback :errorCallback];
124
+ else if([action isEqualToString:@"startBluetoothService"])
125
+ [self startBluetoothService :successCallback :errorCallback];
126
+ else if([action isEqualToString:@"setLocalizationDictionary"])
127
+ [self setLocalizationDictionary :[args objectAtIndex:0] :successCallback :errorCallback];
128
+ else if([action isEqualToString:@"getLicense"])
129
+ [self getLicense :successCallback :errorCallback];
130
+ else if([action isEqualToString:@"getAvailableScenarios"])
131
+ [self getAvailableScenarios :successCallback :errorCallback];
132
+ else if([action isEqualToString:@"getIsRFIDAvailableForUse"])
133
+ [self getIsRFIDAvailableForUse :successCallback :errorCallback];
134
+ else if([action isEqualToString:@"getDocReaderVersion"])
135
+ [self getDocReaderVersion :successCallback :errorCallback];
136
+ else if([action isEqualToString:@"getDocReaderDocumentsDatabase"])
137
+ [self getDocReaderDocumentsDatabase :successCallback :errorCallback];
300
138
  else if([action isEqualToString:@"textFieldValueByType"])
301
139
  [self textFieldValueByType :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
302
140
  else if([action isEqualToString:@"textFieldValueByTypeLcid"])
@@ -331,235 +169,154 @@ RCT_EXPORT_METHOD(exec:(NSString*)moduleName:(NSString*)action:(NSArray*)args:(R
331
169
  [self containers :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
332
170
  else if([action isEqualToString:@"encryptedContainers"])
333
171
  [self encryptedContainers :[args objectAtIndex:0] :successCallback :errorCallback];
172
+ else if([action isEqualToString:@"getTranslation"])
173
+ [self getTranslation :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
174
+ else if([action isEqualToString:@"finalizePackage"])
175
+ [self finalizePackage :successCallback :errorCallback];
334
176
  else
335
- [self result:[NSString stringWithFormat:@"%@/%@", @"method not implemented: ", action] :errorCallback];
336
- }
337
-
338
- - (void) initializeReaderAutomatically:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
339
- NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"regula.license" ofType:nil];
340
- NSData *licenseData = [NSData dataWithContentsOfFile:dataPath];
341
- [RGLDocReader.shared initializeReaderWithConfig:[RGLConfig configWithLicenseData:licenseData] completion:[self getInitCompletion :successCallback :errorCallback]];
342
- }
343
-
344
- - (void) isBlePermissionsGranted:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
345
- [self result:@"isBlePermissionsGranted() is an android-only method" :errorCallback];
177
+ errorCallback([NSString stringWithFormat:@"%@/%@", @"method not implemented: ", action]);
346
178
  }
347
179
 
348
- - (void) startBluetoothService:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
349
- [self result:@"startBluetoothService() is an android-only method" :errorCallback];
350
- }
351
-
352
- - (void) initializeReaderBleDeviceConfig:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
353
- [self result:@"initializeReaderBleDeviceConfig() is an android-only method" :errorCallback];
354
- }
180
+ static NSNumber * _databasePercentageDownloaded;
181
+ + (NSNumber*)databasePercentageDownloaded{ return _databasePercentageDownloaded; }
182
+ + (void)setDatabasePercentageDownloaded:(NSNumber *)value { _databasePercentageDownloaded = value; }
355
183
 
356
- - (void) resetConfiguration:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
357
- RGLDocReader.shared.functionality = [RGLFunctionality new];
358
- RGLDocReader.shared.processParams = [RGLProcessParams new];
359
- RGLDocReader.shared.customization = [RGLCustomization new];
360
- successCallback(@"");
361
- }
362
-
363
- - (void) setEnableCoreLogs:(BOOL)logs :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
364
- [self result:@"setEnableCoreLogs() is an android-only method" :errorCallback];
365
- }
366
-
367
- - (void) showScannerWithCameraID:(NSNumber*)cameraID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
368
- [self result:@"showScannerWithCameraID() is an android-only method" :errorCallback];
369
- }
370
-
371
- - (void) stopRFIDReaderWithErrorMessage:(NSMutableString*)message :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
372
- [RGLDocReader.shared stopRFIDReaderWithErrorMessage:message completion:^() {
373
- [self result:@"" :successCallback];
374
- }];
375
- }
376
-
377
- - (void) recognizeImageWithOpts:(NSString*)base64 :(NSDictionary*)opts :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
378
- [self result:@"recognizeImageWithOpts() is an android-only method" :errorCallback];
379
- }
380
-
381
- - (void) recognizeVideoFrame:(NSString*)byteString :(NSDictionary*)opts :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
382
- [self result:@"recognizeVideoFrame() is an android-only method" :errorCallback];
383
- }
384
-
385
- - (void) showScannerWithCameraIDAndOpts:(NSNumber*)cameraID :(NSDictionary*)opts :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
386
- [self result:@"showScannerWithCameraIDAndOpts() is an android-only method" :errorCallback];
387
- }
388
-
389
- - (void) getLicenseMessage:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
390
- [self result:@"getLicenseMessage() is an android-only method" :successCallback];
391
- }
392
-
393
- - (void) setLanguage:(NSString*)language :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
394
- RGLDocReader.shared.localizationHandler = ^NSString * _Nullable(NSString * _Nonnull localizationKey) {
395
- NSString *result = NSLocalizedStringFromTable(localizationKey, language, @"");
396
- if (![result isEqualToString:localizationKey])
397
- return result;
398
- return nil;
399
- };
400
- [self result:@"" :successCallback];
401
- }
184
+ NSString* RGLWCompletionEvent = @"completion";
185
+ NSString* RGLWDatabaseProgressEvent = @"database_progress";
402
186
 
403
- - (void) initializeReader:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
404
- [RGLDocReader.shared initializeReaderWithConfig:[RGLWJSONConstructor RGLConfigFromJson:config] completion:[self getInitCompletion :successCallback :errorCallback]];
405
- }
187
+ NSString* RGLWRfidOnProgressEvent = @"rfidOnProgressCompletion";
188
+ NSString* RGLWRfidOnChipDetectedEvent = @"rfidOnChipDetectedEvent";
189
+ NSString* RGLWRfidOnRetryReadChipEvent = @"rfidOnRetryReadChipEvent";
406
190
 
407
- - (void) parseCoreResults:(NSString*)json :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
408
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderResults:[RGLDocumentReaderResults initWithRawString: json]]] :successCallback];
409
- }
191
+ NSString* RGLWPaCertificateCompletionEvent = @"pa_certificate_completion";
192
+ NSString* RGLWTaCertificateCompletionEvent = @"ta_certificate_completion";
193
+ NSString* RGLWTaSignatureCompletionEvent = @"ta_signature_completion";
410
194
 
411
- - (void) startRFIDReader:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
412
- dispatch_async(dispatch_get_main_queue(), ^{
413
- [RGLDocReader.shared startRFIDReaderFromPresenter:[[[UIApplication sharedApplication] keyWindow] rootViewController] completion:[self getCompletion]];
414
- });
415
- }
195
+ NSString* RGLWBleOnServiceConnectedEvent = @"bleOnServiceConnectedEvent";
196
+ NSString* RGLWBleOnServiceDisconnectedEvent = @"bleOnServiceDisconnectedEvent";
197
+ NSString* RGLWBleOnDeviceReadyEvent = @"bleOnDeviceReadyEvent";
416
198
 
417
- - (void) prepareDatabase:(NSString*)dbID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
418
- [RGLDocReader.shared prepareDatabase:dbID progressHandler:[self getProgressHandler :successCallback :errorCallback] completion:[self getPrepareCompletion :successCallback :errorCallback]];
419
- }
199
+ NSString* RGLWVideoEncoderCompletionEvent = @"video_encoder_completion";
200
+ NSString* RGLWOnCustomButtonTappedEvent = @"onCustomButtonTappedEvent";
420
201
 
421
- - (void) removeDatabase:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
422
- [RGLDocReader.shared removeDatabase:^(BOOL successful, NSError * _Nullable error) {
423
- if (successful)
424
- [self result:@"database removed" :successCallback];
425
- else
426
- [self result:[NSString stringWithFormat:@"%@/%@", @"database removal failed: ", error.description] :errorCallback];
427
- }];
202
+ - (void) getDocumentReaderIsReady:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
203
+ successCallback([RGLDocReader.shared isDocumentReaderIsReady] ? @YES : @NO);
428
204
  }
429
205
 
430
- - (void) cancelDBUpdate:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
431
- [RGLDocReader.shared cancelDBUpdate];
432
- [self result:@"" :successCallback];
206
+ - (void) getDocumentReaderStatus:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
207
+ successCallback(RGLDocReader.shared.documentReaderStatus);
433
208
  }
434
209
 
435
- -(void) runAutoUpdate:(NSString*)dbID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
436
- [RGLDocReader.shared runAutoUpdate:dbID progressHandler:[self getProgressHandler :successCallback :errorCallback] completion:[self getPrepareCompletion :successCallback :errorCallback]];
210
+ - (void) isAuthenticatorAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
211
+ successCallback(RGLDocReader.shared.isAuthenticatorAvailableForUse ? @YES : @NO);
437
212
  }
438
213
 
439
- - (void) showScanner:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
440
- dispatch_async(dispatch_get_main_queue(), ^{
441
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
442
- [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
443
- #pragma clang diagnostic pop
444
- UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
445
- [RGLDocReader.shared showScanner:currentViewController completion:[self getCompletion]];
446
- });
214
+ - (void) isBlePermissionsGranted:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
215
+ errorCallback(@"isBlePermissionsGranted() is an android-only method");
447
216
  }
448
217
 
449
- - (void) recognizeImage:(NSMutableString*)base64 :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
450
- [self recognizeImageWith :base64 :false :successCallback :errorCallback];
218
+ - (void) getRfidSessionStatus:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
219
+ successCallback(RGLDocReader.shared.rfidSessionStatus);
451
220
  }
452
221
 
453
- - (void) recognizeData:(NSString*)data :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
454
- [RGLDocReader.shared recognizeData :[[NSData alloc] initWithBase64EncodedString:data options:0] completion:[self getCompletion]];
222
+ - (void) setRfidSessionStatus:(NSString*)status :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
223
+ RGLDocReader.shared.rfidSessionStatus = status;
455
224
  }
456
225
 
457
- - (void) recognizeImages:(NSArray*)input :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
458
- NSMutableArray<UIImage*>* images = [[NSMutableArray alloc] init];
459
- for(__strong NSMutableString* base64 in input)
460
- [images addObject:[RGLWJSONConstructor imageWithBase64:base64]];
461
- dispatch_async(dispatch_get_main_queue(), ^{
462
- [RGLDocReader.shared recognizeImages:images completion:[self getCompletion]];
463
- });
464
-
226
+ - (void) getTag:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
227
+ successCallback([RGLDocReader.shared tag]);
465
228
  }
466
229
 
467
- - (void) recognizeImagesWithImageInputs:(NSArray*)input :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
468
- NSMutableArray<RGLImageInput*>* images = [[NSMutableArray alloc] init];
469
- for(__strong NSDictionary* image in input)
470
- [images addObject:[RGLWJSONConstructor RGLImageInputFromJson: image]];
471
- dispatch_async(dispatch_get_main_queue(), ^{
472
- [RGLDocReader.shared recognizeImagesWithImageInputs:images completion:[self getCompletion]];
473
- });
230
+ - (void) setTag:(NSString*)tag :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
231
+ [RGLDocReader.shared setTag:tag];
474
232
  }
475
233
 
476
- - (void) recognizeImageWithCameraMode:(NSMutableString*)base64 :(BOOL)cameraMode :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
477
- [self recognizeImageWith :base64 :cameraMode :successCallback :errorCallback];
234
+ - (void) getFunctionality:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
235
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getFunctionality: RGLDocReader.shared.functionality]]);
478
236
  }
479
237
 
480
- - (void) recognizeImageWith:(NSMutableString*)base64 :(BOOL)cameraMode :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
481
- dispatch_async(dispatch_get_main_queue(), ^{
482
- [RGLDocReader.shared recognizeImage:[RGLWJSONConstructor imageWithBase64:base64] cameraMode:cameraMode completion:[self getCompletion]];
483
- });
238
+ - (void) setFunctionality:(NSDictionary*)functionality :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
239
+ [RGLWConfig setFunctionality:functionality :RGLDocReader.shared.functionality];
240
+ successCallback(@"");
484
241
  }
485
242
 
486
- - (void) setConfig:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
487
- [RGLWRegulaConfig setConfig:config :RGLDocReader.shared];
488
- [self result:@"" :successCallback];
243
+ - (void) getProcessParams:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
244
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getProcessParams:RGLDocReader.shared.processParams]]);
489
245
  }
490
246
 
491
- - (void) getConfig:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
492
- [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:[RGLWRegulaConfig getConfig:RGLDocReader.shared] options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
247
+ - (void) setProcessParams:(NSDictionary*)processParams :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
248
+ [RGLWConfig setProcessParams:processParams :RGLDocReader.shared.processParams];
249
+ successCallback(@"");
493
250
  }
494
251
 
495
- - (void) checkDatabaseUpdate:(NSString*)databaseId :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
496
- [RGLDocReader.shared checkDatabaseUpdate:databaseId completion:[self getCheckDatabaseUpdateCompletion: successCallback: errorCallback]];
252
+ - (void) getCustomization:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
253
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getCustomization :RGLDocReader.shared.customization]]);
497
254
  }
498
255
 
499
- - (void) getTag:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
500
- [self result:[RGLDocReader.shared tag] :successCallback];
256
+ - (void) setCustomization:(NSDictionary*)customization :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
257
+ [RGLWConfig setCustomization:customization :RGLDocReader.shared.customization];
258
+ successCallback(@"");
501
259
  }
502
260
 
503
- - (void) setTag:(NSString*)tag :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
504
- [RGLDocReader.shared setTag:tag];
505
- [self result:@"" :successCallback];
261
+ - (void) getRfidScenario:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
262
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getRfidScenario:RGLDocReader.shared.rfidScenario]]);
506
263
  }
507
264
 
508
265
  - (void) setRfidScenario:(NSDictionary*)rfidScenario :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
509
- [RGLWRegulaConfig setRfidScenario:rfidScenario :RGLDocReader.shared.rfidScenario];
510
- [self result:@"" :successCallback];
266
+ [RGLWConfig setRfidScenario:rfidScenario :RGLDocReader.shared.rfidScenario];
511
267
  }
512
268
 
513
- - (void) getRfidScenario:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
514
- [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:RGLDocReader.shared.rfidScenario.rfidScenarioDictionary options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
515
- }
516
-
517
- - (void) readRFID:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
518
- [RGLDocReader.shared readRFID:[self getRFIDNotificationCallback] completion:[self getRFIDCompletion]];
269
+ - (void) resetConfiguration:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
270
+ RGLDocReader.shared.functionality = [RGLFunctionality new];
271
+ RGLDocReader.shared.processParams = [RGLProcessParams new];
272
+ RGLDocReader.shared.customization = [RGLCustomization new];
273
+ RGLDocReader.shared.rfidScenario = [RGLRFIDScenario new];
274
+ RGLDocReader.shared.functionality.recordScanningProcessDelegate = self;
275
+ RGLDocReader.shared.customization.actionDelegate = self;
519
276
  }
520
277
 
521
- - (void) stopRFIDReader:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
522
- [RGLDocReader.shared stopRFIDReader:^(){[self result:@"" :successCallback];}];
278
+ - (void) initializeReader:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
279
+ [RGLDocReader.shared initializeReaderWithConfig:[RGLWJSONConstructor configFromJson:config] completion:[self getInitCompletion :successCallback :errorCallback]];
523
280
  }
524
281
 
525
- - (void) clearPKDCertificates:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
526
- [RGLDocReader.shared clearPKDCertificates];
527
- [self result:@"" :successCallback];
282
+ - (void) initializeReaderAutomatically:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
283
+ NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"regula.license" ofType:nil];
284
+ NSData *licenseData = [NSData dataWithContentsOfFile:dataPath];
285
+ [RGLDocReader.shared initializeReaderWithConfig:[RGLConfig configWithLicenseData:licenseData] completion:[self getInitCompletion :successCallback :errorCallback]];
528
286
  }
529
287
 
530
- - (void) addPKDCertificates:(NSArray*)input :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
531
- NSMutableArray *certificates = [[NSMutableArray alloc] init];
532
- for(NSDictionary* certificateJSON in input)
533
- [certificates addObject:[RGLWJSONConstructor RGLPKDCertificateFromJson:certificateJSON]];
534
- [RGLDocReader.shared addPKDCertificates:certificates];
535
- [self result:@"" :successCallback];
288
+ - (void) initializeReaderWithBleDeviceConfig:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
289
+ errorCallback(@"initializeReaderWithBleDeviceConfig() is an android-only method");
536
290
  }
537
291
 
538
292
  - (void) deinitializeReader:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
539
293
  [RGLDocReader.shared deinitializeReader];
540
- [self result:@"" :successCallback];
294
+ successCallback(@"");
541
295
  }
542
296
 
543
- - (void) selectedScenario:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
544
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLScenario:RGLDocReader.shared.selectedScenario]] :successCallback];
297
+ - (void) prepareDatabase:(NSString*)databaseID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
298
+ [RGLDocReader.shared prepareDatabase:databaseID progressHandler:[self getProgressHandler] completion:[self getPrepareCompletion :successCallback :errorCallback]];
545
299
  }
546
300
 
547
- - (void) stopScanner:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
548
- dispatch_async(dispatch_get_main_queue(), ^{
549
- [RGLDocReader.shared stopScanner:^(){
550
- [self result:@"" :successCallback];
551
- }];
552
- });
301
+ - (void) removeDatabase:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
302
+ [RGLDocReader.shared removeDatabase:^(BOOL success, NSError * _Nullable error) {
303
+ successCallback(success ? @YES : @NO);
304
+ }];
553
305
  }
554
306
 
555
- - (void) startNewSession:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
556
- [RGLDocReader.shared startNewSession];
557
- [self result:@"" :successCallback];
307
+ -(void) runAutoUpdate:(NSString*)databaseID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
308
+ [RGLDocReader.shared runAutoUpdate:databaseID progressHandler:[self getProgressHandler] completion:[self getPrepareCompletion :successCallback :errorCallback]];
558
309
  }
559
310
 
560
- - (void) startNewPage:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
561
- [RGLDocReader.shared startNewPage];
562
- [self result:@"" :successCallback];
311
+ - (void) cancelDBUpdate:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
312
+ [RGLDocReader.shared cancelDBUpdate];
313
+ successCallback(@"");
314
+ }
315
+
316
+ - (void) checkDatabaseUpdate:(NSString*)databaseID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
317
+ [RGLDocReader.shared checkDatabaseUpdate:databaseID completion:^(RGLDocReaderDocumentsDatabase* database) {
318
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocReaderDocumentsDatabase:database]]);
319
+ }];
563
320
  }
564
321
 
565
322
  - (void) scan:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
@@ -568,310 +325,361 @@ RCT_EXPORT_METHOD(exec:(NSString*)moduleName:(NSString*)action:(NSArray*)args:(R
568
325
  [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
569
326
  #pragma clang diagnostic pop
570
327
  UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
571
- [RGLDocReader.shared showScannerFromPresenter:currentViewController config:[RGLWJSONConstructor RGLScannerConfigFromJson:config] completion:[self getCompletion]];
328
+ [RGLDocReader.shared showScannerFromPresenter:currentViewController config:[RGLWJSONConstructor scannerConfigFromJson:config] completion:[self getCompletion]];
572
329
  });
573
330
  }
574
331
 
575
332
  - (void) recognize:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
576
- UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
577
- [RGLDocReader.shared recognizeImageFromPresenter:currentViewController config:[RGLWJSONConstructor RGLRecognizeConfigFromJson:config] completion:[self getCompletion]];
578
- }
579
-
580
- - (void) getDocumentReaderIsReady:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
581
- [self result:[RGLDocReader.shared isDocumentReaderIsReady] ? @YES : @NO :successCallback];
582
- }
583
-
584
- - (void) getAPIVersion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
585
- [self result:RGLDocReader.shared.version.api :successCallback];
586
- }
587
-
588
- - (void) getCoreVersion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
589
- [self result:RGLDocReader.shared.version.core :successCallback];
590
- }
591
-
592
- - (void) getCoreMode:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
593
- [self result:RGLDocReader.shared.version.coreMode :successCallback];
594
- }
595
-
596
- - (void) getDatabaseID:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
597
- [self result:RGLDocReader.shared.version.database.databaseID :successCallback];
598
- }
599
-
600
- - (void) getDatabaseVersion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
601
- [self result:RGLDocReader.shared.version.database.version :successCallback];
333
+ dispatch_async(dispatch_get_main_queue(), ^{
334
+ UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
335
+ [RGLDocReader.shared recognizeImageFromPresenter:currentViewController config:[RGLWJSONConstructor recognizeConfigFromJson:config] completion:[self getCompletion]];
336
+ });
602
337
  }
603
338
 
604
- - (void) getDatabaseDate:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
605
- [self result:RGLDocReader.shared.version.database.date :successCallback];
339
+ - (void) startNewPage:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
340
+ [RGLDocReader.shared startNewPage];
341
+ successCallback(@"");
606
342
  }
607
343
 
608
- - (void) getDatabaseDescription:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
609
- [self result:RGLDocReader.shared.version.database.databaseDescription :successCallback];
344
+ - (void) stopScanner:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
345
+ dispatch_async(dispatch_get_main_queue(), ^{
346
+ [RGLDocReader.shared stopScanner:^(){
347
+ successCallback(@"");
348
+ }];
349
+ });
610
350
  }
611
351
 
612
- - (void) getDatabaseCountriesNumber:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
613
- [self result:[NSNumber numberWithInteger:RGLDocReader.shared.version.database.countriesNumber] :successCallback];
352
+ - (void) startRFIDReader:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig :(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
353
+ self.doRequestPACertificates = paCert;
354
+ self.doRequestTACertificates = taCert;
355
+ self.doRequestTASignature = taSig;
356
+ dispatch_async(dispatch_get_main_queue(), ^{
357
+ [RGLDocReader.shared startRFIDReaderFromPresenter:UIApplication.sharedApplication.keyWindow.rootViewController completion:[self getCompletion]];
358
+ });
614
359
  }
615
360
 
616
- - (void) getDatabaseDocumentsNumber:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
617
- [self result:[NSNumber numberWithInteger:RGLDocReader.shared.version.database.documentsNumber] :successCallback];
361
+ - (void) readRFID:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig :(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
362
+ self.doRequestPACertificates = paCert;
363
+ self.doRequestTACertificates = taCert;
364
+ self.doRequestTASignature = taSig;
365
+ [RGLDocReader.shared readRFID:^(RGLRFIDNotificationAction notificationAction, RGLRFIDNotify* _Nullable notification) {
366
+ if(notification != nil) sendEvent(RGLWRfidOnProgressEvent, [RGLWJSONConstructor generateDocumentReaderNotification:notification]);
367
+ } completion:^(RGLRFIDCompleteAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error, RGLRFIDErrorCodes errorCode) {
368
+ sendEvent(RGLWCompletionEvent, [RGLWJSONConstructor generateCompletion:[RGLWConfig generateRFIDCompleteAction: action] :results :error]);
369
+ }];
618
370
  }
619
371
 
620
- - (void) getLicenseExpiryDate:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
621
- NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
622
- [formatter setFormatterBehavior:NSDateFormatterBehaviorDefault];
623
- [formatter setDateStyle:NSDateFormatterShortStyle];
624
- [formatter setTimeStyle:NSDateFormatterNoStyle];
625
- [self result:[formatter stringFromDate:RGLDocReader.shared.license.expiryDate] :successCallback];
372
+ - (void) stopRFIDReader:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
373
+ [RGLDocReader.shared stopRFIDReader:^(){successCallback(@"");}];
626
374
  }
627
375
 
628
- - (void) getLicenseCountryFilter:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
629
- if(RGLDocReader.shared.license.countryFilter == nil)
630
- [self result:@"nil" :successCallback];
631
- else
632
- [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:RGLDocReader.shared.license.countryFilter options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
376
+ - (void) providePACertificates:(NSArray*)certificates :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
377
+ if(paCertificateCompletion == nil) {
378
+ errorCallback(@"paCertificateCompletion is nil");
379
+ return;
380
+ }
381
+ NSMutableArray *certificatesMutable = [NSMutableArray new];
382
+ for(NSDictionary* certificateJSON in certificates)
383
+ [certificatesMutable addObject:[RGLWJSONConstructor pkdCertificateFromJson:certificateJSON]];
384
+ paCertificateCompletion(certificatesMutable);
385
+ successCallback(@"");
633
386
  }
634
387
 
635
- - (void) licenseIsRfidAvailable:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
636
- [self result:RGLDocReader.shared.license.isRfidAvailable ? @YES : @NO :successCallback];
388
+ - (void) provideTACertificates:(NSArray*)certificates :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
389
+ if(taCertificateCompletion == nil) {
390
+ errorCallback(@"taCertificateCompletion is nil");
391
+ return;
392
+ }
393
+ NSMutableArray *certificatesMutable = [NSMutableArray new];
394
+ for(NSDictionary* certificateJSON in certificates)
395
+ [certificatesMutable addObject:[RGLWJSONConstructor pkdCertificateFromJson:certificateJSON]];
396
+ taCertificateCompletion(certificatesMutable);
397
+ successCallback(@"");
637
398
  }
638
399
 
639
- - (void) getDocumentReaderStatus:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
640
- [self result:RGLDocReader.shared.documentReaderStatus :successCallback];
400
+ - (void) provideTASignature:(NSString*)signature :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
401
+ if(taSignatureCompletion == nil) {
402
+ errorCallback(@"taSignatureCompletion is nil");
403
+ return;
404
+ }
405
+ taSignatureCompletion([RGLWJSONConstructor base64Decode:signature]);
406
+ successCallback(@"");
641
407
  }
642
408
 
643
409
  - (void) setTCCParams:(NSDictionary*)params :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
644
- [RGLDocReader.shared setTCCParams:[RGLWJSONConstructor RGLTCCParamsFromJson:params] completion:[self getTCCParamsCompletion:successCallback :errorCallback]];
645
- }
646
-
647
- - (void) getRfidSessionStatus:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
648
- [self result:RGLDocReader.shared.rfidSessionStatus :successCallback];
649
- }
650
-
651
- - (void) setRfidSessionStatus:(NSString*)status :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
652
- RGLDocReader.shared.rfidSessionStatus = status;
653
- [self result:@"" :successCallback];
410
+ [RGLDocReader.shared setTCCParams:[RGLWJSONConstructor tccParamsFromJson:params] completion:^(BOOL success, NSError * _Nullable error) {
411
+ successCallback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
412
+ }];
654
413
  }
655
414
 
656
- - (void) getCurrentScenario:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
657
- [self result:RGLDocReader.shared.processParams.scenario :successCallback];
415
+ - (void) addPKDCertificates:(NSArray*)certificates :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
416
+ NSMutableArray *certificatesMutable = [NSMutableArray new];
417
+ for(NSDictionary* certificateJSON in certificates)
418
+ [certificatesMutable addObject:[RGLWJSONConstructor pkdCertificateFromJson:certificateJSON]];
419
+ [RGLDocReader.shared addPKDCertificates:certificatesMutable];
420
+ successCallback(@"");
658
421
  }
659
422
 
660
- - (void) getCameraSessionIsPaused:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
661
- [self result:RGLDocReader.shared.isCameraSessionIsPaused ? @YES : @NO :successCallback];
423
+ - (void) clearPKDCertificates:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
424
+ [RGLDocReader.shared clearPKDCertificates];
425
+ successCallback(@"");
662
426
  }
663
427
 
664
- - (void) setCameraSessionIsPaused:(BOOL)paused :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
665
- RGLDocReader.shared.cameraSessionIsPaused = paused;
666
- [self result:@"" :successCallback];
428
+ - (void) startNewSession:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
429
+ [RGLDocReader.shared startNewSession];
430
+ successCallback(@"");
667
431
  }
668
432
 
669
- - (void) isRFIDAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
670
- [self result:RGLDocReader.shared.isRFIDAvailableForUse ? @YES : @NO :successCallback];
433
+ - (void) startBluetoothService:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
434
+ errorCallback(@"startBluetoothService() is an android-only method");
671
435
  }
672
436
 
673
- - (void) isAuthenticatorAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
674
- [self result:RGLDocReader.shared.isAuthenticatorAvailableForUse ? @YES : @NO :successCallback];
437
+ - (void) setLocalizationDictionary:(NSDictionary*)dictionary :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
438
+ RGLDocReader.shared.localizationHandler = ^NSString * _Nullable(NSString * _Nonnull localizationKey) {
439
+ if(dictionary != nil && ![dictionary isEqual:[NSNull null]] && [dictionary valueForKey:localizationKey] != nil)
440
+ return [dictionary valueForKey:localizationKey];
441
+ return nil;
442
+ };
443
+ successCallback(@"");
675
444
  }
676
445
 
677
- - (void) getSessionLogFolder:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
678
- [self result:RGLDocReader.shared.processParams.sessionLogFolder :successCallback];
446
+ - (void) getLicense:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
447
+ successCallback([RGLWJSONConstructor generateLicense:RGLDocReader.shared.license]);
679
448
  }
680
449
 
681
- - (void) providePACertificates:(NSArray*)input :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
682
- if(RGLWPaCertificateCompletion == nil){
683
- [self result:@"paCertificateCompletion is nil" :errorCallback];
684
- return;
685
- }
686
- NSMutableArray *certificates = [[NSMutableArray alloc] init];
687
- for(NSDictionary* certificateJSON in input)
688
- [certificates addObject:[RGLWJSONConstructor RGLPKDCertificateFromJson:certificateJSON]];
689
- RGLWPaCertificateCompletion(certificates);
690
- [self result:@"" :successCallback];
450
+ - (void) getAvailableScenarios:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
451
+ NSMutableArray *availableScenarios = [NSMutableArray new];
452
+ for(RGLScenario *scenario in RGLDocReader.shared.availableScenarios)
453
+ [availableScenarios addObject:[RGLWJSONConstructor generateScenario:scenario]];
454
+ successCallback([RGLWJSONConstructor arrayToString:availableScenarios]);
691
455
  }
692
456
 
693
- - (void) provideTACertificates:(NSArray*)input :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
694
- if(RGLWTaCertificateCompletion == nil){
695
- [self result:@"taCertificateCompletion is nil" :errorCallback];
696
- return;
697
- }
698
- NSMutableArray *certificates = [[NSMutableArray alloc] init];
699
- for(NSDictionary* certificateJSON in input)
700
- [certificates addObject:[RGLWJSONConstructor RGLPKDCertificateFromJson:certificateJSON]];
701
- RGLWTaCertificateCompletion(certificates);
702
- [self result:@"" :successCallback];
457
+ - (void) getIsRFIDAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
458
+ successCallback(RGLDocReader.shared.isRFIDAvailableForUse ? @YES : @NO);
703
459
  }
704
460
 
705
- - (void) provideTASignature:(NSString*)input :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
706
- if(RGLWTaSignatureCompletion == nil){
707
- [self result:@"taSignatureCompletion is nil" :errorCallback];
708
- return;
709
- }
710
- RGLWTaSignatureCompletion([[NSData alloc] initWithBase64EncodedString:input options:0]);
711
- [self result:@"" :successCallback];
712
- }
713
-
714
- - (void) setRfidDelegate:(NSNumber*)input :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
715
- switch([input integerValue]){
716
- case 0:
717
- [RGLDocReader shared].rfidDelegate = nil;
718
- break;
719
- case 1:
720
- if(RGLWRfidDelegateNoPA == nil)
721
- RGLWRfidDelegateNoPA = [RGLWRFIDDelegateNoPA new];
722
- [RGLDocReader shared].rfidDelegate = RGLWRfidDelegateNoPA;
723
- break;
724
- case 2:
725
- [RGLDocReader shared].rfidDelegate = self;
726
- break;
727
- default:
728
- [self result:@"wrong input" :errorCallback];
729
- return;
730
- }
731
-
732
- [self result:@"" :successCallback];
461
+ - (void) getDocReaderVersion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
462
+ successCallback([RGLWJSONConstructor generateDocReaderVersion:RGLDocReader.shared.version]);
733
463
  }
734
464
 
735
- - (void) getAvailableScenarios:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
736
- NSMutableArray *availableScenarios = [[NSMutableArray alloc] init];
737
- for(RGLScenario *scenario in RGLDocReader.shared.availableScenarios)
738
- [availableScenarios addObject:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLScenario:scenario]]];
739
- [self result:[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:availableScenarios options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding] :successCallback];
465
+ - (void) getDocReaderDocumentsDatabase:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
466
+ if(RGLDocReader.shared.version != nil)
467
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocReaderDocumentsDatabase:RGLDocReader.shared.version.database]]);
468
+ else
469
+ successCallback(nil);
740
470
  }
741
471
 
742
472
  - (void) textFieldValueByType:(NSString*)rawResult :(NSNumber*)fieldType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
743
473
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
744
- [self result:[results getTextFieldValueByType:[fieldType integerValue]] :successCallback];
474
+ successCallback([results getTextFieldValueByType:[fieldType integerValue]]);
745
475
  }
746
476
 
747
477
  - (void) textFieldValueByTypeLcid:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
748
478
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
749
- [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue]] :successCallback];
479
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue]]);
750
480
  }
751
481
 
752
482
  - (void) textFieldValueByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
753
483
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
754
- [self result:[results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue]] :successCallback];
484
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue]]);
755
485
  }
756
486
 
757
487
  - (void) textFieldValueByTypeLcidSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
758
488
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
759
- [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue]] :successCallback];
489
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue]]);
760
490
  }
761
491
 
762
492
  - (void) textFieldValueByTypeSourceOriginal:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(BOOL)original :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
763
493
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
764
- [self result:[results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue] original:original] :successCallback];
494
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue] original:original]);
765
495
  }
766
496
 
767
497
  - (void) textFieldValueByTypeLcidSourceOriginal:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(NSNumber*)source :(BOOL)original :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
768
498
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
769
- [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue] original:original] :successCallback];
499
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue] original:original]);
770
500
  }
771
501
 
772
502
  - (void) textFieldByType:(NSString*)rawResult :(NSNumber*)fieldType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
773
503
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
774
504
  RGLDocumentReaderTextField* result = [results getTextFieldByType:[fieldType integerValue]];
775
505
  if(result == nil)
776
- [self result:nil :successCallback];
777
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderTextField:result]] :successCallback];
506
+ successCallback(nil);
507
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderTextField:result]]);
778
508
  }
779
509
 
780
510
  - (void) textFieldByTypeLcid:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
781
511
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
782
512
  RGLDocumentReaderTextField* result = [results getTextFieldByType:[fieldType integerValue] lcid:[lcid integerValue]];
783
513
  if(result == nil)
784
- [self result:nil :successCallback];
785
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderTextField:result]] :successCallback];
514
+ successCallback(nil);
515
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderTextField:result]]);
786
516
  }
787
517
 
788
518
  - (void) graphicFieldByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
789
519
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
790
520
  RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue]];
791
521
  if(result == nil)
792
- [self result:nil :successCallback];
793
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
522
+ successCallback(nil);
523
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderGraphicField:result]]);
794
524
  }
795
525
 
796
526
  - (void) graphicFieldByTypeSourcePageIndex:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
797
527
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
798
528
  RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]];
799
529
  if(result == nil)
800
- [self result:nil :successCallback];
801
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
530
+ successCallback(nil);
531
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderGraphicField:result]]);
802
532
  }
803
533
 
804
534
  - (void) graphicFieldByTypeSourcePageIndexLight:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(NSNumber*)light :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
805
535
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
806
536
  RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]];
807
537
  if(result == nil)
808
- [self result:nil :successCallback];
809
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
538
+ successCallback(nil);
539
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderGraphicField:result]]);
810
540
  }
811
541
 
812
542
  - (void) graphicFieldImageByType:(NSString*)rawResult :(NSNumber*)fieldType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
813
543
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
814
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue]]] :successCallback];
544
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue]]]);
815
545
  }
816
546
 
817
547
  - (void) graphicFieldImageByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
818
548
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
819
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue]]] :successCallback];
549
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue]]]);
820
550
  }
821
551
 
822
552
  - (void) graphicFieldImageByTypeSourcePageIndex:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
823
553
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
824
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]]] :successCallback];
554
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]]]);
825
555
  }
826
556
 
827
557
  - (void) graphicFieldImageByTypeSourcePageIndexLight:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(NSNumber*)light :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
828
558
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
829
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]]] :successCallback];
559
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]]]);
830
560
  }
831
561
 
832
562
  - (void) containers:(NSString*)rawResult :(NSArray<NSNumber*>*)resultType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
833
563
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
834
- [self result:[results getContainersByResultTypes:resultType] :successCallback];
564
+ successCallback([results getContainersByResultTypes:resultType]);
835
565
  }
836
566
 
837
567
  - (void) encryptedContainers:(NSString*)rawResult :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
838
568
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
839
- [self result:[results getEncryptedContainers] :successCallback];
569
+ successCallback([results getEncryptedContainers]);
840
570
  }
841
571
 
842
- -(RGLDocumentReaderInitializationCompletion)getInitCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
843
- return ^(BOOL successful, NSError * _Nullable error ) {
844
- if (successful){
845
- [RGLDocReader shared].functionality.recordScanningProcessDelegate = self;
846
- RGLDocReader.shared.customization.actionDelegate = self;
847
- [self result:@"init complete" :successCallback];
848
- }else
849
- [self result:[NSString stringWithFormat:@"%@/%@", @"init failed: ", error.description] :errorCallback];
572
+ - (void) finalizePackage:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
573
+ [RGLDocReader.shared finalizePackageWithCompletion:^(RGLDocReaderAction action, RGLTransactionInfo* info, NSError* error){
574
+ successCallback([RGLWJSONConstructor generateFinalizePackageCompletion:[RGLWConfig generateDocReaderAction: action] :info :error]);
575
+ }];
576
+ }
577
+
578
+ - (void) getTranslation:(NSString*)className :(NSNumber*)value :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
579
+ if([className isEqualToString:@"RFIDErrorCodes"])
580
+ successCallback(RGLRFIDErrorCodesGetStringValue([value intValue]));
581
+ else if([className isEqualToString:@"LDSParsingErrorCodes"])
582
+ successCallback(eLDS_ParsingErrorCodesGetStringValue([value intValue]));
583
+ else if([className isEqualToString:@"LDSParsingNotificationCodes"])
584
+ successCallback(eLDS_ParsingNotificationCodesGetStringValue([value intValue]));
585
+ else if([className isEqualToString:@"ImageQualityCheckType"])
586
+ successCallback(RGLImageQualityCheckTypeGetStringValue([RGLWConfig imageQualityCheckTypeWithNumber:value]));
587
+ else if([className isEqualToString:@"RFIDDataFileType"])
588
+ successCallback(RGLRFIDDataFileTypeGetStringValue([value intValue]));
589
+ else if([className isEqualToString:@"VisualFieldType"])
590
+ successCallback(RGLFieldTypeGetStringValue([value intValue]));
591
+ else if([className isEqualToString:@"LCID"])
592
+ successCallback([RGLDocumentReaderTextField lcidName:[value intValue]]);
593
+ }
594
+
595
+ -(RGLDocumentReaderCompletion _Nonnull)getCompletion {
596
+ return ^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
597
+ sendEvent(RGLWCompletionEvent, [RGLWJSONConstructor generateCompletion:[RGLWConfig generateDocReaderAction: action] :results :error]);
850
598
  };
851
599
  }
852
600
 
853
- -(RGLDocumentReaderPrepareCompletion _Nonnull)getPrepareCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
854
- return ^(BOOL successful, NSError * _Nullable error) {
855
- if (successful)
856
- [self result:@"database prepared" :successCallback];
857
- else
858
- [self result:[NSString stringWithFormat:@"%@/%@", @"database preparation failed: ", error.description] :errorCallback];
601
+ -(RGLDocumentReaderPrepareCompletion _Nonnull)getPrepareCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
602
+ return ^(BOOL success, NSError * _Nullable error) {
603
+ successCallback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
859
604
  };
860
605
  }
861
606
 
862
- -(void (^_Nullable)(BOOL success, NSError * _Nullable error))getTCCParamsCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
863
- return ^(BOOL success, NSError * _Nullable error) {
864
- if (success)
865
- [self result:@"success" :successCallback];
866
- else
867
- [self result:[NSString stringWithFormat:@"%@/%@", @"failed: ", error.description] :errorCallback];
607
+ -(void (^_Nullable)(NSProgress * _Nonnull progress))getProgressHandler {
608
+ return ^(NSProgress * _Nonnull progress) {
609
+ if(RNRegulaDocumentReader.databasePercentageDownloaded != [NSNumber numberWithDouble:progress.fractionCompleted * 100]){
610
+ sendEvent(RGLWDatabaseProgressEvent, [NSNumber numberWithInt:(int)(progress.fractionCompleted * 100)]);
611
+ [RNRegulaDocumentReader setDatabasePercentageDownloaded:[NSNumber numberWithDouble:progress.fractionCompleted * 100]];
612
+ }
868
613
  };
869
614
  }
870
615
 
871
- -(RGLDocumentReaderCheckUpdateCompletion)getCheckDatabaseUpdateCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
872
- return ^(RGLDocReaderDocumentsDatabase* database) {
873
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocReaderDocumentsDatabase:database]] :successCallback];
616
+ -(RGLDocumentReaderInitializationCompletion)getInitCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
617
+ return ^(BOOL success, NSError * _Nullable error ) {
618
+ if (success) {
619
+ RGLDocReader.shared.rfidDelegate = self;
620
+ RGLDocReader.shared.functionality.recordScanningProcessDelegate = self;
621
+ RGLDocReader.shared.customization.actionDelegate = self;
622
+ }
623
+ successCallback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
874
624
  };
875
625
  }
876
626
 
627
+ // RGLCustomizationActionDelegate
628
+ - (void)onCustomButtonTappedWithTag:(NSInteger)tag {
629
+ sendEvent(RGLWOnCustomButtonTappedEvent, [NSNumber numberWithInteger:tag]);
630
+ }
631
+
632
+ // RGLRecordScanningProcessDelegate
633
+ - (void)didFinishRecordingToFile:(NSURL *)fileURL {
634
+ sendEvent(RGLWVideoEncoderCompletionEvent, fileURL.absoluteString);
635
+ }
636
+
637
+ - (void)didFailWithError:(NSError *)error {
638
+ // ignore error to match android
639
+ }
640
+
641
+ RGLRFIDCertificatesCallback paCertificateCompletion;
642
+ RGLRFIDCertificatesCallback taCertificateCompletion;
643
+ RGLWRFIDSignatureCallback taSignatureCompletion;
644
+
645
+ - (void)onRequestPACertificatesWithSerial:(NSData *)serialNumber issuer:(RGLPAResourcesIssuer *)issuer callback:(RGLRFIDCertificatesCallback)callback {
646
+ if([self.doRequestPACertificates boolValue]) {
647
+ paCertificateCompletion = callback;
648
+ sendEvent(RGLWPaCertificateCompletionEvent, [RGLWJSONConstructor generatePACertificateCompletion:serialNumber :issuer]);
649
+ } else {
650
+ paCertificateCompletion = nil;
651
+ callback(nil);
652
+ }
653
+ }
654
+
655
+ - (void)onRequestTACertificatesWithKey:(NSString *)keyCAR callback:(RGLRFIDCertificatesCallback)callback {
656
+ if([self.doRequestTACertificates boolValue]) {
657
+ taCertificateCompletion = callback;
658
+ sendEvent(RGLWTaCertificateCompletionEvent, keyCAR);
659
+ } else {
660
+ taCertificateCompletion = nil;
661
+ callback(nil);
662
+ }
663
+ }
664
+
665
+ - (void)onRequestTASignatureWithChallenge:(RGLTAChallenge *)challenge callback:(void(^)(NSData *signature))callback {
666
+ if([self.doRequestTASignature boolValue]) {
667
+ taSignatureCompletion = callback;
668
+ sendEvent(RGLWTaSignatureCompletionEvent, [RGLWJSONConstructor dictToString: [RGLWJSONConstructor generateTAChallenge:challenge]]);
669
+ } else {
670
+ taSignatureCompletion = nil;
671
+ callback(nil);
672
+ }
673
+ }
674
+
675
+ - (void)didChipConnected {
676
+ sendEvent(RGLWRfidOnChipDetectedEvent, @"");
677
+ }
678
+
679
+ - (void)didReceivedError:(RGLRFIDErrorCodes)errorCode {
680
+ NSMutableDictionary *result = [NSMutableDictionary new];
681
+ result[@"code"] = [NSNumber numberWithInteger:errorCode];
682
+ sendEvent(RGLWRfidOnRetryReadChipEvent, [RGLWJSONConstructor dictToString:result]);
683
+ }
684
+
877
685
  @end