@regulaforensics/react-native-document-reader-api 6.9.1 → 7.2.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 (51) 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 +692 -0
  6. package/android/src/main/java/com/regula/documentreader/JSONConstructor.kt +2198 -0
  7. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderModule.kt +535 -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 +261 -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 +2 -2
  18. package/example/index.js +1 -2
  19. package/example/ios/DocumentReader.xcodeproj/project.pbxproj +8 -4
  20. package/example/ios/Podfile +2 -21
  21. package/example/package-lock.json +3444 -2439
  22. package/example/package.json +28 -28
  23. package/example/react-native.config.js +5 -0
  24. package/index.d.ts +1375 -446
  25. package/index.js +843 -272
  26. package/ios/RGLWConfig.h +48 -0
  27. package/ios/RGLWConfig.m +1312 -0
  28. package/ios/RGLWJSONConstructor.h +173 -69
  29. package/ios/RGLWJSONConstructor.m +1832 -786
  30. package/ios/RNRegulaDocumentReader.h +10 -9
  31. package/ios/RNRegulaDocumentReader.m +388 -587
  32. package/package.json +1 -1
  33. package/android/src/main/java/com/regula/documentreader/Helpers.java +0 -259
  34. package/android/src/main/java/com/regula/documentreader/JSONConstructor.java +0 -1119
  35. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderModule.java +0 -1153
  36. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderPackage.java +0 -26
  37. package/android/src/main/java/com/regula/documentreader/RegulaConfig.java +0 -830
  38. package/example/.bundle/config +0 -2
  39. package/example/.eslintrc.js +0 -4
  40. package/example/.prettierrc.js +0 -7
  41. package/example/Gemfile +0 -6
  42. package/example/Gemfile.lock +0 -98
  43. package/example/__tests__/App.test.tsx +0 -17
  44. package/example/app.json +0 -4
  45. package/example/babel.config.js +0 -3
  46. package/example/jest.config.js +0 -3
  47. package/example/tsconfig.json +0 -3
  48. package/ios/RGLWRegulaConfig.h +0 -26
  49. package/ios/RGLWRegulaConfig.m +0 -1152
  50. package/ios/RNRegulaDocumentReader.xcodeproj/project.pbxproj +0 -304
  51. 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,116 @@ 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:@"initializeReaderWithBleDeviceConfig"])
81
+ [self initializeReaderWithBleDeviceConfig :[args objectAtIndex:0] :successCallback :errorCallback];
82
+ else if([action isEqualToString:@"deinitializeReader"])
83
+ [self deinitializeReader :successCallback :errorCallback];
84
+ else if([action isEqualToString:@"prepareDatabase"])
85
+ [self prepareDatabase :[args objectAtIndex:0] :successCallback :errorCallback];
230
86
  else if([action isEqualToString:@"removeDatabase"])
231
87
  [self removeDatabase :successCallback :errorCallback];
88
+ else if([action isEqualToString:@"runAutoUpdate"])
89
+ [self runAutoUpdate :[args objectAtIndex:0] :successCallback :errorCallback];
232
90
  else if([action isEqualToString:@"cancelDBUpdate"])
233
91
  [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
92
  else if([action isEqualToString:@"checkDatabaseUpdate"])
253
93
  [self checkDatabaseUpdate :[args objectAtIndex:0] :successCallback :errorCallback];
254
94
  else if([action isEqualToString:@"scan"])
255
95
  [self scan :[args objectAtIndex:0] :successCallback :errorCallback];
256
96
  else if([action isEqualToString:@"recognize"])
257
97
  [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];
98
+ else if([action isEqualToString:@"startNewPage"])
99
+ [self startNewPage :successCallback :errorCallback];
100
+ else if([action isEqualToString:@"stopScanner"])
101
+ [self stopScanner :successCallback :errorCallback];
102
+ else if([action isEqualToString:@"startRFIDReader"])
103
+ [self startRFIDReader :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
104
+ else if([action isEqualToString:@"readRFID"])
105
+ [self readRFID :[args objectAtIndex:0] :[args objectAtIndex:1] :[args objectAtIndex:2] :successCallback :errorCallback];
106
+ else if([action isEqualToString:@"stopRFIDReader"])
107
+ [self stopRFIDReader :successCallback :errorCallback];
278
108
  else if([action isEqualToString:@"providePACertificates"])
279
109
  [self providePACertificates :[args objectAtIndex:0] :successCallback :errorCallback];
280
110
  else if([action isEqualToString:@"provideTACertificates"])
281
111
  [self provideTACertificates :[args objectAtIndex:0] :successCallback :errorCallback];
282
112
  else if([action isEqualToString:@"provideTASignature"])
283
113
  [self provideTASignature :[args objectAtIndex:0] :successCallback :errorCallback];
284
- else if([action isEqualToString:@"parseCoreResults"])
285
- [self parseCoreResults :[args objectAtIndex:0] :successCallback :errorCallback];
286
114
  else if([action isEqualToString:@"setTCCParams"])
287
115
  [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];
116
+ else if([action isEqualToString:@"addPKDCertificates"])
117
+ [self addPKDCertificates :[args objectAtIndex:0] :successCallback :errorCallback];
118
+ else if([action isEqualToString:@"clearPKDCertificates"])
119
+ [self clearPKDCertificates :successCallback :errorCallback];
120
+ else if([action isEqualToString:@"startNewSession"])
121
+ [self startNewSession :successCallback :errorCallback];
122
+ else if([action isEqualToString:@"startBluetoothService"])
123
+ [self startBluetoothService :successCallback :errorCallback];
124
+ else if([action isEqualToString:@"setLocalizationDictionary"])
125
+ [self setLocalizationDictionary :[args objectAtIndex:0] :successCallback :errorCallback];
126
+ else if([action isEqualToString:@"getLicense"])
127
+ [self getLicense :successCallback :errorCallback];
128
+ else if([action isEqualToString:@"getAvailableScenarios"])
129
+ [self getAvailableScenarios :successCallback :errorCallback];
130
+ else if([action isEqualToString:@"getIsRFIDAvailableForUse"])
131
+ [self getIsRFIDAvailableForUse :successCallback :errorCallback];
132
+ else if([action isEqualToString:@"getDocReaderVersion"])
133
+ [self getDocReaderVersion :successCallback :errorCallback];
134
+ else if([action isEqualToString:@"getDocReaderDocumentsDatabase"])
135
+ [self getDocReaderDocumentsDatabase :successCallback :errorCallback];
300
136
  else if([action isEqualToString:@"textFieldValueByType"])
301
137
  [self textFieldValueByType :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
302
138
  else if([action isEqualToString:@"textFieldValueByTypeLcid"])
@@ -331,235 +167,142 @@ RCT_EXPORT_METHOD(exec:(NSString*)moduleName:(NSString*)action:(NSArray*)args:(R
331
167
  [self containers :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
332
168
  else if([action isEqualToString:@"encryptedContainers"])
333
169
  [self encryptedContainers :[args objectAtIndex:0] :successCallback :errorCallback];
170
+ else if([action isEqualToString:@"finalizePackage"])
171
+ [self finalizePackage :successCallback :errorCallback];
172
+ else if([action isEqualToString:@"getTranslation"])
173
+ [self getTranslation :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
334
174
  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];
346
- }
347
-
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];
175
+ errorCallback([NSString stringWithFormat:@"%@/%@", @"method not implemented: ", action]);
354
176
  }
355
177
 
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
- }
178
+ NSString* RGLWCompletionEvent = @"completion";
179
+ NSString* RGLWDatabaseProgressEvent = @"database_progress";
402
180
 
403
- - (void) initializeReader:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
404
- [RGLDocReader.shared initializeReaderWithConfig:[RGLWJSONConstructor RGLConfigFromJson:config] completion:[self getInitCompletion :successCallback :errorCallback]];
405
- }
406
-
407
- - (void) parseCoreResults:(NSString*)json :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
408
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderResults:[RGLDocumentReaderResults initWithRawString: json]]] :successCallback];
409
- }
181
+ NSString* RGLWRfidOnProgressEvent = @"rfidOnProgressCompletion";
182
+ NSString* RGLWRfidOnChipDetectedEvent = @"rfidOnChipDetectedEvent";
183
+ NSString* RGLWRfidOnRetryReadChipEvent = @"rfidOnRetryReadChipEvent";
410
184
 
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
- }
185
+ NSString* RGLWPaCertificateCompletionEvent = @"pa_certificate_completion";
186
+ NSString* RGLWTaCertificateCompletionEvent = @"ta_certificate_completion";
187
+ NSString* RGLWTaSignatureCompletionEvent = @"ta_signature_completion";
416
188
 
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
- }
189
+ NSString* RGLWBleOnServiceConnectedEvent = @"bleOnServiceConnectedEvent";
190
+ NSString* RGLWBleOnServiceDisconnectedEvent = @"bleOnServiceDisconnectedEvent";
191
+ NSString* RGLWBleOnDeviceReadyEvent = @"bleOnDeviceReadyEvent";
420
192
 
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
- }];
428
- }
193
+ NSString* RGLWVideoEncoderCompletionEvent = @"video_encoder_completion";
194
+ NSString* RGLWOnCustomButtonTappedEvent = @"onCustomButtonTappedEvent";
429
195
 
430
- - (void) cancelDBUpdate:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
431
- [RGLDocReader.shared cancelDBUpdate];
432
- [self result:@"" :successCallback];
196
+ - (void) getDocumentReaderIsReady:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
197
+ successCallback([RGLDocReader.shared isDocumentReaderIsReady] ? @YES : @NO);
433
198
  }
434
199
 
435
- -(void) runAutoUpdate:(NSString*)dbID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
436
- [RGLDocReader.shared runAutoUpdate:dbID progressHandler:[self getProgressHandler :successCallback :errorCallback] completion:[self getPrepareCompletion :successCallback :errorCallback]];
200
+ - (void) getDocumentReaderStatus:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
201
+ successCallback(RGLDocReader.shared.documentReaderStatus);
437
202
  }
438
203
 
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
- });
204
+ - (void) isAuthenticatorAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
205
+ successCallback(RGLDocReader.shared.isAuthenticatorAvailableForUse ? @YES : @NO);
447
206
  }
448
207
 
449
- - (void) recognizeImage:(NSMutableString*)base64 :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
450
- [self recognizeImageWith :base64 :false :successCallback :errorCallback];
208
+ - (void) isBlePermissionsGranted:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
209
+ errorCallback(@"isBlePermissionsGranted() is an android-only method");
451
210
  }
452
211
 
453
- - (void) recognizeData:(NSString*)data :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
454
- [RGLDocReader.shared recognizeData :[[NSData alloc] initWithBase64EncodedString:data options:0] completion:[self getCompletion]];
212
+ - (void) getRfidSessionStatus:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
213
+ successCallback(RGLDocReader.shared.rfidSessionStatus);
455
214
  }
456
215
 
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
-
216
+ - (void) setRfidSessionStatus:(NSString*)status :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
217
+ RGLDocReader.shared.rfidSessionStatus = status;
465
218
  }
466
219
 
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
- });
220
+ - (void) getTag:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
221
+ successCallback([RGLDocReader.shared tag]);
474
222
  }
475
223
 
476
- - (void) recognizeImageWithCameraMode:(NSMutableString*)base64 :(BOOL)cameraMode :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
477
- [self recognizeImageWith :base64 :cameraMode :successCallback :errorCallback];
224
+ - (void) setTag:(NSString*)tag :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
225
+ [RGLDocReader.shared setTag:tag];
478
226
  }
479
227
 
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
- });
228
+ - (void) getFunctionality:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
229
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getFunctionality: RGLDocReader.shared.functionality]]);
484
230
  }
485
231
 
486
- - (void) setConfig:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
487
- [RGLWRegulaConfig setConfig:config :RGLDocReader.shared];
488
- [self result:@"" :successCallback];
232
+ - (void) setFunctionality:(NSDictionary*)functionality :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
233
+ [RGLWConfig setFunctionality:functionality :RGLDocReader.shared.functionality];
234
+ successCallback(@"");
489
235
  }
490
236
 
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];
237
+ - (void) getProcessParams:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
238
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getProcessParams:RGLDocReader.shared.processParams]]);
493
239
  }
494
240
 
495
- - (void) checkDatabaseUpdate:(NSString*)databaseId :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
496
- [RGLDocReader.shared checkDatabaseUpdate:databaseId completion:[self getCheckDatabaseUpdateCompletion: successCallback: errorCallback]];
241
+ - (void) setProcessParams:(NSDictionary*)processParams :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
242
+ [RGLWConfig setProcessParams:processParams :RGLDocReader.shared.processParams];
243
+ successCallback(@"");
497
244
  }
498
245
 
499
- - (void) getTag:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
500
- [self result:[RGLDocReader.shared tag] :successCallback];
246
+ - (void) getCustomization:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
247
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getCustomization :RGLDocReader.shared.customization]]);
501
248
  }
502
249
 
503
- - (void) setTag:(NSString*)tag :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
504
- [RGLDocReader.shared setTag:tag];
505
- [self result:@"" :successCallback];
506
- }
507
-
508
- - (void) setRfidScenario:(NSDictionary*)rfidScenario :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
509
- [RGLWRegulaConfig setRfidScenario:rfidScenario :RGLDocReader.shared.rfidScenario];
510
- [self result:@"" :successCallback];
250
+ - (void) setCustomization:(NSDictionary*)customization :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
251
+ [RGLWConfig setCustomization:customization :RGLDocReader.shared.customization];
252
+ successCallback(@"");
511
253
  }
512
254
 
513
255
  - (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];
256
+ successCallback([RGLWJSONConstructor dictToString: [RGLWConfig getRfidScenario:RGLDocReader.shared.rfidScenario]]);
515
257
  }
516
258
 
517
- - (void) readRFID:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
518
- [RGLDocReader.shared readRFID:[self getRFIDNotificationCallback] completion:[self getRFIDCompletion]];
259
+ - (void) setRfidScenario:(NSDictionary*)rfidScenario :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
260
+ [RGLWConfig setRfidScenario:rfidScenario :RGLDocReader.shared.rfidScenario];
519
261
  }
520
262
 
521
- - (void) stopRFIDReader:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
522
- [RGLDocReader.shared stopRFIDReader:^(){[self result:@"" :successCallback];}];
263
+ - (void) resetConfiguration:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
264
+ RGLDocReader.shared.functionality = [RGLFunctionality new];
265
+ RGLDocReader.shared.processParams = [RGLProcessParams new];
266
+ RGLDocReader.shared.customization = [RGLCustomization new];
267
+ RGLDocReader.shared.rfidScenario = [RGLRFIDScenario new];
523
268
  }
524
269
 
525
- - (void) clearPKDCertificates:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
526
- [RGLDocReader.shared clearPKDCertificates];
527
- [self result:@"" :successCallback];
270
+ - (void) initializeReader:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
271
+ [RGLDocReader.shared initializeReaderWithConfig:[RGLWJSONConstructor configFromJson:config] completion:[self getInitCompletion :successCallback :errorCallback]];
528
272
  }
529
273
 
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];
274
+ - (void) initializeReaderWithBleDeviceConfig:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
275
+ errorCallback(@"initializeReaderWithBleDeviceConfig() is an android-only method");
536
276
  }
537
277
 
538
278
  - (void) deinitializeReader:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
539
279
  [RGLDocReader.shared deinitializeReader];
540
- [self result:@"" :successCallback];
280
+ successCallback(@"");
541
281
  }
542
282
 
543
- - (void) selectedScenario:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
544
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLScenario:RGLDocReader.shared.selectedScenario]] :successCallback];
283
+ - (void) prepareDatabase:(NSString*)databaseID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
284
+ [RGLDocReader.shared prepareDatabase:databaseID progressHandler:nil completion:[self getPrepareCompletion :successCallback :errorCallback]];
545
285
  }
546
286
 
547
- - (void) stopScanner:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
548
- dispatch_async(dispatch_get_main_queue(), ^{
549
- [RGLDocReader.shared stopScanner:^(){
550
- [self result:@"" :successCallback];
551
- }];
552
- });
287
+ - (void) removeDatabase:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
288
+ [RGLDocReader.shared removeDatabase:^(BOOL success, NSError * _Nullable error) {
289
+ successCallback(success ? @YES : @NO);
290
+ }];
553
291
  }
554
292
 
555
- - (void) startNewSession:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
556
- [RGLDocReader.shared startNewSession];
557
- [self result:@"" :successCallback];
293
+ -(void) runAutoUpdate:(NSString*)databaseID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
294
+ [RGLDocReader.shared runAutoUpdate:databaseID progressHandler:nil completion:[self getPrepareCompletion :successCallback :errorCallback]];
558
295
  }
559
296
 
560
- - (void) startNewPage:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
561
- [RGLDocReader.shared startNewPage];
562
- [self result:@"" :successCallback];
297
+ - (void) cancelDBUpdate:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
298
+ [RGLDocReader.shared cancelDBUpdate];
299
+ successCallback(@"");
300
+ }
301
+
302
+ - (void) checkDatabaseUpdate:(NSString*)databaseID :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
303
+ [RGLDocReader.shared checkDatabaseUpdate:databaseID completion:^(RGLDocReaderDocumentsDatabase* database) {
304
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocReaderDocumentsDatabase:database]]);
305
+ }];
563
306
  }
564
307
 
565
308
  - (void) scan:(NSDictionary*)config :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
@@ -568,310 +311,368 @@ RCT_EXPORT_METHOD(exec:(NSString*)moduleName:(NSString*)action:(NSArray*)args:(R
568
311
  [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
569
312
  #pragma clang diagnostic pop
570
313
  UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
571
- [RGLDocReader.shared showScannerFromPresenter:currentViewController config:[RGLWJSONConstructor RGLScannerConfigFromJson:config] completion:[self getCompletion]];
314
+ [RGLDocReader.shared showScannerFromPresenter:currentViewController config:[RGLWJSONConstructor scannerConfigFromJson:config] completion:[self getCompletion]];
572
315
  });
573
316
  }
574
317
 
575
318
  - (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];
319
+ dispatch_async(dispatch_get_main_queue(), ^{
320
+ UIViewController *currentViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
321
+ [RGLDocReader.shared recognizeImageFromPresenter:currentViewController config:[RGLWJSONConstructor recognizeConfigFromJson:config] completion:[self getCompletion]];
322
+ });
602
323
  }
603
324
 
604
- - (void) getDatabaseDate:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
605
- [self result:RGLDocReader.shared.version.database.date :successCallback];
325
+ - (void) startNewPage:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
326
+ [RGLDocReader.shared startNewPage];
327
+ successCallback(@"");
606
328
  }
607
329
 
608
- - (void) getDatabaseDescription:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
609
- [self result:RGLDocReader.shared.version.database.databaseDescription :successCallback];
330
+ - (void) stopScanner:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
331
+ dispatch_async(dispatch_get_main_queue(), ^{
332
+ [RGLDocReader.shared stopScanner:^(){
333
+ successCallback(@"");
334
+ }];
335
+ });
610
336
  }
611
337
 
612
- - (void) getDatabaseCountriesNumber:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
613
- [self result:[NSNumber numberWithInteger:RGLDocReader.shared.version.database.countriesNumber] :successCallback];
338
+ - (void) startRFIDReader:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig :(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
339
+ self.doRequestPACertificates = paCert;
340
+ self.doRequestTACertificates = taCert;
341
+ self.doRequestTASignature = taSig;
342
+ dispatch_async(dispatch_get_main_queue(), ^{
343
+ [RGLDocReader.shared startRFIDReaderFromPresenter:UIApplication.sharedApplication.keyWindow.rootViewController completion:[self getCompletion]];
344
+ });
614
345
  }
615
346
 
616
- - (void) getDatabaseDocumentsNumber:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
617
- [self result:[NSNumber numberWithInteger:RGLDocReader.shared.version.database.documentsNumber] :successCallback];
347
+ - (void) readRFID:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig :(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
348
+ self.doRequestPACertificates = paCert;
349
+ self.doRequestTACertificates = taCert;
350
+ self.doRequestTASignature = taSig;
351
+ [RGLDocReader.shared readRFID:^(RGLRFIDNotificationAction notificationAction, RGLRFIDNotify* _Nullable notification) {
352
+ if(notification != nil) sendEvent(RGLWRfidOnProgressEvent, [RGLWJSONConstructor generateDocumentReaderNotification:notification]);
353
+ } completion:^(RGLRFIDCompleteAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error, RGLRFIDErrorCodes errorCode) {
354
+ sendEvent(RGLWCompletionEvent, [RGLWJSONConstructor generateCompletion:[RGLWConfig generateRFIDCompleteAction: action] :results :error]);
355
+ }];
618
356
  }
619
357
 
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];
358
+ - (void) stopRFIDReader:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
359
+ [RGLDocReader.shared stopRFIDReader:^(){successCallback(@"");}];
626
360
  }
627
361
 
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];
362
+ - (void) providePACertificates:(NSArray*)certificates :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
363
+ if(paCertificateCompletion == nil) {
364
+ errorCallback(@"paCertificateCompletion is nil");
365
+ return;
366
+ }
367
+ NSMutableArray *certificatesMutable = [NSMutableArray new];
368
+ for(NSDictionary* certificateJSON in certificates)
369
+ [certificatesMutable addObject:[RGLWJSONConstructor pkdCertificateFromJson:certificateJSON]];
370
+ paCertificateCompletion(certificatesMutable);
371
+ successCallback(@"");
633
372
  }
634
373
 
635
- - (void) licenseIsRfidAvailable:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
636
- [self result:RGLDocReader.shared.license.isRfidAvailable ? @YES : @NO :successCallback];
374
+ - (void) provideTACertificates:(NSArray*)certificates :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
375
+ if(taCertificateCompletion == nil) {
376
+ errorCallback(@"taCertificateCompletion is nil");
377
+ return;
378
+ }
379
+ NSMutableArray *certificatesMutable = [NSMutableArray new];
380
+ for(NSDictionary* certificateJSON in certificates)
381
+ [certificatesMutable addObject:[RGLWJSONConstructor pkdCertificateFromJson:certificateJSON]];
382
+ taCertificateCompletion(certificatesMutable);
383
+ successCallback(@"");
637
384
  }
638
385
 
639
- - (void) getDocumentReaderStatus:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
640
- [self result:RGLDocReader.shared.documentReaderStatus :successCallback];
386
+ - (void) provideTASignature:(NSString*)signature :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
387
+ if(taSignatureCompletion == nil) {
388
+ errorCallback(@"taSignatureCompletion is nil");
389
+ return;
390
+ }
391
+ taSignatureCompletion([RGLWJSONConstructor base64Decode:signature]);
392
+ successCallback(@"");
641
393
  }
642
394
 
643
395
  - (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];
396
+ [RGLDocReader.shared setTCCParams:[RGLWJSONConstructor tccParamsFromJson:params] completion:^(BOOL success, NSError * _Nullable error) {
397
+ successCallback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
398
+ }];
649
399
  }
650
400
 
651
- - (void) setRfidSessionStatus:(NSString*)status :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
652
- RGLDocReader.shared.rfidSessionStatus = status;
653
- [self result:@"" :successCallback];
401
+ - (void) addPKDCertificates:(NSArray*)certificates :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
402
+ NSMutableArray *certificatesMutable = [NSMutableArray new];
403
+ for(NSDictionary* certificateJSON in certificates)
404
+ [certificatesMutable addObject:[RGLWJSONConstructor pkdCertificateFromJson:certificateJSON]];
405
+ [RGLDocReader.shared addPKDCertificates:certificatesMutable];
406
+ successCallback(@"");
654
407
  }
655
408
 
656
- - (void) getCurrentScenario:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
657
- [self result:RGLDocReader.shared.processParams.scenario :successCallback];
409
+ - (void) clearPKDCertificates:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
410
+ [RGLDocReader.shared clearPKDCertificates];
411
+ successCallback(@"");
658
412
  }
659
413
 
660
- - (void) getCameraSessionIsPaused:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
661
- [self result:RGLDocReader.shared.isCameraSessionIsPaused ? @YES : @NO :successCallback];
414
+ - (void) startNewSession:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
415
+ [RGLDocReader.shared startNewSession];
416
+ successCallback(@"");
662
417
  }
663
418
 
664
- - (void) setCameraSessionIsPaused:(BOOL)paused :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
665
- RGLDocReader.shared.cameraSessionIsPaused = paused;
666
- [self result:@"" :successCallback];
419
+ - (void) startBluetoothService:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
420
+ errorCallback(@"startBluetoothService() is an android-only method");
667
421
  }
668
422
 
669
- - (void) isRFIDAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
670
- [self result:RGLDocReader.shared.isRFIDAvailableForUse ? @YES : @NO :successCallback];
423
+ - (void) setLocalizationDictionary:(NSDictionary*)dictionary :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
424
+ RGLDocReader.shared.localizationHandler = ^NSString * _Nullable(NSString * _Nonnull localizationKey) {
425
+ if(dictionary != nil && ![dictionary isEqual:[NSNull null]] && [dictionary valueForKey:localizationKey] != nil)
426
+ return [dictionary valueForKey:localizationKey];
427
+ return nil;
428
+ };
429
+ successCallback(@"");
671
430
  }
672
431
 
673
- - (void) isAuthenticatorAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
674
- [self result:RGLDocReader.shared.isAuthenticatorAvailableForUse ? @YES : @NO :successCallback];
432
+ - (void) getLicense:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
433
+ successCallback([RGLWJSONConstructor generateLicense:RGLDocReader.shared.license]);
675
434
  }
676
435
 
677
- - (void) getSessionLogFolder:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
678
- [self result:RGLDocReader.shared.processParams.sessionLogFolder :successCallback];
436
+ - (void) getAvailableScenarios:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
437
+ NSMutableArray *availableScenarios = [NSMutableArray new];
438
+ for(RGLScenario *scenario in RGLDocReader.shared.availableScenarios)
439
+ [availableScenarios addObject:[RGLWJSONConstructor generateScenario:scenario]];
440
+ successCallback([RGLWJSONConstructor arrayToString:availableScenarios]);
679
441
  }
680
442
 
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];
443
+ - (void) getIsRFIDAvailableForUse:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
444
+ successCallback(RGLDocReader.shared.isRFIDAvailableForUse ? @YES : @NO);
691
445
  }
692
446
 
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];
447
+ - (void) getDocReaderVersion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
448
+ successCallback([RGLWJSONConstructor generateDocReaderVersion:RGLDocReader.shared.version]);
703
449
  }
704
450
 
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];
733
- }
734
-
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];
451
+ - (void) getDocReaderDocumentsDatabase:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
452
+ if(RGLDocReader.shared.version != nil)
453
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocReaderDocumentsDatabase:RGLDocReader.shared.version.database]]);
454
+ else
455
+ successCallback(nil);
740
456
  }
741
457
 
742
458
  - (void) textFieldValueByType:(NSString*)rawResult :(NSNumber*)fieldType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
743
459
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
744
- [self result:[results getTextFieldValueByType:[fieldType integerValue]] :successCallback];
460
+ successCallback([results getTextFieldValueByType:[fieldType integerValue]]);
745
461
  }
746
462
 
747
463
  - (void) textFieldValueByTypeLcid:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
748
464
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
749
- [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue]] :successCallback];
465
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue]]);
750
466
  }
751
467
 
752
468
  - (void) textFieldValueByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
753
469
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
754
- [self result:[results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue]] :successCallback];
470
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue]]);
755
471
  }
756
472
 
757
473
  - (void) textFieldValueByTypeLcidSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
758
474
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
759
- [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue]] :successCallback];
475
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue]]);
760
476
  }
761
477
 
762
478
  - (void) textFieldValueByTypeSourceOriginal:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(BOOL)original :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
763
479
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
764
- [self result:[results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue] original:original] :successCallback];
480
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] source:[source integerValue] original:original]);
765
481
  }
766
482
 
767
483
  - (void) textFieldValueByTypeLcidSourceOriginal:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(NSNumber*)source :(BOOL)original :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
768
484
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
769
- [self result:[results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue] original:original] :successCallback];
485
+ successCallback([results getTextFieldValueByType:[fieldType integerValue] lcid:[lcid integerValue] source:[source integerValue] original:original]);
770
486
  }
771
487
 
772
488
  - (void) textFieldByType:(NSString*)rawResult :(NSNumber*)fieldType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
773
489
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
774
490
  RGLDocumentReaderTextField* result = [results getTextFieldByType:[fieldType integerValue]];
775
491
  if(result == nil)
776
- [self result:nil :successCallback];
777
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderTextField:result]] :successCallback];
492
+ successCallback(nil);
493
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderTextField:result]]);
778
494
  }
779
495
 
780
496
  - (void) textFieldByTypeLcid:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)lcid :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
781
497
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
782
498
  RGLDocumentReaderTextField* result = [results getTextFieldByType:[fieldType integerValue] lcid:[lcid integerValue]];
783
499
  if(result == nil)
784
- [self result:nil :successCallback];
785
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderTextField:result]] :successCallback];
500
+ successCallback(nil);
501
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderTextField:result]]);
786
502
  }
787
503
 
788
504
  - (void) graphicFieldByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
789
505
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
790
506
  RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue]];
791
507
  if(result == nil)
792
- [self result:nil :successCallback];
793
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
508
+ successCallback(nil);
509
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderGraphicField:result]]);
794
510
  }
795
511
 
796
512
  - (void) graphicFieldByTypeSourcePageIndex:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
797
513
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
798
514
  RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]];
799
515
  if(result == nil)
800
- [self result:nil :successCallback];
801
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
516
+ successCallback(nil);
517
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderGraphicField:result]]);
802
518
  }
803
519
 
804
520
  - (void) graphicFieldByTypeSourcePageIndexLight:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(NSNumber*)light :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
805
521
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
806
522
  RGLDocumentReaderGraphicField* result = [results getGraphicFieldByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]];
807
523
  if(result == nil)
808
- [self result:nil :successCallback];
809
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderGraphicField:result]] :successCallback];
524
+ successCallback(nil);
525
+ successCallback([RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateDocumentReaderGraphicField:result]]);
810
526
  }
811
527
 
812
528
  - (void) graphicFieldImageByType:(NSString*)rawResult :(NSNumber*)fieldType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
813
529
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
814
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue]]] :successCallback];
530
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue]]]);
815
531
  }
816
532
 
817
533
  - (void) graphicFieldImageByTypeSource:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
818
534
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
819
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue]]] :successCallback];
535
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue]]]);
820
536
  }
821
537
 
822
538
  - (void) graphicFieldImageByTypeSourcePageIndex:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
823
539
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
824
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]]] :successCallback];
540
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue]]]);
825
541
  }
826
542
 
827
543
  - (void) graphicFieldImageByTypeSourcePageIndexLight:(NSString*)rawResult :(NSNumber*)fieldType :(NSNumber*)source :(NSNumber*)pageIndex :(NSNumber*)light :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
828
544
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
829
- [self result:[RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]]] :successCallback];
545
+ successCallback([RGLWJSONConstructor base64WithImage:[results getGraphicFieldImageByType:[fieldType integerValue] source:[source integerValue] pageIndex:[pageIndex integerValue] light:[light integerValue]]]);
830
546
  }
831
547
 
832
548
  - (void) containers:(NSString*)rawResult :(NSArray<NSNumber*>*)resultType :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
833
549
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
834
- [self result:[results getContainersByResultTypes:resultType] :successCallback];
550
+ successCallback([results getContainersByResultTypes:resultType]);
835
551
  }
836
552
 
837
553
  - (void) encryptedContainers:(NSString*)rawResult :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
838
554
  RGLDocumentReaderResults* results = [RGLDocumentReaderResults initWithRawString:rawResult];
839
- [self result:[results getEncryptedContainers] :successCallback];
555
+ successCallback([results getEncryptedContainers]);
840
556
  }
841
557
 
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];
558
+ - (void) finalizePackage:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
559
+ [RGLDocReader.shared finalizePackageWithCompletion:^(RGLDocReaderAction action, RGLTransactionInfo* info, NSError* error){
560
+ successCallback([RGLWJSONConstructor generateFinalizePackageCompletion:[RGLWConfig generateDocReaderAction: action] :info :error]);
561
+ }];
562
+ }
563
+
564
+ - (void) getTranslation:(NSString*)className :(NSNumber*)value :(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
565
+ if([className isEqualToString:@"RFIDErrorCodes"])
566
+ successCallback(RGLRFIDErrorCodesGetStringValue([value intValue]));
567
+ else if([className isEqualToString:@"LDSParsingErrorCodes"])
568
+ successCallback(eLDS_ParsingErrorCodesGetStringValue([value intValue]));
569
+ else if([className isEqualToString:@"LDSParsingNotificationCodes"])
570
+ successCallback(eLDS_ParsingNotificationCodesGetStringValue([value intValue]));
571
+ else if([className isEqualToString:@"ImageQualityCheckType"])
572
+ successCallback(RGLImageQualityCheckTypeGetStringValue([RGLWConfig imageQualityCheckTypeWithNumber:value]));
573
+ else if([className isEqualToString:@"RFIDDataFileType"])
574
+ successCallback(RGLRFIDDataFileTypeGetStringValue([value intValue]));
575
+ else if([className isEqualToString:@"VisualFieldType"])
576
+ successCallback(RGLFieldTypeGetStringValue([value intValue]));
577
+ else if([className isEqualToString:@"LCID"])
578
+ successCallback([RGLDocumentReaderTextField lcidName:[value intValue]]);
579
+ }
580
+
581
+ -(RGLDocumentReaderCompletion _Nonnull)getCompletion {
582
+ return ^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
583
+ sendEvent(RGLWCompletionEvent, [RGLWJSONConstructor generateCompletion:[RGLWConfig generateDocReaderAction: action] :results :error]);
850
584
  };
851
585
  }
852
586
 
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];
587
+ -(RGLDocumentReaderPrepareCompletion _Nonnull)getPrepareCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
588
+ RGLDocReader.shared.databaseFetchDelegate = self;
589
+ return ^(BOOL success, NSError * _Nullable error) {
590
+ successCallback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
859
591
  };
860
592
  }
861
593
 
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];
594
+ -(RGLDocumentReaderInitializationCompletion)getInitCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback {
595
+ return ^(BOOL success, NSError * _Nullable error ) {
596
+ if (success) {
597
+ RGLDocReader.shared.rfidDelegate = self;
598
+ RGLDocReader.shared.functionality.recordScanningProcessDelegate = self;
599
+ RGLDocReader.shared.customization.actionDelegate = self;
600
+ }
601
+ successCallback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
868
602
  };
869
603
  }
870
604
 
871
- -(RGLDocumentReaderCheckUpdateCompletion)getCheckDatabaseUpdateCompletion:(RGLWCallback)successCallback :(RGLWCallback)errorCallback{
872
- return ^(RGLDocReaderDocumentsDatabase* database) {
873
- [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocReaderDocumentsDatabase:database]] :successCallback];
605
+ // RGLDocReaderDatabaseFetchDelegate
606
+ - (void)onProgressChanged:(NSNumber *)downloadedBytes totalBytes:(NSNumber *)totalBytes {
607
+ int progress = 0;
608
+ if (downloadedBytes > 0 && totalBytes > 0) {
609
+ double percent = [downloadedBytes doubleValue] / [totalBytes doubleValue];
610
+ progress = (int) (percent * 100);
611
+ }
612
+ NSDictionary* result = @{
613
+ @"downloadedBytes":downloadedBytes,
614
+ @"totalBytes":totalBytes,
615
+ @"progress":@(progress)
874
616
  };
617
+ sendEvent(RGLWDatabaseProgressEvent, [RGLWJSONConstructor dictToString: result]);
618
+ }
619
+
620
+ // RGLCustomizationActionDelegate
621
+ - (void)onCustomButtonTappedWithTag:(NSInteger)tag {
622
+ sendEvent(RGLWOnCustomButtonTappedEvent, @(tag));
623
+ }
624
+
625
+ // RGLRecordScanningProcessDelegate
626
+ - (void)didFinishRecordingToFile:(NSURL *)fileURL {
627
+ sendEvent(RGLWVideoEncoderCompletionEvent, fileURL.absoluteString);
628
+ }
629
+
630
+ - (void)didFailWithError:(NSError *)error {
631
+ // ignore error to match android
632
+ }
633
+
634
+ RGLRFIDCertificatesCallback paCertificateCompletion;
635
+ RGLRFIDCertificatesCallback taCertificateCompletion;
636
+ RGLWRFIDSignatureCallback taSignatureCompletion;
637
+
638
+ - (void)onRequestPACertificatesWithSerial:(NSData *)serialNumber issuer:(RGLPAResourcesIssuer *)issuer callback:(RGLRFIDCertificatesCallback)callback {
639
+ if([self.doRequestPACertificates boolValue]) {
640
+ paCertificateCompletion = callback;
641
+ sendEvent(RGLWPaCertificateCompletionEvent, [RGLWJSONConstructor generatePACertificateCompletion:serialNumber :issuer]);
642
+ } else {
643
+ paCertificateCompletion = nil;
644
+ callback(nil);
645
+ }
646
+ }
647
+
648
+ - (void)onRequestTACertificatesWithKey:(NSString *)keyCAR callback:(RGLRFIDCertificatesCallback)callback {
649
+ if([self.doRequestTACertificates boolValue]) {
650
+ taCertificateCompletion = callback;
651
+ sendEvent(RGLWTaCertificateCompletionEvent, keyCAR);
652
+ } else {
653
+ taCertificateCompletion = nil;
654
+ callback(nil);
655
+ }
656
+ }
657
+
658
+ - (void)onRequestTASignatureWithChallenge:(RGLTAChallenge *)challenge callback:(void(^)(NSData *signature))callback {
659
+ if([self.doRequestTASignature boolValue]) {
660
+ taSignatureCompletion = callback;
661
+ sendEvent(RGLWTaSignatureCompletionEvent, [RGLWJSONConstructor dictToString: [RGLWJSONConstructor generateTAChallenge:challenge]]);
662
+ } else {
663
+ taSignatureCompletion = nil;
664
+ callback(nil);
665
+ }
666
+ }
667
+
668
+ - (void)didChipConnected {
669
+ sendEvent(RGLWRfidOnChipDetectedEvent, @"");
670
+ }
671
+
672
+ - (void)didReceivedError:(RGLRFIDErrorCodes)errorCode {
673
+ NSMutableDictionary *result = [NSMutableDictionary new];
674
+ result[@"code"] = [NSNumber numberWithInteger:errorCode];
675
+ sendEvent(RGLWRfidOnRetryReadChipEvent, [RGLWJSONConstructor dictToString:result]);
875
676
  }
876
677
 
877
678
  @end