@regulaforensics/cordova-plugin-document-reader-api 7.6.38-beta → 7.6.54

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.
@@ -13,8 +13,8 @@
13
13
  "author": "Regula Forensics Inc.",
14
14
  "license": "commercial",
15
15
  "dependencies": {
16
- "@regulaforensics/cordova-plugin-document-reader-api": "7.6.38-beta",
17
- "@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "7.5.875",
16
+ "@regulaforensics/cordova-plugin-document-reader-api": "7.6.54",
17
+ "@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "7.6.46",
18
18
  "cordova-android": "13.0.0",
19
19
  "cordova-ios": "7.1.1",
20
20
  "cordova-plugin-add-swift-support": "2.0.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regulaforensics/cordova-plugin-document-reader-api",
3
- "version": "7.6.38-beta",
3
+ "version": "7.6.54",
4
4
  "description": "Cordova plugin for reading and validation of identification documents (API framework)",
5
5
  "cordova": {
6
6
  "id": "@regulaforensics/cordova-plugin-document-reader-api",
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <plugin id="@regulaforensics/cordova-plugin-document-reader-api" version="7.6.38-beta" xmlns="http://apache.org/cordova/ns/plugins/1.0">
2
+ <plugin id="@regulaforensics/cordova-plugin-document-reader-api" version="7.6.54" xmlns="http://apache.org/cordova/ns/plugins/1.0">
3
3
  <name>DocumentReaderApi</name>
4
4
  <description>Cordova plugin Document reader api</description>
5
5
  <license>commercial</license>
@@ -24,9 +24,10 @@
24
24
  <source-file src="src/ios/RGLWConfig.m" />
25
25
  <podspec>
26
26
  <config>
27
+ <source url="https://github.com/CocoaPods/Specs.git"/>
27
28
  </config>
28
29
  <pods>
29
- <pod name="DocumentReaderBeta" spec="7.6.4384" />
30
+ <pod name="DocumentReader" spec="7.6.4456" />
30
31
  </pods>
31
32
  </podspec>
32
33
  </platform>
@@ -144,6 +144,7 @@ fun setProcessParams(processParams: ProcessParam, opts: JSONObject) = opts.forEa
144
144
  "strictBarcodeDigitalSignatureCheck" -> processParams.strictBarcodeDigitalSignatureCheck = v as Boolean
145
145
  "selectLongestNames" -> processParams.selectLongestNames = v as Boolean
146
146
  "generateDTCVC" -> processParams.generateDTCVC = v as Boolean
147
+ "strictDLCategoryExpiry" -> processParams.strictDLCategoryExpiry = v as Boolean
147
148
  "measureSystem" -> processParams.measureSystem = v.toInt()
148
149
  "barcodeParserType" -> processParams.barcodeParserType = v.toInt()
149
150
  "perspectiveAngle" -> processParams.perspectiveAngle = v.toInt()
@@ -225,6 +226,7 @@ fun getProcessParams(processParams: ProcessParam) = mapOf(
225
226
  "strictBarcodeDigitalSignatureCheck" to processParams.strictBarcodeDigitalSignatureCheck,
226
227
  "selectLongestNames" to processParams.selectLongestNames,
227
228
  "generateDTCVC" to processParams.generateDTCVC,
229
+ "strictDLCategoryExpiry" to processParams.strictDLCategoryExpiry,
228
230
  "measureSystem" to processParams.measureSystem,
229
231
  "barcodeParserType" to processParams.barcodeParserType,
230
232
  "perspectiveAngle" to processParams.perspectiveAngle,
@@ -442,6 +444,7 @@ fun setRfidScenario(rfidScenario: RfidScenario, opts: JSONObject) = opts.forEach
442
444
  "readDTC" -> rfidScenario.isReadDTC = v as Boolean
443
445
  "mrzStrictCheck" -> rfidScenario.isMrzStrictCheck = v as Boolean
444
446
  "loadCRLFromRemote" -> rfidScenario.isLoadCRLFromRemote = v as Boolean
447
+ "independentSODStatus" -> rfidScenario.isIndependentSODStatus = v as Boolean
445
448
  "signManagementAction" -> rfidScenario.signManagementAction = v.toInt()
446
449
  "readingBuffer" -> rfidScenario.readingBuffer = v.toInt()
447
450
  "onlineTAToSignDataType" -> rfidScenario.onlineTAToSignDataType = v.toInt()
@@ -503,6 +506,7 @@ fun getRfidScenario(rfidScenario: RfidScenario) = mapOf(
503
506
  "readDTC" to rfidScenario.isReadDTC,
504
507
  "mrzStrictCheck" to rfidScenario.isMrzStrictCheck,
505
508
  "loadCRLFromRemote" to rfidScenario.isLoadCRLFromRemote,
509
+ "independentSODStatus" to rfidScenario.isIndependentSODStatus,
506
510
  "signManagementAction" to rfidScenario.signManagementAction,
507
511
  "readingBuffer" to rfidScenario.readingBuffer,
508
512
  "onlineTAToSignDataType" to rfidScenario.onlineTAToSignDataType,
@@ -622,6 +626,7 @@ fun setImageQA(input: ImageQA, opts: JSONObject) = opts.forEach { k, v ->
622
626
  "brightnessThreshold" -> input.brightnessThreshold = v.toDouble()
623
627
  "expectedPass" -> input.expectedPass = v.toIntArray()
624
628
  "glaresCheckParams" -> input.glaresCheckParams = glaresCheckParamsFromJSON(v as JSONObject)
629
+ "occlusionCheck" -> input.occlusionCheck = v as Boolean
625
630
  }
626
631
  }
627
632
 
@@ -636,6 +641,7 @@ fun getImageQA(input: ImageQA) = mapOf(
636
641
  "brightnessThreshold" to input.brightnessThreshold,
637
642
  "expectedPass" to input.expectedPass.generate(),
638
643
  "glaresCheckParams" to generateGlaresCheckParams(input.glaresCheckParams),
644
+ "occlusionCheck" to input.occlusionCheck,
639
645
  ).toJsonObject()
640
646
 
641
647
  fun setAuthenticityParams(input: AuthenticityParams, opts: JSONObject) = opts.forEach { k, v ->
@@ -8,13 +8,13 @@ android {
8
8
 
9
9
  repositories {
10
10
  maven {
11
- url "https://maven.regulaforensics.com/RegulaDocumentReader/Beta"
11
+ url "https://maven.regulaforensics.com/RegulaDocumentReader"
12
12
  }
13
13
  }
14
14
 
15
15
  dependencies {
16
16
  //noinspection GradleDependency
17
- implementation ('com.regula.documentreader:api:7.6.10624'){
17
+ implementation ('com.regula.documentreader:api:7.6.11270'){
18
18
  transitive = true
19
19
  }
20
20
  }
@@ -190,6 +190,7 @@
190
190
  if (options[@"strictBarcodeDigitalSignatureCheck"]) processParams.strictBarcodeDigitalSignatureCheck = options[@"strictBarcodeDigitalSignatureCheck"];
191
191
  if (options[@"selectLongestNames"]) processParams.selectLongestNames = options[@"selectLongestNames"];
192
192
  if (options[@"generateDTCVC"]) processParams.generateDTCVC = options[@"generateDTCVC"];
193
+ if (options[@"strictDLCategoryExpiry"]) processParams.strictDLCategoryExpiry = options[@"strictDLCategoryExpiry"];
193
194
 
194
195
  // Int
195
196
  if([options valueForKey:@"measureSystem"] != nil)
@@ -317,7 +318,8 @@
317
318
  result[@"strictBarcodeDigitalSignatureCheck"] = processParams.strictBarcodeDigitalSignatureCheck;
318
319
  result[@"selectLongestNames"] = processParams.selectLongestNames;
319
320
  result[@"generateDTCVC"] = processParams.generateDTCVC;
320
-
321
+ result[@"strictDLCategoryExpiry"] = processParams.strictDLCategoryExpiry;
322
+
321
323
  // Int
322
324
  result[@"measureSystem"] = [NSNumber numberWithInteger:processParams.measureSystem];
323
325
  result[@"barcodeParserType"] = processParams.barcodeParserType;
@@ -334,19 +336,19 @@
334
336
  result[@"convertCase"] = [self generateWithTextProcessing:processParams.convertCase];
335
337
  result[@"logLevel"] = processParams.logLevel;
336
338
  result[@"mrzDetectMode"] = processParams.mrzDetectMode;
337
-
339
+
338
340
  // String
339
341
  result[@"dateFormat"] = processParams.dateFormat;
340
342
  result[@"scenario"] = processParams.scenario;
341
343
  result[@"captureButtonScenario"] = processParams.captureButtonScenario;
342
-
344
+
343
345
  // Double
344
346
  result[@"timeout"] = processParams.timeout;
345
347
  result[@"timeoutFromFirstDetect"] = processParams.timeoutFromFirstDetect;
346
348
  result[@"timeoutFromFirstDocType"] = processParams.timeoutFromFirstDocType;
347
349
  result[@"documentAreaMin"] = processParams.documentAreaMin;
348
350
  result[@"timeoutLiveness"] = processParams.timeoutLiveness;
349
-
351
+
350
352
  // JSONArray
351
353
  result[@"documentIDList"] = processParams.documentIDList;
352
354
  result[@"barcodeTypes"] = processParams.barcodeTypes;
@@ -356,17 +358,17 @@
356
358
  result[@"lcidFilter"] = processParams.lcidFilter;
357
359
  result[@"mrzFormatsFilter"] = processParams.mrzFormatsFilter;
358
360
  result[@"resultTypeOutput"] = processParams.resultTypeOutput;
359
-
361
+
360
362
  // JSONObject
361
363
  result[@"imageQA"] = [self getImageQA:processParams.imageQA];
362
364
  result[@"rfidParams"] = [RGLWJSONConstructor generateRFIDParams:processParams.rfidParams];
363
365
  result[@"faceApiParams"] = [RGLWJSONConstructor generateFaceAPIParams:processParams.faceApiParams];
364
366
  result[@"backendProcessingConfig"] = [RGLWJSONConstructor generateBackendProcessingConfig:processParams.backendProcessingConfig];
365
367
  result[@"authenticityParams"] = [self getAuthenticityParams:processParams.authenticityParams];
366
-
368
+
367
369
  // Custom
368
370
  result[@"customParams"] = processParams.customParams;
369
-
371
+
370
372
  return result;
371
373
  }
372
374
 
@@ -382,7 +384,7 @@
382
384
  customization.showNextPageAnimation = [[options valueForKey:@"showNextPageAnimation"] boolValue];
383
385
  if([options valueForKey:@"showBackgroundMask"] != nil)
384
386
  customization.showBackgroundMask = [[options valueForKey:@"showBackgroundMask"] boolValue];
385
-
387
+
386
388
  // Int
387
389
  if([options valueForKey:@"cameraFrameBorderWidth"] != nil)
388
390
  customization.cameraFrameBorderWidth = [[options valueForKey:@"cameraFrameBorderWidth"] floatValue];
@@ -394,13 +396,13 @@
394
396
  customization.cameraFrameOffsetWidth = [[options valueForKey:@"cameraFrameOffsetWidth"] floatValue];
395
397
  if(options[@"nextPageAnimationStartDelay"]) customization.nextPageAnimationStartDelay = [options[@"nextPageAnimationStartDelay"] floatValue];
396
398
  if(options[@"nextPageAnimationEndDelay"]) customization.nextPageAnimationEndDelay = [options[@"nextPageAnimationEndDelay"] floatValue];
397
-
399
+
398
400
  // String
399
401
  if([options valueForKey:@"status"] != nil)
400
402
  customization.status = [options valueForKey:@"status"];
401
403
  if([options valueForKey:@"resultStatus"] != nil)
402
404
  customization.resultStatus = [options valueForKey:@"resultStatus"];
403
-
405
+
404
406
  // Color
405
407
  if([options valueForKey:@"cameraFrameDefaultColor"] != nil)
406
408
  customization.cameraFrameDefaultColor = [self colorWithInt:[options valueForKey:@"cameraFrameDefaultColor"]];
@@ -424,7 +426,7 @@
424
426
  customization.cameraPreviewBackgroundColor = [self colorWithInt:[options valueForKey:@"cameraPreviewBackgroundColor"]];
425
427
  if([options valueForKey:@"backgroundMaskColor"] != nil)
426
428
  customization.backgroundMaskColor = [self colorWithInt:[options valueForKey:@"backgroundMaskColor"]];
427
-
429
+
428
430
  // Float
429
431
  if([options valueForKey:@"statusPositionMultiplier"] != nil)
430
432
  customization.statusPositionMultiplier = [[options valueForKey:@"statusPositionMultiplier"] floatValue];
@@ -446,7 +448,7 @@
446
448
  customization.cameraFrameCornerRadius = [[options valueForKey:@"cameraFrameCornerRadius"] floatValue];
447
449
  if([options valueForKey:@"livenessAnimationPositionMultiplier"] != nil)
448
450
  customization.livenessAnimationPositionMultiplier = [[options valueForKey:@"livenessAnimationPositionMultiplier"] floatValue];
449
-
451
+
450
452
  // Drawable
451
453
  if([options valueForKey:@"multipageAnimationFrontImage"] != nil)
452
454
  customization.multipageAnimationFrontImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"multipageAnimationFrontImage"]];
@@ -472,13 +474,13 @@
472
474
  customization.torchButtonOffImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"torchButtonOffImage"]];
473
475
  if([options valueForKey:@"livenessAnimationImage"] != nil)
474
476
  customization.livenessAnimationImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"livenessAnimationImage"]];
475
-
477
+
476
478
  // Font
477
479
  if([options valueForKey:@"statusTextFont"] != nil)
478
480
  customization.statusTextFont = [self UIFontFromJSON:[options valueForKey:@"statusTextFont"]];
479
481
  if([options valueForKey:@"resultStatusTextFont"] != nil)
480
482
  customization.resultStatusTextFont = [self UIFontFromJSON:[options valueForKey:@"resultStatusTextFont"]];
481
-
483
+
482
484
  // Custom
483
485
  if([options valueForKey:@"customLabelStatus"] != nil)
484
486
  customization.customLabelStatus = [[NSAttributedString alloc]initWithString:[options valueForKey:@"customLabelStatus"]];
@@ -486,7 +488,7 @@
486
488
  customization.cameraFrameLineCap = [self lineCapWithNumber:[options valueForKey:@"cameraFrameLineCap"]];
487
489
  if([options valueForKey:@"uiCustomizationLayer"] != nil)
488
490
  customization.customUILayerJSON = [options valueForKey:@"uiCustomizationLayer"];
489
-
491
+
490
492
  // ContentMode
491
493
  if([options valueForKey:@"helpAnimationImageContentMode"] != nil)
492
494
  customization.helpAnimationImageContentMode = [self viewContentModeWithNumber:[options valueForKey:@"helpAnimationImageContentMode"]];
@@ -509,14 +511,14 @@
509
511
 
510
512
  +(NSDictionary*)getCustomization:(RGLCustomization*)customization {
511
513
  NSMutableDictionary *result = [NSMutableDictionary new];
512
-
514
+
513
515
  // Boolean
514
516
  result[@"showStatusMessages"] = [NSNumber numberWithBool:customization.showStatusMessages];
515
517
  result[@"showResultStatusMessages"] = [NSNumber numberWithBool:customization.showResultStatusMessages];
516
518
  result[@"showHelpAnimation"] = [NSNumber numberWithBool:customization.showHelpAnimation];
517
519
  result[@"showNextPageAnimation"] = [NSNumber numberWithBool:customization.showNextPageAnimation];
518
520
  result[@"showBackgroundMask"] = [NSNumber numberWithBool:customization.showBackgroundMask];
519
-
521
+
520
522
  // Int
521
523
  result[@"cameraFrameBorderWidth"] = [NSNumber numberWithFloat:customization.cameraFrameBorderWidth];
522
524
  result[@"cameraFrameLineLength"] = [NSNumber numberWithFloat:customization.cameraFrameLineLength];
@@ -524,11 +526,11 @@
524
526
  result[@"cameraFrameOffsetWidth"] = [NSNumber numberWithFloat:customization.cameraFrameOffsetWidth];
525
527
  result[@"nextPageAnimationStartDelay"] = [NSNumber numberWithFloat:customization.nextPageAnimationStartDelay];
526
528
  result[@"nextPageAnimationEndDelay"] = [NSNumber numberWithFloat:customization.nextPageAnimationEndDelay];
527
-
529
+
528
530
  // String
529
531
  result[@"status"] = customization.status;
530
532
  result[@"resultStatus"] = customization.resultStatus;
531
-
533
+
532
534
  // Color
533
535
  result[@"cameraFrameDefaultColor"] = [self intWithColor:customization.cameraFrameDefaultColor];
534
536
  result[@"cameraFrameActiveColor"] = [self intWithColor:customization.cameraFrameActiveColor];
@@ -541,7 +543,7 @@
541
543
  result[@"statusBackgroundColor"] = [self intWithColor:customization.statusBackgroundColor];
542
544
  result[@"cameraPreviewBackgroundColor"] = [self intWithColor:customization.cameraPreviewBackgroundColor];
543
545
  result[@"backgroundMaskColor"] = [self intWithColor:customization.backgroundMaskColor];
544
-
546
+
545
547
  // Float
546
548
  result[@"statusPositionMultiplier"] = [NSNumber numberWithFloat:customization.statusPositionMultiplier];
547
549
  result[@"resultStatusPositionMultiplier"] = [NSNumber numberWithFloat:customization.resultStatusPositionMultiplier];
@@ -553,7 +555,7 @@
553
555
  result[@"cameraFramePortraitAspectRatio"] = [NSNumber numberWithFloat:customization.cameraFramePortraitAspectRatio];
554
556
  result[@"cameraFrameCornerRadius"] = [NSNumber numberWithFloat:customization.cameraFrameCornerRadius];
555
557
  result[@"livenessAnimationPositionMultiplier"] = [NSNumber numberWithFloat:customization.livenessAnimationPositionMultiplier];
556
-
558
+
557
559
  // Drawable
558
560
  result[@"multipageAnimationFrontImage"] = [RGLWJSONConstructor base64WithImage:customization.multipageAnimationFrontImage];
559
561
  result[@"multipageAnimationBackImage"] = [RGLWJSONConstructor base64WithImage:customization.multipageAnimationBackImage];
@@ -567,27 +569,27 @@
567
569
  result[@"torchButtonOnImage"] = [RGLWJSONConstructor base64WithImage:customization.torchButtonOnImage];
568
570
  result[@"torchButtonOffImage"] = [RGLWJSONConstructor base64WithImage:customization.torchButtonOffImage];
569
571
  result[@"livenessAnimationImage"] = [RGLWJSONConstructor base64WithImage:customization.livenessAnimationImage];
570
-
572
+
571
573
  // Font
572
574
  result[@"statusTextFont"] = [self generateUIFont:customization.statusTextFont];
573
575
  result[@"resultStatusTextFont"] = [self generateUIFont:customization.resultStatusTextFont];
574
-
576
+
575
577
  // Custom
576
578
  if(customization.customLabelStatus != nil) result[@"customLabelStatus"] = customization.customLabelStatus.string;
577
579
  result[@"cameraFrameLineCap"] = [self generateLineCap:customization.cameraFrameLineCap];
578
580
  result[@"uiCustomizationLayer"] = customization.customUILayerJSON;
579
-
581
+
580
582
  // ContentMode
581
583
  result[@"helpAnimationImageContentMode"] = [self generateViewContentMode:customization.helpAnimationImageContentMode];
582
584
  result[@"multipageAnimationFrontImageContentMode"] = [self generateViewContentMode:customization.multipageAnimationFrontImageContentMode];
583
585
  result[@"multipageAnimationBackImageContentMode"] = [self generateViewContentMode:customization.multipageAnimationBackImageContentMode];
584
586
  result[@"livenessAnimationImageContentMode"] = [self generateViewContentMode:customization.livenessAnimationImageContentMode];
585
587
  result[@"borderBackgroundImageContentMode"] = [self generateViewContentMode:customization.borderBackgroundImageContentMode];
586
-
588
+
587
589
  result[@"colors"] = [self getColors: [customization.uiConfiguration valueForKey:@"colors"]];
588
590
  result[@"fonts"] = [self getFonts: [customization.uiConfiguration valueForKey:@"fonts"]];
589
591
  result[@"images"] = [self getImages: [customization.uiConfiguration valueForKey:@"images"]];
590
-
592
+
591
593
  return result;
592
594
  }
593
595
 
@@ -663,8 +665,9 @@
663
665
  rfidScenario.proceedReadingAlways = [[options valueForKey:@"proceedReadingAlways"] boolValue];
664
666
  if(options[@"readDTC"]) rfidScenario.readDTC = [options[@"readDTC"] boolValue];
665
667
  if(options[@"mrzStrictCheck"]) rfidScenario.mrzStrictCheck = options[@"mrzStrictCheck"];
666
- if(options[@"loadCRLFromRemote"]) rfidScenario.loadCRLFromRemote = options[@"loadCRLFromRemote"];
667
-
668
+ if(options[@"loadCRLFromRemote"]) rfidScenario.loadCRLFromRemote = [options[@"loadCRLFromRemote"] boolValue];
669
+ if(options[@"independentSODStatus"]) rfidScenario.independentSODStatus = options[@"independentSODStatus"];
670
+
668
671
  // Int
669
672
  if([options valueForKey:@"signManagementAction"] != nil)
670
673
  rfidScenario.signManagementAction = [[options valueForKey:@"signManagementAction"] integerValue];
@@ -684,7 +687,7 @@
684
687
  rfidScenario.terminalType = [[options valueForKey:@"terminalType"] integerValue];
685
688
  if([options valueForKey:@"defaultReadingBufferSize"] != nil)
686
689
  rfidScenario.defaultReadingBufferSize = [[options valueForKey:@"defaultReadingBufferSize"] intValue];
687
-
690
+
688
691
  // String
689
692
  if([options valueForKey:@"password"] != nil)
690
693
  rfidScenario.password = [options valueForKey:@"password"];
@@ -699,7 +702,7 @@
699
702
  if([options valueForKey:@"eSignPINNewValue"] != nil)
700
703
  rfidScenario.eSignPINNewValue = [options valueForKey:@"eSignPINNewValue"];
701
704
  if(options[@"cardAccess"]) rfidScenario.cardAccess = options[@"cardAccess"];
702
-
705
+
703
706
  // DataGroup
704
707
  if([options valueForKey:@"ePassportDataGroups"] != nil)
705
708
  [self setDataGroups :rfidScenario.ePassportDataGroups dict:[options valueForKey:@"ePassportDataGroups"]];
@@ -712,7 +715,7 @@
712
715
 
713
716
  +(NSDictionary*)getRfidScenario:(RGLRFIDScenario*)rfidScenario {
714
717
  NSMutableDictionary *result = [NSMutableDictionary new];
715
-
718
+
716
719
  // Boolean
717
720
  result[@"paceStaticBinding"] = [NSNumber numberWithBool:rfidScenario.paceStaticBinding];
718
721
  result[@"onlineTA"] = [NSNumber numberWithBool:rfidScenario.onlineTA];
@@ -751,7 +754,8 @@
751
754
  result[@"readDTC"] = [NSNumber numberWithBool:rfidScenario.readDTC];
752
755
  result[@"mrzStrictCheck"] = rfidScenario.mrzStrictCheck;
753
756
  result[@"loadCRLFromRemote"] = @(rfidScenario.loadCRLFromRemote);
754
-
757
+ result[@"independentSODStatus"] = rfidScenario.independentSODStatus;
758
+
755
759
  // Int
756
760
  result[@"signManagementAction"] = [NSNumber numberWithInteger:rfidScenario.signManagementAction];
757
761
  result[@"readingBuffer"] = [NSNumber numberWithInteger:rfidScenario.readingBuffer];
@@ -762,7 +766,7 @@
762
766
  result[@"pacePasswordType"] = [NSNumber numberWithInteger:rfidScenario.pacePasswordType];
763
767
  result[@"terminalType"] = [NSNumber numberWithInteger:rfidScenario.terminalType];
764
768
  result[@"defaultReadingBufferSize"] = [NSNumber numberWithInteger:rfidScenario.defaultReadingBufferSize];
765
-
769
+
766
770
  // String
767
771
  result[@"password"] = rfidScenario.password;
768
772
  result[@"pkdPA"] = rfidScenario.pkdPA;
@@ -771,18 +775,18 @@
771
775
  result[@"eSignPINDefault"] = rfidScenario.eSignPINDefault;
772
776
  result[@"eSignPINNewValue"] = rfidScenario.eSignPINNewValue;
773
777
  result[@"cardAccess"] = rfidScenario.cardAccess;
774
-
778
+
775
779
  // DataGroup
776
780
  result[@"eDLDataGroups"] = [self getDataGroups:rfidScenario.eDLDataGroups];
777
781
  result[@"ePassportDataGroups"] = [self getDataGroups:rfidScenario.ePassportDataGroups];
778
782
  result[@"eIDDataGroups"] = [self getDataGroups:rfidScenario.eIDDataGroups];
779
783
  result[@"dtcDataGroups"] = [self getDTCDataGroup:rfidScenario.DTCDataGroups];
780
-
784
+
781
785
  return result;
782
786
  }
783
787
 
784
788
  +(void)setDataGroups:(RGLDataGroup*)dataGroup dict:(NSDictionary*)dict {
785
-
789
+
786
790
  // EDLDataGroups/Common: 1-14
787
791
  if([dict valueForKey:@"DG1"] != nil)
788
792
  dataGroup.dG1 = [[dict valueForKey:@"DG1"] boolValue];
@@ -812,7 +816,7 @@
812
816
  dataGroup.dG13 = [[dict valueForKey:@"DG13"] boolValue];
813
817
  if([dict valueForKey:@"DG14"] != nil)
814
818
  dataGroup.dG14 = [[dict valueForKey:@"DG14"] boolValue];
815
-
819
+
816
820
  // EPassportDataGroups: 1-16
817
821
  if ([dataGroup class] == [RGLePassportDataGroup class]) {
818
822
  if([dict valueForKey:@"DG15"] != nil)
@@ -820,7 +824,7 @@
820
824
  if([dict valueForKey:@"DG16"] != nil)
821
825
  ((RGLePassportDataGroup*)dataGroup).dG16 = [[dict valueForKey:@"DG16"] boolValue];
822
826
  }
823
-
827
+
824
828
  // EIDDataGroups: 1-21
825
829
  if ([dataGroup class] == [RGLeIDDataGroup class]) {
826
830
  if([dict valueForKey:@"DG15"] != nil)
@@ -842,7 +846,7 @@
842
846
 
843
847
  +(NSDictionary *)getDataGroups:(RGLDataGroup*)dataGroup {
844
848
  NSMutableDictionary *result = [NSMutableDictionary new];
845
-
849
+
846
850
  // EDLDataGroups/Common: 1-14
847
851
  result[@"DG1"] = [NSNumber numberWithBool:dataGroup.dG1];
848
852
  result[@"DG2"] = [NSNumber numberWithBool:dataGroup.dG2];
@@ -858,13 +862,13 @@
858
862
  result[@"DG12"] = [NSNumber numberWithBool:dataGroup.dG12];
859
863
  result[@"DG13"] = [NSNumber numberWithBool:dataGroup.dG13];
860
864
  result[@"DG14"] = [NSNumber numberWithBool:dataGroup.dG14];
861
-
865
+
862
866
  // EPassportDataGroups: 1-16
863
867
  if ([dataGroup class] == [RGLePassportDataGroup class]) {
864
868
  result[@"DG15"] = [NSNumber numberWithBool:((RGLePassportDataGroup*)dataGroup).dG15];
865
869
  result[@"DG16"] = [NSNumber numberWithBool:((RGLePassportDataGroup*)dataGroup).dG16];
866
870
  }
867
-
871
+
868
872
  // EIDDataGroups: 1-21
869
873
  if ([dataGroup class] == [RGLeIDDataGroup class]) {
870
874
  result[@"DG15"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG15];
@@ -875,7 +879,7 @@
875
879
  result[@"DG20"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG20];
876
880
  result[@"DG21"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG21];
877
881
  }
878
-
882
+
879
883
  return result;
880
884
  }
881
885
 
@@ -889,13 +893,13 @@
889
893
 
890
894
  +(NSDictionary *)getDTCDataGroup:(RGLDTCDataGroup*)dataGroup {
891
895
  NSMutableDictionary *result = [NSMutableDictionary new];
892
-
896
+
893
897
  result[@"DG17"] = @(dataGroup.dG17);
894
898
  result[@"DG18"] = @(dataGroup.dG18);
895
899
  result[@"DG22"] = @(dataGroup.dG22);
896
900
  result[@"DG23"] = @(dataGroup.dG23);
897
901
  result[@"DG24"] = @(dataGroup.dG24);
898
-
902
+
899
903
  return result;
900
904
  }
901
905
 
@@ -923,11 +927,12 @@
923
927
  result.glaresCheckParams = [RGLWJSONConstructor glaresCheckParamsFromJson:[input valueForKey:@"glaresCheckParams"]];
924
928
  if([input valueForKey:@"brightnessThreshold"] != nil)
925
929
  result.brightnessThreshold = [input valueForKey:@"brightnessThreshold"];
930
+ if(input[@"occlusionCheck"]) result.occlusionCheck = input[@"occlusionCheck"];
926
931
  }
927
932
 
928
933
  +(NSDictionary*)getImageQA:(RGLImageQA*)input {
929
934
  NSMutableDictionary *result = [NSMutableDictionary new];
930
-
935
+
931
936
  result[@"dpiThreshold"] = input.dpiThreshold;
932
937
  result[@"angleThreshold"] = input.angleThreshold;
933
938
  result[@"focusCheck"] = input.focusCheck;
@@ -942,6 +947,7 @@
942
947
  result[@"documentPositionIndent"] = input.documentPositionIndent;
943
948
  result[@"glaresCheckParams"] = [RGLWJSONConstructor generateGlaresCheckParams:input.glaresCheckParams];
944
949
  result[@"brightnessThreshold"] = input.brightnessThreshold;
950
+ result[@"occlusionCheck"] = input.occlusionCheck;
945
951
 
946
952
  return result;
947
953
  }
@@ -1347,6 +1353,7 @@
1347
1353
  if(value == RGLImageQualityCheckTypePortrait) return @7;
1348
1354
  if(value == RGLImageQualityCheckTypeHandwritten) return @8;
1349
1355
  if(value == RGLImageQualityCheckTypeBrightness) return @9;
1356
+ if(value == RGLImageQualityCheckTypeOcclusion) return @10;
1350
1357
  return 0;
1351
1358
  }
1352
1359
 
@@ -1363,6 +1370,7 @@
1363
1370
  if(value == 7) return RGLImageQualityCheckTypePortrait;
1364
1371
  if(value == 8) return RGLImageQualityCheckTypeHandwritten;
1365
1372
  if(value == 9) return RGLImageQualityCheckTypeBrightness;
1373
+ if(value == 10) return RGLImageQualityCheckTypeOcclusion;
1366
1374
  return RGLImageQualityCheckTypeImageGlares;
1367
1375
  }
1368
1376
 
@@ -1235,6 +1235,7 @@ class ImageQA {
1235
1235
  result.expectedPass.push(jsonObject["expectedPass"][i])
1236
1236
  result.documentPositionIndent = jsonObject["documentPositionIndent"]
1237
1237
  result.brightnessThreshold = jsonObject["brightnessThreshold"]
1238
+ result.occlusionCheck = jsonObject["occlusionCheck"]
1238
1239
 
1239
1240
  return result
1240
1241
  }
@@ -1384,6 +1385,7 @@ class ProcessParams {
1384
1385
  result.strictBarcodeDigitalSignatureCheck = jsonObject["strictBarcodeDigitalSignatureCheck"]
1385
1386
  result.selectLongestNames = jsonObject["selectLongestNames"]
1386
1387
  result.generateDTCVC = jsonObject["generateDTCVC"]
1388
+ result.strictDLCategoryExpiry = jsonObject["strictDLCategoryExpiry"]
1387
1389
  result.barcodeParserType = jsonObject["barcodeParserType"]
1388
1390
  result.perspectiveAngle = jsonObject["perspectiveAngle"]
1389
1391
  result.minDPI = jsonObject["minDPI"]
@@ -1732,6 +1734,7 @@ class RFIDScenario {
1732
1734
  result.readDTC = jsonObject["readDTC"]
1733
1735
  result.mrzStrictCheck = jsonObject["mrzStrictCheck"]
1734
1736
  result.loadCRLFromRemote = jsonObject["loadCRLFromRemote"]
1737
+ result.independentSODStatus = jsonObject["independentSODStatus"]
1735
1738
  result.readingBuffer = jsonObject["readingBuffer"]
1736
1739
  result.onlineTAToSignDataType = jsonObject["onlineTAToSignDataType"]
1737
1740
  result.defaultReadingBufferSize = jsonObject["defaultReadingBufferSize"]
@@ -2852,6 +2855,7 @@ const eImageQualityCheckType = {
2852
2855
  IQC_PORTRAIT: 7,
2853
2856
  IQC_HANDWRITTEN: 8,
2854
2857
  IQC_BRIGHTNESS: 9,
2858
+ IQC_OCCLUSION: 10,
2855
2859
  }
2856
2860
 
2857
2861
  const MRZFormat = {
@@ -4035,6 +4039,8 @@ const eVisualFieldType = {
4035
4039
  FT_DIGITAL_TRAVEL_AUTHORIZATION_NUMBER: 690,
4036
4040
  FT_DATE_OF_FIRST_POSITIVE_TEST_RESULT: 691,
4037
4041
  FT_EF_CARD_ACCESS: 692,
4042
+ FT_SHORT_FLIGHT_NUMBER: 693,
4043
+ FT_AIRLINE_CODE: 694,
4038
4044
  }
4039
4045
 
4040
4046
  const DocReaderOrientation = {