Source: Zebra.js


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

 /**
 * The root namespace for Zebra.
 * @namespace 
 */
airlock.sdks.zebra = airlock.sdks.zebra || {};

/**
 * @typedef airlock.sdks.zebra.EmdkDeviceConfiguration
 * @property {boolean} enableIlluminationMode=true 
 * @property {number} viewFinderMode=1  Valid values are 0 (Enabled), 1 (StaticReticle)
 * @property {number} viewfinderOffsetX=0 
 * @property {number} viewfinderOffsetY=0 
 * @property {number} viewfinderSize=0 
 * @property {boolean} continuousReadContinuousReadEnabled=false 
 * @property {number} continuousReadDifferentSymbolTimeoutMS=500 
 * @property {number} continuousReadSameSymbolTimeoutMS=500 
 * @property {boolean} adaptiveScanningEnabled=true 
 * @property {number} beamWidth=0  Valid values are 0 (Normal), 1 (Narrow), 2 (Wide)
 * @property {number} powerMode=0  Valid values are 0 (Optimized), 1 (High), 2 (Low), 3 (AlwaysOn)
 * @property {number} decodeAudioFeedbackMode=0  Valid values are 0 (Both), 1 (Disable), 2 (Local), 3 (Remote)
 * @property {number} audioStreamType=0  Valid values are 0 (Alarms), 1 (Media), 2 (Ringer)
 * @property {string} decodeAudioFeedbackUri=content://media/internal/audio/media/88 
 * @property {boolean} decodeLedFeedback=false 
 * @property {number} decodeLedFeedbackMode=0  Valid values are 0 (Both), 1 (Disable), 2 (Local), 3 (Remote)
 * @property {number} decodeLedTimeMS=75 
 * @property {number} beamTimerMS=15000 
 * @property {number} inverse1DMode=1  Valid values are 0 (Auto), 1 (Disabled), 2 (Enabled)
 * @property {boolean} enableLcdMode=false 
 * @property {number} linearSecurityLevel=3  Valid values are 0 (AllThrice), 1 (AllTwice), 2 (LongAndShort), 3 (ShortOrCodabar)
 * @property {number} lowPowerTimeout=250 
 * @property {number} codeIdType=0  Valid values are 0 (None), 1 (AIM), 2 (Symbol)
 * @property {number} aimTimerMS=500 
 * @property {number} aimType=4  Valid values are 0 (ContinuousRead), 1 (PressAndRelease), 2 (TimedHold), 3 (TimedRelease), 4 (Trigger)
 * @property {number} differentSymbolTimeoutMS=500 
 * @property {number} illuminationMode=0  Valid values are 0 (On), 1 (Off)
 * @property {number} oneDQuietZoneLevel=1  Valid values are 0 (Level0), 1 (Level1), 2 (Level2), 3 (Level3)
 * @property {number} picklistEx=0  Valid values are 0 (Disabled), 1 (Hardware), 2 (Software)
 * @property {number} poorQualityDecodeEffortLevel=0  Valid values are 0 (Level0), 1 (Level1), 2 (Level2), 3 (Level3)
 * @property {number} sameSymbolTimeoutMS=500 
 * @property {number} aimingPattern=0  Valid values are 0 (On), 1 (Off)
 * @property {number} connectionIdleTimeSeconds=600 
 * @property {number} illuminationBrightness=10 
 * @property {boolean} notifyBarcodeReadSuccessful=true 
 * @property {boolean} notifyBarcodeReadFailed=false 
 * @property {boolean} vibrateUponBarcodeNotification=false 
 */
 
/**
 * Zebra Barcode Decoders
 * @namespace 
 */
zebra.decoders = zebra.decoders || {};

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

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

 /**
 * @typedef airlock.sdks.zebra.decoders.CodaBar
 * @property {bool?} clsiEditing 
 * @property {bool?} notisEditing 
 * @property {int?} length1=6 
 * @property {int?} length2=55 
 * @property {bool?} redundancy=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Code11
 * @property {bool?} reportCheckDigit=false 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.VerifyCheckDigit?} verifyCheckDigit=1 
 * @property {int?} length1=4 
 * @property {int?} length2=55 
 * @property {bool?} redundancy=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Code128
 * @property {bool?} checkIsbtTable=false 
 * @property {bool?} enableEan128=true 
 * @property {bool?} enableIsbt128=true 
 * @property {bool?} enablePlain=true 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.Isbt128ConcatMode?} isbt128ConcatMode=2 
 * @property {bool?} reducedQuietZone=false 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.SecurityLevel?} securityLevel=1 
 * @property {int?} length1=0 
 * @property {int?} length2=55 
 * @property {bool?} redundancy=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Code39
 * @property {bool?} fullAscii=false 
 * @property {bool?} reducedQuietZone=false 
 * @property {bool?} reportCheckDigit=false 
 * @property {bool?} reportCode32Prefix=false 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.SecurityLevel?} securityLevel=1 
 * @property {bool?} verifyCheckDigit=false 
 * @property {bool?} convertToCode32=false 
 * @property {int?} length1=0 
 * @property {int?} length2=55 
 * @property {bool?} redundancy=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Code93
 * @property {int?} length1=0 
 * @property {int?} length2=55 
 * @property {bool?} redundancy=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.CompositeAB
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.UccLinkMode?} uccLinkMode=0 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.CompositeC
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.DataMatrix
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Discrete2Of5
 * @property {int?} length1=0 
 * @property {int?} length2=14 
 * @property {bool?} redundancy=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Ean13
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Ean8
 * @property {bool?} convertToEan13=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.GS1DataBar
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.GS1DataBarExpanded
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.GS1DataBarLimited
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.GS1LimitedSecurityLevel?} securityLevel=1 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.HanXin
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.HanXinInverse?} hanXinInverse=1 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Interleaved2Of5
 * @property {bool?} convertToEan13=false 
 * @property {bool?} reducedQuietZone=false 
 * @property {bool?} reportCheckDigit=false 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.SecurityLevel?} securityLevel=1 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.CheckDigitType?} verifyCheckDigit=0 
 * @property {int?} length1=14 
 * @property {int?} length2=10 
 * @property {bool?} redundancy=true 
 * @property {boolean} enabled=true 
 */

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

 /**
 * @typedef airlock.sdks.zebra.decoders.Mailmark
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Matrix2Of5
 * @property {bool?} reportCheckDigit=true 
 * @property {bool?} verifyCheckDigit=true 
 * @property {int?} length1=10 
 * @property {int?} length2=0 
 * @property {bool?} redundancy=false 
 * @property {boolean} enabled=true 
 */

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

 /**
 * @typedef airlock.sdks.zebra.decoders.MicroPdf
 * @property {boolean} enabled=true 
 */

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

 /**
 * @typedef airlock.sdks.zebra.decoders.Msi
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.CheckDigit?} checkDigits=0 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.CheckDigitScheme?} checkDigitScheme=1 
 * @property {bool?} reportCheckDigit=false 
 * @property {int?} length1=4 
 * @property {int?} length2=55 
 * @property {bool?} redundancy=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Pdf417
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.PostalAustralia
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.PostalCanada
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.PostalDutch
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.PostalJapan
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.PostalUK
 * @property {bool?} reportCheckDigit=false 
 * @property {boolean} enabled=true 
 */

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

 /**
 * @typedef airlock.sdks.zebra.decoders.Signature
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Tlc39
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Trioptic39
 * @property {bool?} redundancy=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Upca
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.Preamble?} preamble=2 
 * @property {bool?} reportCheckDigit=true 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Upce0
 * @property {bool?} convertToUpca=false 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.Preamble?} preamble=0 
 * @property {bool?} reportCheckDigit=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.Upce1
 * @property {bool?} convertToUpca=false 
 * @property {Outcoder.DeviceSupport.Sdks.Zebra.Emdk.Preamble?} preamble=0 
 * @property {bool?} reportCheckDigit=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.US4State
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.US4StateFics
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.USPlanet
 * @property {bool?} reportCheckDigit=false 
 * @property {boolean} enabled=true 
 */

 /**
 * @typedef airlock.sdks.zebra.decoders.USPostnet
 * @property {bool?} reportCheckDigit=false 
 * @property {boolean} enabled=true 
 */