Source: CipherLab.js


/**
 * @file CipherLab specific APIs for use with Airlock Browser.
 * @version 1.0.6837.22308
 * @copyright Outcoder Sàrl 2018. All Rights Reserved.
 */

 /**
 * The root namespace for CipherLab.
 * @namespace 
 */
airlock.sdks.cipherLab = airlock.sdks.cipherLab || {};

/**
 * @typedef airlock.sdks.cipherLab.CipherLabDeviceConfiguration
 * @property {number} ledDurationMS=0 
 * @property {number} beepSound=0  Valid values are 0 (Default), 1 (Mute), 2 (Alarm2), 3 (Alarm3), 4 (Hwandsw), 5 (LowBattery), 6 (MenuPopup), 7 (MessageBox), 8 (Notify), 9 (VoiceBeep)
 * @property {number} vibrationCount=1  Valid values are [0, 10]
 * @property {boolean} clearPreviousData=false 
 * @property {boolean} showCodeType=false 
 * @property {boolean} showCodeLength=false 
 * @property {number} characterSet=0  Valid values are 0 (windows1250), 1 (windows1251), 2 (windows1252), 3 (windows1253), 4 (windows1254), 5 (windows1255), 6 (windows1256), 7 (windows1257), 8 (windows1258), 9 (big5), 10 (shift_JIS)
 * @property {string} prefixCode 
 * @property {string} suffixCode 
 * @property {string} delimiter 
 * @property {number} addonSecurityLevel=10  Valid values are [2, 30]
 * @property {number} laserOnTimeMS=1000  Valid values are [500, 9900]
 * @property {boolean} projectAimingPattern=true 
 * @property {boolean} decodingIllumination=true 
 * @property {boolean} displayMode=false 
 * @property {number} illuminationPowerLevel=10  Valid values are [0, 10]
 * @property {number} interCharacterGapSize=0  Valid values are 0 (Normal), 1 (Large)
 * @property {number} negativeBarcodes=0  Valid values are 0 (RegularOnly), 1 (InverseOnly), 2 (AutoDetect)
 * @property {boolean} pickListModeEnabled=false 
 * @property {number} presentationUsageTimeOutSeconds=900  Valid values are [1, 1800]
 * @property {number} redundancyLevel=0  Valid values are 0 (Level1), 1 (Level2), 2 (Level3), 3 (Level4)
 * @property {number} scanAngleType=0  Valid values are 0 (Wide), 1 (Narrow)
 * @property {number} scanMode=0  Valid values are 0 (LevelMode), 1 (ContinuousMode), 2 (PresentationMode), 3 (AutoAimMode)
 * @property {number} securityLevel=2  Valid values are [0, 3]
 * @property {number} timeoutBetweenSameSymbologyMS=1000  Valid values are [0, 9900]
 * @property {boolean} transmitCodeIdType=false 
 * @property {number} aimerMode=0  Valid values are 0 (Typical), 1 (OnePullAimAndRead), 2 (OnePullAimSecondPullRead)
 * @property {boolean} centerDecoding=true 
 * @property {number} centerDecodingTolerance=0  Valid values are [0, 100]
 * @property {number} transmitCodeIdChar=0  Valid values are 0 (None), 1 (AimCodeId)
 * @property {number} triggerMode=0  Valid values are 0 (LevelMode), 1 (ContinuousMode), 2 (PresentationMode), 3 (AutoAimMode)
 * @property {boolean} notifyBarcodeReadSuccessful=true 
 * @property {boolean} notifyBarcodeReadFailed=false 
 * @property {boolean} vibrateUponBarcodeNotification=false 
 */
 
/**
 * CipherLab Barcode Decoders
 * @namespace 
 */
cipherLab.decoders = cipherLab.decoders || {};

/**
 * @typedef airlock.sdks.cipherLab.decoders.AustralianPostal
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Aztec
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Chinese2Of5
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Codabar
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {boolean} clsiEditingEnabled=false 
 * @property {number} notisEditingType=0  Valid values are 0 (None), 1 (ABCDUpper), 2 (AbcdLower)
 * @property {boolean} notisEditingEnabled=true 
 * @property {boolean} transmitCheckDigit=true 
 * @property {number} verifyCheckDigit=0  Valid values are 0 (None), 1 (Modulo16), 2 (Modulo7DR), 3 (ModuloBoth)
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Code11
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {number} numberOfCheckDigits=0  Valid values are 0 (None), 1 (One), 2 (Two)
 * @property {boolean} transmitCheckDigit=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Code128
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {number} securityLevel=0  Valid values are 0 (High), 1 (Normal)
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Code39
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {boolean} convertToCode32=false 
 * @property {boolean} convertToCode32Prefix=false 
 * @property {boolean} fullAsciiEnabled=false 
 * @property {boolean} verifyCheckDigit=false 
 * @property {boolean} transmitCheckDigit=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Code93
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Composite
 * @property {boolean} c=true 
 * @property {boolean} ab=false 
 * @property {boolean} tlc39Enabled=false 
 * @property {number} mode=1  Valid values are 0 (UpcNeverLinked), 1 (UpcAlwaysLinked), 2 (AutoDiscriminate)
 * @property {boolean} emulationModeEnabled=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.UccCoupon
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.DataMatrix
 * @property {string} fieldSeparator 
 * @property {number} mirrorImage=0  Valid values are 0 (Never), 1 (Always), 2 (Auto)
 * @property {string} applicationIdentifierMark1 
 * @property {string} applicationIdentifierMark2 
 * @property {boolean} applicationIdentifierEnabled=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.DutchPostal
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Ean13
 * @property {number} addon2=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {number} addon5=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {number} booklandIsbnFormat=0  Valid values are 0 (Isbn10), 1 (Isbn13)
 * @property {boolean} convertToIsbn=false 
 * @property {boolean} convertToIssn=false 
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Ean8
 * @property {number} addon2=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {number} addon5=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {boolean} convertToEan13=false 
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Industrial2Of5
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.JapanPostal
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.UKPostal
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Upce1
 * @property {number} addon2=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {number} addon5=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {boolean} convertToUpca=false 
 * @property {number} preamble=10  Valid values are 0 (None), 10 (SystemCharacter), 20 (SystemCharacterAndCtyCode)
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.GS1128
 * @property {string} applicationIdentifierMark1 
 * @property {string} applicationIdentifierMark2 
 * @property {boolean} applicationIdentifierEnabled=false 
 * @property {string} fieldSeparator 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.GS1DataBar14
 * @property {boolean} convertToUpcEan=false 
 * @property {number} securityLevel=1  Valid values are [0, 3]
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.GS1DataBarExpanded
 * @property {number} securityLevel=1  Valid values are [0, 3]
 * @property {string} fieldSeparator 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.GS1DataBarLimited
 * @property {boolean} convertToUpcEan=false 
 * @property {number} securityLevel=3  Valid values are [1, 4]
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Interleaved2Of5
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {number} checkDigitVerification=0  Valid values are 0 (Disable), 1 (Uss), 2 (Opcc)
 * @property {boolean} convertToEan13=false 
 * @property {boolean} transmitCheckDigit=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Isbt128
 * @property {number} concatenation=2  Valid values are 0 (Disable), 1 (Enable), 2 (Auto)
 * @property {number} concatenationRedundancy=10 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Korean3Of5
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Matrix2Of5
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {boolean} verifyCheckDigit=false 
 * @property {boolean} transmitCheckDigit=false 
 * @property {boolean} redundancyEnabled=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.MaxiCode
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.MicroPdf417
 * @property {boolean} code128Emulation=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.MicroQR
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Msi
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {number} checkDigitAlgorithm=0  Valid values are 0 (Modulo1011), 1 (DoubleModulo10)
 * @property {number} checkDigitOption=0  Valid values are 0 (OneDigit), 1 (TwoDigits)
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Pdf417
 * @property {number} transmitMode=0  Valid values are 0 (PassThroughAllSymbols), 1 (BufferAllSymbols), 2 (TransmitAnySymbolInSet)
 * @property {boolean} escapeCharacterEnabled=true 
 * @property {boolean} transmitControlHeader=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Plessey
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} unconventionalStop=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.QRCode
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Telepen
 * @property {number} lengthMin=4 
 * @property {number} lengthMax=55 
 * @property {number} telepenFormat=0  Valid values are 0 (Ascii), 1 (Numeric)
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.TriopticCode39
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Upca
 * @property {number} addon2=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {number} addon5=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {boolean} convertToEan13=false 
 * @property {number} preamble=10  Valid values are 0 (None), 10 (SystemCharacter), 20 (SystemCharacterAndCtyCode)
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.Upce0
 * @property {number} addon2=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {number} addon5=0  Valid values are 0 (IgnoresAddon), 1 (AutoDiscriminate)
 * @property {boolean} convertToUpca=false 
 * @property {number} preamble=10  Valid values are 0 (None), 10 (SystemCharacter), 20 (SystemCharacterAndCtyCode)
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.UpuFicsPostal
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.USPostal
 * @property {boolean} planetEnabled=true 
 * @property {boolean} postnetEnabled=true 
 * @property {boolean} transmitCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.cipherLab.decoders.UspsPostal
 * @property {boolean} enabled=true 
 */