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