@regulaforensics/cordova-plugin-document-reader-api 9.1.338-nightly → 9.1.340-nightly

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.
@@ -1959,6 +1959,9 @@ static NSMutableArray* weakReferencesHolder;
1959
1959
  result[@"detailsRFID"] = [self generateRFIDSessionDataStatus:input.detailsRFID];
1960
1960
  result[@"portrait"] = @(input.portrait);
1961
1961
  result[@"stopList"] = @(input.stopList);
1962
+ result[@"mDL"] = @(input.mDL);
1963
+ result[@"age"] = @(input.age);
1964
+ result[@"detailsAge"] = [self generateDetailsAge:input.detailsAge];
1962
1965
 
1963
1966
  return result;
1964
1967
  }
@@ -2017,6 +2020,24 @@ static NSMutableArray* weakReferencesHolder;
2017
2020
  return result;
2018
2021
  }
2019
2022
 
2023
+ +(RGLDetailsAge*)detailsAgeFromJson:(NSDictionary*)input {
2024
+ return [RGLDetailsAge performSelector:NSSelectorFromString(@"detailsAgeWithJSON:") withObject:input];
2025
+ }
2026
+
2027
+ +(NSDictionary*)generateDetailsAge:(RGLDetailsAge*)input {
2028
+ if(input == nil) return nil;
2029
+ NSMutableDictionary* result = [NSMutableDictionary new];
2030
+
2031
+ result[@"threshold"] = input.threshold;
2032
+ result[@"overThreshold"] = @(input.overThreshold);
2033
+ result[@"over18"] = @(input.over18);
2034
+ result[@"over21"] = @(input.over21);
2035
+ result[@"over25"] = @(input.over25);
2036
+ result[@"over65"] = @(input.over65);
2037
+
2038
+ return result;
2039
+ }
2040
+
2020
2041
  +(NSDictionary*)vdsncDataDictionaryFromJson:(NSDictionary*)input {
2021
2042
  NSMutableDictionary* json = [NSMutableDictionary new];
2022
2043
 
@@ -2249,6 +2270,332 @@ static NSMutableArray* weakReferencesHolder;
2249
2270
  return result;
2250
2271
  }
2251
2272
 
2273
+ +(RGLDocFeature*)docFeatureFromJson:(NSDictionary*)input {
2274
+ NSMutableDictionary* json = input.mutableCopy;
2275
+ json[@"Type"] = input[@"type"];
2276
+ json[@"Data"] = [self bytesDataDictionaryFromJson: input[@"data"]];
2277
+ return [RGLDocFeature initWithJSON: json];
2278
+ }
2279
+
2280
+ +(NSDictionary*)generateDocFeature:(RGLDocFeature*)input {
2281
+ if(input == nil) return nil;
2282
+ NSMutableDictionary* result = [NSMutableDictionary new];
2283
+
2284
+ result[@"type"] = input.type;
2285
+ result[@"data"] = [self generateBytesData:input.data];
2286
+
2287
+ return result;
2288
+ }
2289
+
2290
+ +(RGLVDSData*)vdsDataFromJson:(NSDictionary*)input {
2291
+ NSMutableArray<RGLCertificateChain*>* certificateChain = [NSMutableArray new];
2292
+ for(NSDictionary* item in [input valueForKey:@"certificateChain"]){
2293
+ [certificateChain addObject:[self certificateChainFromJson:item]];
2294
+ }
2295
+ NSMutableArray<RGLDocFeature*>* docFeatures = [NSMutableArray new];
2296
+ for(NSDictionary* item in [input valueForKey:@"docFeatures"]){
2297
+ [docFeatures addObject:[self docFeatureFromJson:item]];
2298
+ }
2299
+ NSMutableArray<NSNumber*>* notifications = [NSMutableArray new];
2300
+ for(NSNumber* item in [input valueForKey:@"notifications"]){
2301
+ [notifications addObject:item];
2302
+ }
2303
+
2304
+ RGLVDSData* result = [RGLVDSData alloc];
2305
+ SEL sel = NSSelectorFromString(@"initWithType:docType:featureRef:version:certificate:issuingCountry:docIssueDate:signature:signatureDate:signer:certificateChain:docFeatures:notifications:");
2306
+ IMP imp = [result methodForSelector:sel];
2307
+ void (*func)(id, SEL, NSInteger, NSInteger, NSInteger, NSInteger, id, id, id, id, id, id, id, id, id) = (void *)imp;
2308
+ func(result,
2309
+ sel,
2310
+ [input[@"type"] integerValue],
2311
+ [input[@"docType"] integerValue],
2312
+ [input[@"featureRef"] integerValue],
2313
+ [input[@"version"] integerValue],
2314
+ input[@"certificate"],
2315
+ input[@"issuingCountry"],
2316
+ input[@"docIssueDate"],
2317
+ [self bytesDataFromJson:input[@"signature"]],
2318
+ input[@"signatureDate"],
2319
+ input[@"signer"],
2320
+ certificateChain,
2321
+ docFeatures,
2322
+ notifications);
2323
+ return result;
2324
+ }
2325
+
2326
+ +(NSDictionary*)generateVDSData:(RGLVDSData*)input {
2327
+ if(input == nil) return nil;
2328
+ NSMutableDictionary* result = [NSMutableDictionary new];
2329
+
2330
+ result[@"type"] = @(input.type);
2331
+ result[@"docType"] = @(input.docType);
2332
+ result[@"featureRef"] = @(input.featureRef);
2333
+ result[@"version"] = @(input.version);
2334
+ result[@"certificate"] = input.certificate;
2335
+ result[@"issuingCountry"] = input.issuingCountry;
2336
+ result[@"docIssueDate"] = input.docIssueDate;
2337
+ result[@"signature"] = [self generateBytesData:input.signature];
2338
+ result[@"signatureDate"] = input.signatureDate;
2339
+ result[@"signer"] = input.signer;
2340
+ if(input.certificateChain != nil){
2341
+ NSMutableArray *array = [NSMutableArray new];
2342
+ for(RGLCertificateChain* item in input.certificateChain)
2343
+ [array addObject:[self generateCertificateChain:item]];
2344
+ result[@"certificateChain"] = array;
2345
+ }
2346
+ if(input.docFeatures != nil){
2347
+ NSMutableArray *array = [NSMutableArray new];
2348
+ for(RGLDocFeature* item in input.docFeatures)
2349
+ [array addObject:[self generateDocFeature:item]];
2350
+ result[@"docFeatures"] = array;
2351
+ }
2352
+ if(input.notifications != nil){
2353
+ NSMutableArray *array = [NSMutableArray new];
2354
+ for(NSNumber* item in input.notifications)
2355
+ [array addObject:item];
2356
+ result[@"notifications"] = array;
2357
+ }
2358
+
2359
+ return result;
2360
+ }
2361
+
2362
+ +(RGLDeviceRetrievalMethod*)deviceRetrievalMethodFromJson:(NSDictionary*)input {
2363
+ return [[RGLDeviceRetrievalMethod alloc] initWithJSON:input];
2364
+ }
2365
+
2366
+ +(NSDictionary*)generateDeviceRetrievalMethod:(RGLDeviceRetrievalMethod*)input {
2367
+ if(input == nil) return nil;
2368
+ NSMutableDictionary* result = [NSMutableDictionary new];
2369
+
2370
+ result[@"type"] = @(input.type);
2371
+ result[@"version"] = input.version;
2372
+ result[@"cmdMaxLength"] = input.cmdMaxLength;
2373
+ result[@"respMaxLength"] = input.respMaxLength;
2374
+ result[@"clientModeSupport"] = input.clientModeSupport;
2375
+ result[@"clientModeUUID"] = input.clientModeUUID;
2376
+ result[@"serverModeSupport"] = input.serverModeSupport;
2377
+ result[@"serverModeUUID"] = input.serverModeUUID;
2378
+
2379
+ return result;
2380
+ }
2381
+
2382
+ +(RGLDeviceEngagement*)deviceEngagementFromJson:(NSDictionary*)input {
2383
+ RGLDeviceEngagement* result = [RGLDeviceEngagement new];
2384
+
2385
+
2386
+ NSMutableArray<RGLDeviceRetrievalMethod*>* deviceRetrievalMethods = [NSMutableArray new];
2387
+ for(NSDictionary* item in [input valueForKey:@"deviceRetrievalMethods"]){
2388
+ [deviceRetrievalMethods addObject:[self deviceRetrievalMethodFromJson: item]];
2389
+ }
2390
+ result.deviceRetrievalMethods = deviceRetrievalMethods;
2391
+
2392
+ return result;
2393
+
2394
+ }
2395
+
2396
+ +(NSDictionary*)generateDeviceEngagement:(RGLDeviceEngagement*)input {
2397
+ if(input == nil) return nil;
2398
+ NSMutableDictionary* result = [NSMutableDictionary new];
2399
+
2400
+ NSMutableArray *array = [NSMutableArray new];
2401
+ for(RGLDeviceRetrievalMethod* item in input.deviceRetrievalMethods)
2402
+ [array addObject:[self generateDeviceRetrievalMethod:item]];
2403
+ result[@"deviceRetrievalMethods"] = array;
2404
+
2405
+ return result;
2406
+ }
2407
+
2408
+ +(RGLNameSpaceMDL*)nameSpaceMDLFromJson:(NSDictionary*)input {
2409
+ RGLNameSpaceMDL* result = [[RGLNameSpaceMDL alloc] initWithName:input[@"name"]];
2410
+
2411
+ [result setValue:input[@"map"] forKey:@"jsonDict"];
2412
+
2413
+ return result;
2414
+
2415
+ }
2416
+
2417
+ +(NSDictionary*)generateNameSpaceMDL:(RGLNameSpaceMDL*)input {
2418
+ if(input == nil) return nil;
2419
+ NSMutableDictionary* result = [NSMutableDictionary new];
2420
+
2421
+ result[@"name"] = input.name;
2422
+ result[@"map"] = [input valueForKey:@"jsonDict"];
2423
+
2424
+ return result;
2425
+ }
2426
+
2427
+ +(RGLDocumentRequestMDL*)documentRequestMDLFromJson:(NSDictionary*)input {
2428
+ NSString* docType = input[@"docType"];
2429
+ if([docType isEqual: @"org.iso.18013.5.1.mDL"]) return [self documentRequest18013MDLFromJson: input];
2430
+ RGLDocumentRequestMDL* result = [[RGLDocumentRequestMDL alloc] initWithDocType:docType];
2431
+
2432
+ NSMutableArray<RGLNameSpaceMDL*>* nameSpaces = [NSMutableArray new];
2433
+ for(NSDictionary* item in [input valueForKey:@"namespaces"]){
2434
+ [nameSpaces addObject:[self nameSpaceMDLFromJson: item]];
2435
+ }
2436
+ [result setValue:nameSpaces forKey:@"nameSpaces"];
2437
+
2438
+ return result;
2439
+
2440
+ }
2441
+
2442
+ +(NSDictionary*)generateDocumentRequestMDL:(RGLDocumentRequestMDL*)input {
2443
+ if(input == nil) return nil;
2444
+ NSString* docType = [input valueForKey:@"docType"];
2445
+ if([docType isEqual: @"org.iso.18013.5.1.mDL"]) return [self generateDocumentRequest18013MDL: (RGLDocumentRequest18013MDL*)input];
2446
+ NSMutableDictionary* result = [NSMutableDictionary new];
2447
+
2448
+ NSMutableArray *array = [NSMutableArray new];
2449
+ for(RGLNameSpaceMDL* item in [input valueForKey:@"nameSpaces"])
2450
+ [array addObject:[self generateNameSpaceMDL:item]];
2451
+
2452
+ result[@"docType"] = docType;
2453
+ result[@"namespaces"] = array;
2454
+
2455
+ return result;
2456
+ }
2457
+
2458
+ +(RGLDocumentRequest18013MDL*)documentRequest18013MDLFromJson:(NSDictionary*)input {
2459
+ if(input == nil) return nil;
2460
+ RGLDocumentRequest18013MDL* result = [RGLDocumentRequest18013MDL new];
2461
+
2462
+ [result setValue:[input valueForKey:@"docType"] forKey:@"docType"];
2463
+ NSMutableArray<RGLNameSpaceMDL*>* nameSpaces = [NSMutableArray new];
2464
+ for(NSDictionary* item in [input valueForKey:@"namespaces"]){
2465
+ [nameSpaces addObject:[self nameSpaceMDLFromJson: item]];
2466
+ }
2467
+ [result setValue:nameSpaces forKey:@"nameSpaces"];
2468
+ if (input[@"familyName"]) result.familyName = [input[@"familyName"] integerValue];
2469
+ if (input[@"givenName"]) result.givenName = [input[@"givenName"] integerValue];
2470
+ if (input[@"birthDate"]) result.birthDate = [input[@"birthDate"] integerValue];
2471
+ if (input[@"issueDate"]) result.issueDate = [input[@"issueDate"] integerValue];
2472
+ if (input[@"expiryDate"]) result.expiryDate = [input[@"expiryDate"] integerValue];
2473
+ if (input[@"issuingCountry"]) result.issuingCountry = [input[@"issuingCountry"] integerValue];
2474
+ if (input[@"issuingAuthority"]) result.issuingAuthority = [input[@"issuingAuthority"] integerValue];
2475
+ if (input[@"documentNumber"]) result.documentNumber = [input[@"documentNumber"] integerValue];
2476
+ if (input[@"portrait"]) result.portrait = [input[@"portrait"] integerValue];
2477
+ if (input[@"drivingPrivileges"]) result.drivingPrivileges = [input[@"drivingPrivileges"] integerValue];
2478
+ if (input[@"unDistinguishingSign"]) result.unDistinguishingSign = [input[@"unDistinguishingSign"] integerValue];
2479
+ if (input[@"administrativeNumber"]) result.administrativeNumber = [input[@"administrativeNumber"] integerValue];
2480
+ if (input[@"sex"]) result.sex = [input[@"sex"] integerValue];
2481
+ if (input[@"height"]) result.height = [input[@"height"] integerValue];
2482
+ if (input[@"weight"]) result.weight = [input[@"weight"] integerValue];
2483
+ if (input[@"eyeColour"]) result.eyeColour = [input[@"eyeColour"] integerValue];
2484
+ if (input[@"hairColour"]) result.hairColour = [input[@"hairColour"] integerValue];
2485
+ if (input[@"birthPlace"]) result.birthPlace = [input[@"birthPlace"] integerValue];
2486
+ if (input[@"residentAddress"]) result.residentAddress = [input[@"residentAddress"] integerValue];
2487
+ if (input[@"portraitCaptureDate"]) result.portraitCaptureDate = [input[@"portraitCaptureDate"] integerValue];
2488
+ if (input[@"ageInYears"]) result.ageInYears = [input[@"ageInYears"] integerValue];
2489
+ if (input[@"ageBirthYear"]) result.ageBirthYear = [input[@"ageBirthYear"] integerValue];
2490
+ if (input[@"ageOver18"]) result.ageOver18 = [input[@"ageOver18"] integerValue];
2491
+ if (input[@"issuingJurisdiction"]) result.issuingJurisdiction = [input[@"issuingJurisdiction"] integerValue];
2492
+ if (input[@"nationality"]) result.nationality = [input[@"nationality"] integerValue];
2493
+ if (input[@"residentCity"]) result.residentCity = [input[@"residentCity"] integerValue];
2494
+ if (input[@"residentState"]) result.residentState = [input[@"residentState"] integerValue];
2495
+ if (input[@"residentPostalCode"]) result.residentPostalCode = [input[@"residentPostalCode"] integerValue];
2496
+ if (input[@"residentCountry"]) result.residentCountry = [input[@"residentCountry"] integerValue];
2497
+ if (input[@"biometricTemplateFace"]) result.biometricTemplateFace = [input[@"biometricTemplateFace"] integerValue];
2498
+ if (input[@"biometricTemplateIris"]) result.biometricTemplateIris = [input[@"biometricTemplateIris"] integerValue];
2499
+ if (input[@"biometricTemplateFinger"]) result.biometricTemplateFinger = [input[@"biometricTemplateFinger"] integerValue];
2500
+ if (input[@"biometricTemplateSignatureSign"]) result.biometricTemplateSignatureSign = [input[@"biometricTemplateSignatureSign"] integerValue];
2501
+ if (input[@"familyNameNationalCharacter"]) result.familyNameNationalCharacter = [input[@"familyNameNationalCharacter"] integerValue];
2502
+ if (input[@"givenNameNationalCharacter"]) result.givenNameNationalCharacter = [input[@"givenNameNationalCharacter"] integerValue];
2503
+ if (input[@"signatureUsualMark"]) result.signatureUsualMark = [input[@"signatureUsualMark"] integerValue];
2504
+
2505
+ return result;
2506
+ }
2507
+
2508
+ +(NSDictionary*)generateDocumentRequest18013MDL:(RGLDocumentRequest18013MDL*)input {
2509
+ if(input == nil) return nil;
2510
+ NSMutableDictionary* result = [NSMutableDictionary new];
2511
+
2512
+ NSMutableArray *array = [NSMutableArray new];
2513
+ for(RGLNameSpaceMDL* item in [input valueForKey:@"nameSpaces"])
2514
+ [array addObject:[self generateNameSpaceMDL:item]];
2515
+
2516
+ result[@"docType"] = [input valueForKey:@"docType"];
2517
+ result[@"namespaces"] = array;
2518
+ if (input.familyName != -1) result[@"familyName"] = @(input.familyName);
2519
+ if (input.givenName != -1) result[@"givenName"] = @(input.givenName);
2520
+ if (input.birthDate != -1) result[@"birthDate"] = @(input.birthDate);
2521
+ if (input.issueDate != -1) result[@"issueDate"] = @(input.issueDate);
2522
+ if (input.expiryDate != -1) result[@"expiryDate"] = @(input.expiryDate);
2523
+ if (input.issuingCountry != -1) result[@"issuingCountry"] = @(input.issuingCountry);
2524
+ if (input.issuingAuthority != -1) result[@"issuingAuthority"] = @(input.issuingAuthority);
2525
+ if (input.documentNumber != -1) result[@"documentNumber"] = @(input.documentNumber);
2526
+ if (input.portrait != -1) result[@"portrait"] = @(input.portrait);
2527
+ if (input.drivingPrivileges != -1) result[@"drivingPrivileges"] = @(input.drivingPrivileges);
2528
+ if (input.unDistinguishingSign != -1) result[@"unDistinguishingSign"] = @(input.unDistinguishingSign);
2529
+ if (input.administrativeNumber != -1) result[@"administrativeNumber"] = @(input.administrativeNumber);
2530
+ if (input.sex != -1) result[@"sex"] = @(input.sex);
2531
+ if (input.height != -1) result[@"height"] = @(input.height);
2532
+ if (input.weight != -1) result[@"weight"] = @(input.weight);
2533
+ if (input.eyeColour != -1) result[@"eyeColour"] = @(input.eyeColour);
2534
+ if (input.hairColour != -1) result[@"hairColour"] = @(input.hairColour);
2535
+ if (input.birthPlace != -1) result[@"birthPlace"] = @(input.birthPlace);
2536
+ if (input.residentAddress != -1) result[@"residentAddress"] = @(input.residentAddress);
2537
+ if (input.portraitCaptureDate != -1) result[@"portraitCaptureDate"] = @(input.portraitCaptureDate);
2538
+ if (input.ageInYears != -1) result[@"ageInYears"] = @(input.ageInYears);
2539
+ if (input.ageBirthYear != -1) result[@"ageBirthYear"] = @(input.ageBirthYear);
2540
+ if (input.ageOver18 != -1) result[@"ageOver18"] = @(input.ageOver18);
2541
+ if (input.issuingJurisdiction != -1) result[@"issuingJurisdiction"] = @(input.issuingJurisdiction);
2542
+ if (input.nationality != -1) result[@"nationality"] = @(input.nationality);
2543
+ if (input.residentCity != -1) result[@"residentCity"] = @(input.residentCity);
2544
+ if (input.residentState != -1) result[@"residentState"] = @(input.residentState);
2545
+ if (input.residentPostalCode != -1) result[@"residentPostalCode"] = @(input.residentPostalCode);
2546
+ if (input.residentCountry != -1) result[@"residentCountry"] = @(input.residentCountry);
2547
+ if (input.biometricTemplateFace != -1) result[@"biometricTemplateFace"] = @(input.biometricTemplateFace);
2548
+ if (input.biometricTemplateIris != -1) result[@"biometricTemplateIris"] = @(input.biometricTemplateIris);
2549
+ if (input.biometricTemplateFinger != -1) result[@"biometricTemplateFinger"] = @(input.biometricTemplateFinger);
2550
+ if (input.biometricTemplateSignatureSign != -1) result[@"biometricTemplateSignatureSign"] = @(input.biometricTemplateSignatureSign);
2551
+ if (input.familyNameNationalCharacter != -1) result[@"familyNameNationalCharacter"] = @(input.familyNameNationalCharacter);
2552
+ if (input.givenNameNationalCharacter != -1) result[@"givenNameNationalCharacter"] = @(input.givenNameNationalCharacter);
2553
+ if (input.signatureUsualMark != -1) result[@"signatureUsualMark"] = @(input.signatureUsualMark);
2554
+
2555
+ return result;
2556
+ }
2557
+
2558
+ +(RGLDataRetrieval*)dataRetrievalFromJson:(NSDictionary*)input {
2559
+ RGLDataRetrieval* result = [[RGLDataRetrieval alloc] initWithDeviceRetrieval:[input[@"deviceRetrieval"] integerValue]];
2560
+
2561
+ [result setValue:input[@"docRequestPreset"] forKey:@"docRequestPreset"];
2562
+ [result setValue:input[@"intentToRetain"] forKey:@"intentToRetain"];
2563
+
2564
+ NSMutableArray<RGLDocumentRequestMDL*>* requests = [NSMutableArray new];
2565
+ for(NSDictionary* item in [input valueForKey:@"requests"]){
2566
+ [requests addObject:[self documentRequestMDLFromJson: item]];
2567
+ }
2568
+ result.requests = requests;
2569
+
2570
+ return result;
2571
+
2572
+ }
2573
+
2574
+ +(NSDictionary*)generateDataRetrieval:(RGLDataRetrieval*)input {
2575
+ if(input == nil) return nil;
2576
+ NSMutableDictionary* result = [NSMutableDictionary new];
2577
+
2578
+ result[@"deviceRetrieval"] = [input valueForKey:@"deviceRetrieval"];
2579
+ result[@"docRequestPreset"] = [input valueForKey:@"docRequestPreset"];
2580
+ result[@"intentToRetain"] = [input valueForKey:@"intentToRetain"];
2581
+
2582
+ NSMutableArray *array = [NSMutableArray new];
2583
+ for(RGLDocumentRequestMDL* item in input.requests)
2584
+ [array addObject:[self generateDocumentRequestMDL:item]];
2585
+ result[@"requests"] = array;
2586
+
2587
+ return result;
2588
+ }
2589
+
2590
+ +(NSString*)generateDeviceEngagementCompletion:(RGLDeviceEngagement*)deviceEngagement :(NSError*)error {
2591
+ NSMutableDictionary* result = [NSMutableDictionary new];
2592
+
2593
+ result[@"deviceEngagement"] = [self generateDeviceEngagement:deviceEngagement];
2594
+ result[@"error"] = [self generateError:error];
2595
+
2596
+ return [RGLWJSONConstructor dictToString: result];
2597
+ }
2598
+
2252
2599
  +(RGLDocumentReaderResults*)documentReaderResultsFromJson:(NSDictionary*)input {
2253
2600
  NSMutableArray<RGLDocumentReaderDocumentType*>* documentType = [NSMutableArray new];
2254
2601
  for(NSDictionary* item in [input valueForKey:@"documentType"]){
@@ -2285,6 +2632,7 @@ static NSMutableArray* weakReferencesHolder;
2285
2632
  chipPage:[[input valueForKey:@"chipPage"] integerValue]
2286
2633
  barcodeResult:[self documentReaderBarcodeResultFromJson: [input valueForKey:@"barcodeResult"]]
2287
2634
  vdsncData:[self vdsncDataFromJson: [input valueForKey:@"vdsncData"]]
2635
+ vdsData:[self vdsDataFromJson: [input valueForKey:@"vdsData"]]
2288
2636
  status:[self documentReaderResultsStatusFromJson: [input valueForKey:@"status"]]
2289
2637
  processingFinished:[[input valueForKey:@"processingFinishedStatus"] integerValue]
2290
2638
  morePagesAvailable:[[input valueForKey:@"morePagesAvailable"] integerValue]
@@ -2344,6 +2692,7 @@ static NSMutableArray* weakReferencesHolder;
2344
2692
  result[@"rawResult"] = input.rawResult;
2345
2693
  result[@"status"] = [self generateDocumentReaderResultsStatus:input.status];
2346
2694
  result[@"vdsncData"] = [self generateVDSNCData:input.vdsncData];
2695
+ result[@"vdsData"] = [self generateVDSData:input.vdsData];
2347
2696
  result[@"dtcData"] = [self base64Encode: input.dtcData];
2348
2697
  result[@"transactionInfo"] = [self generateTransactionInfo:input.transactionInfo];
2349
2698
 
@@ -55,6 +55,13 @@
55
55
  @"btDeviceRequestFlashing": ^{ /* android only */ },
56
56
  @"btDeviceRequestFlashingFullIR": ^{ /* android only */ },
57
57
  @"btDeviceRequestTurnOffAll": ^{ /* android only */ },
58
+ @"startReadMDl": ^{ [self startReadMDl :args[0] :args[1] :callback]; },
59
+ @"startEngageDevice": ^{ [self startEngageDevice :args[0] :callback]; },
60
+ @"engageDeviceNFC": ^{ [self engageDeviceNFC :callback]; },
61
+ @"engageDeviceData": ^{ [self engageDeviceData :args[0] :callback]; },
62
+ @"startRetrieveData": ^{ [self startRetrieveData :args[0] :args[1] :callback]; },
63
+ @"retrieveDataNFC": ^{ [self retrieveDataNFC :args[0] :callback]; },
64
+ @"retrieveDataBLE": ^{ [self retrieveDataBLE :args[0] :args[0] :callback]; },
58
65
  @"setLocalizationDictionary": ^{ [self setLocalizationDictionary :args[0]]; },
59
66
  @"getLicense": ^{ [self getLicense :callback]; },
60
67
  @"getAvailableScenarios": ^{ [self getAvailableScenarios :callback]; },
@@ -357,6 +364,48 @@ RGLWCallback savedCallbackForBluetoothResult;
357
364
  [bluetooth disconnect];
358
365
  }
359
366
 
367
+ +(void)startReadMDl:(NSNumber*)type :(NSDictionary*)dataRetrieval :(RGLWCallback)callback {
368
+ [RGLDocReader.shared startReadMDLFromPresenter:RGLWRootViewController() engagementType:[type integerValue] dataRetrieval:[RGLWJSONConstructor dataRetrievalFromJson:dataRetrieval] completion:^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
369
+ callback([RGLWJSONConstructor generateCompletion:[RGLWConfig generateDocReaderAction: action] :results :error]);
370
+ }];
371
+ }
372
+
373
+ +(void)startEngageDevice:(NSNumber*)type :(RGLWCallback)callback {
374
+ [RGLDocReader.shared startEngageDeviceFromPresenter:RGLWRootViewController() type:[type integerValue] completion:^(RGLDeviceEngagement* deviceEngagement, NSError* error) {
375
+ callback([RGLWJSONConstructor generateDeviceEngagementCompletion:deviceEngagement :error]);
376
+ }];
377
+ }
378
+
379
+ +(void)engageDeviceNFC:(RGLWCallback)callback {
380
+ [RGLDocReader.shared engageDeviceNFC:RGLWRootViewController() completion:^(RGLDeviceEngagement * _Nullable deviceEngagement, NSError * _Nullable error) {
381
+ callback([RGLWJSONConstructor generateDeviceEngagementCompletion:deviceEngagement :error]);
382
+ }];
383
+ }
384
+
385
+ +(void)engageDeviceData:(NSString*)data :(RGLWCallback)callback {
386
+ [RGLDocReader.shared engageDeviceData:data completion:^(RGLDeviceEngagement * _Nullable deviceEngagement, NSError * _Nullable error) {
387
+ callback([RGLWJSONConstructor generateDeviceEngagementCompletion:deviceEngagement :error]);
388
+ }];
389
+ }
390
+
391
+ +(void)startRetrieveData:(NSDictionary*)dataRetrieval :(NSDictionary*)deviceEngagement :(RGLWCallback)callback {
392
+ [RGLDocReader.shared startRetrieveData:[RGLWJSONConstructor deviceEngagementFromJson:deviceEngagement] dataRetrieval:[RGLWJSONConstructor dataRetrievalFromJson:dataRetrieval] completion:^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
393
+ callback([RGLWJSONConstructor generateCompletion:[RGLWConfig generateDocReaderAction: action] :results :error]);
394
+ }];
395
+ }
396
+
397
+ +(void)retrieveDataNFC:(NSDictionary*)dataRetrieval :(RGLWCallback)callback {
398
+ [RGLDocReader.shared retrieveDataNFC:[RGLWJSONConstructor dataRetrievalFromJson:dataRetrieval] completion:^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
399
+ callback([RGLWJSONConstructor generateCompletion:[RGLWConfig generateDocReaderAction: action] :results :error]);
400
+ }];
401
+ }
402
+
403
+ +(void)retrieveDataBLE:(NSDictionary*)dataRetrieval :(NSDictionary*)deviceEngagement :(RGLWCallback)callback {
404
+ [RGLDocReader.shared retrieveDataBLE:[RGLWJSONConstructor deviceEngagementFromJson:deviceEngagement] dataRetrieval:[RGLWJSONConstructor dataRetrievalFromJson:dataRetrieval] completion:^(RGLDocReaderAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error) {
405
+ callback([RGLWJSONConstructor generateCompletion:[RGLWConfig generateDocReaderAction: action] :results :error]);
406
+ }];
407
+ }
408
+
360
409
  +(void)setLocalizationDictionary:(NSDictionary*)dictionary {
361
410
  RGLDocReader.shared.localizationHandler = ^NSString * _Nullable(NSString * _Nonnull localizationKey) {
362
411
  if(dictionary != nil && ![dictionary isEqual:[NSNull null]] && [dictionary valueForKey:localizationKey] != nil)