Decoder

com.hsm.barcode

## Class Decoder

- java.lang.Object
- - com.hsm.barcode.Decoder

-     public class Decoder
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Decoder()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `callbackKeepGoing()` Callback used to stop decoding.
    `boolean` | `callbackMultiRead()` Callback used for MultiRead (Shotgun).
    `void` | `connectDecoderLibrary()` Method used to connect to the engine and initialize the API.
    `void` | `disableSymbology(int symID)` Disables the passed in symbology ID.
    `void` | `disconnectDecoderLibrary()` Method used to disconnect from the engine and deinitialize the API.
    `void` | `enableSymbology(int symID)` Enables the passed in symbology ID.
    `java.lang.String` | `getAPIRevision()` Retrieves the revision of the API.
    `byte` | `getBarcodeAimID()` Gets the Barcode AimID when `waitForDecode(int)` succeeds.
    `byte` | `getBarcodeAimModifier()` Gets the Barcode AimID when `waitForDecode(int)` succeeds.
    `byte[]` | `getBarcodeByteData()` Gets the Barcode data when `waitForDecode(int)` succeeds.
    `byte` | `getBarcodeCodeID()` Gets the Barcode CodeID when `waitForDecode(int)` succeeds.
    `java.lang.String` | `getBarcodeData()` Gets the Barcode Data in string form when `waitForDecode(int)` succeeds.
    `int` | `getBarcodeLength()` Gets the Barcode length when `waitForDecode(int)` succeeds.
    `java.lang.String` | `getControlLogicRevision()` Retrieves the revision of the Decoder Control Logic.
    `void` | `getDecodeOptions(DecodeOptions options)` Gets the decode options parameters.
    `java.lang.String` | `getDecoderRevision()` Retrieves the revision of the Decoder.
    `void` | `getDecodeWindow(DecodeWindowing.DecodeWindow window)` Retrieves the decode window parameters.
    `void` | `getDecodeWindowLimits(DecodeWindowing.DecodeWindowLimits limits)` Retrieves the decode window parameter limits.
    `int` | `getDecodeWindowMode()` Retrieves the current decode window mode setting
    `java.lang.String` | `getDecThreadsRevision()` Deprecated. Retrieves the revision of the Decoder Threading.
    `int` | `getEngineID()` Retrieves the EngineID of the connected Engine.
    `java.lang.String` | `getEngineSerialNumber()` Retrieves the serial number of the connected Engine.
    `int` | `getEngineType()` Retrieves the engine type of the connected Engine.
    `java.lang.String` | `getErrorMessage(int error)` Method used to get associated error message with an error code.
    `int` | `getExposureMode()` Gets the exposure mode currently set to be used during scanning.
    `void` | `getExposureSettings(int[] array)` Gets the current exposure settings for the image sensor.
    `int` | `getImageHeight()` Gets the image height of the connected engine.
    `void` | `getImagerProperties(ImagerProperties imgProp)` Retrieves the imager properties of the connected engine.
    `int` | `getImageWidth()` Gets the image width of the connected engine.
    `void` | `getIQImage(IQImagingProperties IQParams, Bitmap bitmap)` Retrieves an IQ Image (intelligent imaging)
    `int` | `getLastDecodeTime()` Gets the last decode time for a successful decode
    `byte[]` | `getLastImage(ImageAttributes imgAtt)` Retrieves last image sent to the Decoder.
    `int` | `getLightsMode()` Retrieves the current lights mode for scanning.
    `int` | `getMaxMessageLength()` Retrieves the maximum message length capable of the Decoder.
    `int` | `getOCRMode()` Gets the OCR Mode
    `int` | `getOCRTemplates()` Gets the OCR active template configuration.
    `byte[]` | `getOCRUserTemplate()` Gets the OCR User defined template.
    `void` | `getPreviewFrame(Bitmap bitmap)` Gets a single frame (1/4 size) from the engine.
    `int` | `getPSOCMajorRev()` Retrieves the Major revision of the PSOC of the connected Engine.
    `int` | `getPSOCMinorRev()` Retrieves the Minor revision of the PSOC of the connected Engine.
    `java.lang.String` | `getScanDriverRevision()` Retrieves the revision of the Scan Driver.
    `java.lang.String` | `getSecondaryDecoderRevision()` Deprecated. Secondary Decoder currently unsupported
    `int` | `getShowDecodeWindow()` Retrieves the current show decode window setting.
    `void` | `getSingleFrame(Bitmap bitmap)` Gets a single frame from the engine.
    `void` | `getSymbologyConfig(SymbologyConfig symConfig)` Retrieves the current configuration of the passed in structure.
    `void` | `getSymbologyConfigDefaults(SymbologyConfig symConfig)` Retrieves the default configuration of the passed in structure.
    `int` | `getSymbologyMaxRange(int symID)` Retrieves the maximum range of the passed in symbology ID.
    `int` | `getSymbologyMinRange(int symID)` Retrieves the minimum range of the passed in symbology ID.
    `void` | `setDecodeAttemptLimit(int limit)` Sets the decode attempt limit (or the amount of time it will spend decoding a particular image).
    `void` | `setDecodeOptions(DecodeOptions options)` Sets the decode options parameters.
    `void` | `setDecoderListeners(DecoderListener observer)` Used to register the listeners
    `void` | `setDecodeWindow(DecodeWindowing.DecodeWindow window)` Sets the decode window parameters.
    `void` | `setDecodeWindowMode(int nMode)` Sets the decode window mode to be used.
    `void` | `setExposureMode(int mode)` Sets the exposure mode to be used during scanning.
    `void` | `setExposureSettings(int[] array)` Sets the current exposure settings for the image sensor.
    `void` | `setLastImage(byte[] img, int w, int h)` Sets last image that will be sent to the Decoder.
    `void` | `setLightsMode(int Mode)` Sets the lights mode for scanning.
    `void` | `setOCRMode(int mode)` Sets the OCR Mode (used for enabling/disabling)
    `void` | `setOCRTemplates(int template)` Sets the OCR template configuration (pre-defined).
    `void` | `setOCRUserTemplate(byte[] template)` Sets the OCR User defined template.
    `void` | `setShowDecodeWindow(int nMode)` Sets the show decode window setting.
    `void` | `setSymbologyConfig(SymbologyConfig symConfig)` Sets the current configuration of the passed in structure.
    `void` | `setSymbologyDefaults(int symID)` Sets the passed in symbology ID defaults.
    `void` | `startScanning()` Starts scanning operation (image taking, not decoding).
    `void` | `stopScanning()` Stops scanning operation (image taking, not decoding).
    `void` | `waitForDecode(int dwTimeout)` Method used to start decoding.
    `void` | `waitForDecodeTwo(int dwTimeout, DecodeResult result)` Method to start decoding.
    `void` | `waitMultipleDecode(int dwTimeout)` This function is used to read multiple symbols using a single function call.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Decoder

          public Decoder()

  - ### Method Detail

    - #### connectDecoderLibrary

          public void connectDecoderLibrary()
                                     throws DecoderException

      Method used to connect to the engine and initialize the API.
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### disconnectDecoderLibrary

          public void disconnectDecoderLibrary()
                                        throws DecoderException

      Method used to disconnect from the engine and deinitialize the API.
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getErrorMessage

          public java.lang.String getErrorMessage(int error)
                                           throws DecoderException

      Method used to get associated error message with an error code.
      Parameters:
        `error` - - ResultId to get error message associated
      Returns:
        Error message string
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getMaxMessageLength

          public int getMaxMessageLength()
                                  throws DecoderException

      Retrieves the maximum message length capable of the Decoder.
      Returns:
        The maximum message length
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getEngineID

          public int getEngineID()
                          throws DecoderException

      Retrieves the EngineID of the connected Engine.
      Returns:
        @EngineID of connected engine
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getPSOCMajorRev

          public int getPSOCMajorRev()
                              throws DecoderException

      Retrieves the Major revision of the PSOC of the connected Engine.
      Returns:
        Major PSOC revision of connected Engine
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getPSOCMinorRev

          public int getPSOCMinorRev()
                              throws DecoderException

      Retrieves the Minor revision of the PSOC of the connected Engine.
      Returns:
        Minor PSOC revision of connected Engine
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getEngineSerialNumber

          public java.lang.String getEngineSerialNumber()
                                                 throws DecoderException

      Retrieves the serial number of the connected Engine.
      Returns:
        Serial number of connected Engine
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getEngineType

          public int getEngineType()
                            throws DecoderException

      Retrieves the engine type of the connected Engine.
      Returns:
        @EngineType of connected Engine
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getAPIRevision

          public java.lang.String getAPIRevision()
                                          throws DecoderException

      Retrieves the revision of the API.
      Returns:
        Revision of the API
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getDecoderRevision

          public java.lang.String getDecoderRevision()
                                              throws DecoderException

      Retrieves the revision of the Decoder.
      Returns:
        Revision of the Decoder
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getSecondaryDecoderRevision

          public java.lang.String getSecondaryDecoderRevision()
                                                       throws DecoderException

      Deprecated. Secondary Decoder currently unsupported
      Retrieves the revision of the Secondary Decoder.
      Returns:
        Revision of the Secondary Decoder
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getControlLogicRevision

          public java.lang.String getControlLogicRevision()
                                                   throws DecoderException

      Retrieves the revision of the Decoder Control Logic.
      Returns:
        Revision of the Decoder Control Logic
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getDecThreadsRevision

          public java.lang.String getDecThreadsRevision()
                                                 throws DecoderException

      Deprecated. Retrieves the revision of the Decoder Threading.
      Returns:
        Revision of the Decoder Threading
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getScanDriverRevision

          public java.lang.String getScanDriverRevision()
                                                 throws DecoderException

      Retrieves the revision of the Scan Driver.
      Returns:
        Revision of the Scan Driver
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getImagerProperties

          public void getImagerProperties(ImagerProperties imgProp)
                                   throws DecoderException

      Retrieves the imager properties of the connected engine.
      Parameters:
        `imgProp` - ImagerProperties structure
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getLastImage

          public byte[] getLastImage(ImageAttributes imgAtt)
                              throws DecoderException

      Retrieves last image sent to the Decoder.
      Parameters:
        `imgAtt` - to fill
      Returns:
        RAW image array
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setLastImage

          public void setLastImage(byte[] img,
                                   int w,
                                   int h)
                            throws DecoderException

      Sets last image that will be sent to the Decoder.
      Parameters:
        `img` - - RAW image array
        `w` - - width of image
        `h` - - height of image
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getIQImage

          public void getIQImage(IQImagingProperties IQParams,
                                 Bitmap bitmap)
                          throws DecoderException

      Retrieves an IQ Image (intelligent imaging)
      Parameters:
        `IQParams` - describing the location and parameters of the IQ image to be retrieved
        `bitmap` - returned
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setDecodeWindowMode

          public void setDecodeWindowMode(int nMode)
                                   throws DecoderException

      Sets the decode window mode to be used.
      Parameters:
        `nMode` - DecodeWindowMode setting (see `DecodeWindowing.DecodeWindowMode`)
      Throws:
        `DecoderException`

    - #### getDecodeWindowMode

          public int getDecodeWindowMode()
                                  throws DecoderException

      Retrieves the current decode window mode setting
      Returns:
        DecodeWindowMode
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setDecodeWindow

          public void setDecodeWindow(DecodeWindowing.DecodeWindow window)
                               throws DecoderException

      Sets the decode window parameters.
      Parameters:
        `window` - - DecodeWindow structure to be set
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getDecodeWindow

          public void getDecodeWindow(DecodeWindowing.DecodeWindow window)
                               throws DecoderException

      Retrieves the decode window parameters.
      Parameters:
        `window` - - DecodeWindow structure to be retrieved
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getDecodeWindowLimits

          public void getDecodeWindowLimits(DecodeWindowing.DecodeWindowLimits limits)
                                     throws DecoderException

      Retrieves the decode window parameter limits.
      Parameters:
        `limits` - - DecodeWindowLimits structure to be set
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setShowDecodeWindow

          public void setShowDecodeWindow(int nMode)
                                   throws DecoderException

      Sets the show decode window setting. To be used for debug purpose only when using Decode Windowing.
      Parameters:
        `nMode` - - ShowDecodeWindowMode setting
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getShowDecodeWindow

          public int getShowDecodeWindow()
                                  throws DecoderException

      Retrieves the current show decode window setting.
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### enableSymbology

          public void enableSymbology(int symID)
                               throws DecoderException

      Enables the passed in symbology ID.
      Parameters:
        `symID` - - SymbologyID to be enabled
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### disableSymbology

          public void disableSymbology(int symID)
                                throws DecoderException

      Disables the passed in symbology ID.
      Parameters:
        `symID` - - SymbologyID to be enabled
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setSymbologyDefaults

          public void setSymbologyDefaults(int symID)
                                    throws DecoderException

      Sets the passed in symbology ID defaults.
      Parameters:
        `symID` - - SymbologyID to be defaulted
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setSymbologyConfig

          public void setSymbologyConfig(SymbologyConfig symConfig)
                                  throws DecoderException

      Sets the current configuration of the passed in structure.
      Parameters:
        `symConfig` - - SymbologyConfig to set.
      Throws:
        `DecoderException`

    - #### getSymbologyConfig

          public void getSymbologyConfig(SymbologyConfig symConfig)
                                  throws DecoderException

      Retrieves the current configuration of the passed in structure.
      Parameters:
        `symConfig` - - SymbologyConfig to retrieve.
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getSymbologyConfigDefaults

          public void getSymbologyConfigDefaults(SymbologyConfig symConfig)
                                          throws DecoderException

      Retrieves the default configuration of the passed in structure.
      Parameters:
        `symConfig` - - SymbologyConfig to retrieve.
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getSymbologyMinRange

          public int getSymbologyMinRange(int symID)
                                   throws DecoderException

      Retrieves the minimum range of the passed in symbology ID.
      Parameters:
        `symID` - - SymbologyID minimum range to
      Returns:
        Minimum range of the passed in SymbologyID
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getSymbologyMaxRange

          public int getSymbologyMaxRange(int symID)
                                   throws DecoderException

      Retrieves the maximum range of the passed in symbology ID.
      Parameters:
        `symID` - - SymbologyID maximum range to
      Returns:
        Maximum range of the passed in SymbologyID
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setLightsMode

          public void setLightsMode(int Mode)
                             throws DecoderException

      Sets the lights mode for scanning.
      Parameters:
        `Mode` - - LightsMode setting to set
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getLightsMode

          public int getLightsMode()
                            throws DecoderException

      Retrieves the current lights mode for scanning.
      Returns:
        LightsMode setting returned
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setDecodeAttemptLimit

          public void setDecodeAttemptLimit(int limit)
                                     throws DecoderException

      Sets the decode attempt limit (or the amount of time it will spend decoding a particular image).
      Parameters:
        `limit` - - in milliseconds
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setOCRTemplates

          public void setOCRTemplates(int template)
                               throws DecoderException

      Sets the OCR template configuration (pre-defined).
      Parameters:
        `template` - - OCRTemplates setting
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getOCRTemplates

          public int getOCRTemplates()
                              throws DecoderException

      Gets the OCR active template configuration.
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setOCRUserTemplate

          public void setOCRUserTemplate(byte[] template)
                                  throws DecoderException

      Sets the OCR User defined template.
      Parameters:
        `template` - - byte array of the template
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getOCRUserTemplate

          public byte[] getOCRUserTemplate()
                                    throws DecoderException

      Gets the OCR User defined template.
      Returns:
        template - byte array of the template
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setOCRMode

          public void setOCRMode(int mode)
                          throws DecoderException

      Sets the OCR Mode (used for enabling/disabling)
      Parameters:
        `mode` - - OCRMode to set
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### getOCRMode

          public int getOCRMode()
                         throws DecoderException

      Gets the OCR Mode
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### waitForDecode

          public void waitForDecode(int dwTimeout)
                             throws DecoderException

      Method used to start decoding. Upon successful return, user must get the resulting barcode data using the proceeding native API methods.
      Parameters:
        `dwTimeout` - - timeout in milliseconds to automatically stop scanning
      Throws:
        `DecoderException`

    - #### waitForDecodeTwo

          public void waitForDecodeTwo(int dwTimeout,
                                       DecodeResult result)
                                throws DecoderException

      Method to start decoding. Upon successful return decoded result will be passed back via the result argument.
      Parameters:
        `dwTimeout` - - length of time in milliseconds to timeout
        `result` - - DecodeResult structure
      Throws:
        `DecoderException`

    - #### waitMultipleDecode

          public void waitMultipleDecode(int dwTimeout)
                                  throws DecoderException

      This function is used to read multiple symbols using a single function call. When called, this function attempts to find and decode unique symbols once, and use the `callbackMultiRead()` function to notify the application data is available. This function continues to find and decode symbols until the time specified in the dwTimeout parameter has expired, or until one of the `callbackKeepGoing()` functions returns false.
      Parameters:
        `dwTimeout` - - length of time in milliseconds to timeout
      Throws:
        `DecoderException`

    - #### getBarcodeByteData

          public byte[] getBarcodeByteData()
                                    throws DecoderException

      Gets the Barcode data when `waitForDecode(int)` succeeds.
      Returns:
        byte array with barcode data
      Throws:
        `DecoderException`

    - #### getBarcodeCodeID

          public byte getBarcodeCodeID()
                                throws DecoderException

      Gets the Barcode CodeID when `waitForDecode(int)` succeeds.
      Returns:
        byte value of CodeID
      Throws:
        `DecoderException`

    - #### getBarcodeAimID

          public byte getBarcodeAimID()
                               throws DecoderException

      Gets the Barcode AimID when `waitForDecode(int)` succeeds.
      Returns:
        byte value of AimID
      Throws:
        `DecoderException`

    - #### getBarcodeAimModifier

          public byte getBarcodeAimModifier()
                                     throws DecoderException

      Gets the Barcode AimID when `waitForDecode(int)` succeeds.
      Returns:
        byte value of AimID
      Throws:
        `DecoderException`

    - #### getBarcodeLength

          public int getBarcodeLength()
                               throws DecoderException

      Gets the Barcode length when `waitForDecode(int)` succeeds.
      Returns:
        byte value of length
      Throws:
        `DecoderException`

    - #### getBarcodeData

          public java.lang.String getBarcodeData()
                                          throws DecoderException

      Gets the Barcode Data in string form when `waitForDecode(int)` succeeds.
      Returns:
        string value of barcode data
      Throws:
        `DecoderException`

    - #### getLastDecodeTime

          public int getLastDecodeTime()
                                throws DecoderException

      Gets the last decode time for a successful decode
      Returns:
        last decode time in milliseconds
      Throws:
        `DecoderException`

    - #### getSingleFrame

          public void getSingleFrame(Bitmap bitmap)
                              throws DecoderException

      Gets a single frame from the engine.
      Parameters:
        `bitmap` - image
      Throws:
        `DecoderException`

    - #### getPreviewFrame

          public void getPreviewFrame(Bitmap bitmap)
                               throws DecoderException

      Gets a single frame (1/4 size) from the engine.
      Parameters:
        `bitmap` - image
      Throws:
        `DecoderException`

    - #### startScanning

          public void startScanning()
                             throws DecoderException

      Starts scanning operation (image taking, not decoding).
      Throws:
        `DecoderException`

    - #### stopScanning

          public void stopScanning()
                            throws DecoderException

      Stops scanning operation (image taking, not decoding).
      Throws:
        `DecoderException`

    - #### getImageWidth

          public int getImageWidth()
                            throws DecoderException

      Gets the image width of the connected engine.
      Returns:
        Image width in pixels
      Throws:
        `DecoderException`

    - #### getImageHeight

          public int getImageHeight()
                             throws DecoderException

      Gets the image height of the connected engine.
      Returns:
        Image height in pixels
      Throws:
        `DecoderException`

    - #### setExposureMode

          public void setExposureMode(int mode)
                               throws DecoderException

      Sets the exposure mode to be used during scanning.
      Parameters:
        `mode` - to be set see
      Throws:
        `DecoderException`

    - #### getExposureMode

          public int getExposureMode()
                              throws DecoderException

      Gets the exposure mode currently set to be used during scanning.
      Returns:
        ExposureValues.ExposureMode currently set
      Throws:
        `DecoderException`

    - #### setExposureSettings

          public void setExposureSettings(int[] array)
                                   throws DecoderException

      Sets the current exposure settings for the image sensor.
      Parameters:
        `array` - of exposure settings to set [ExposureValues.ExposureSettings tag, Value]
      Throws:
        `DecoderException`

    - #### getExposureSettings

          public void getExposureSettings(int[] array)
                                   throws DecoderException

      Gets the current exposure settings for the image sensor.
      Parameters:
        `array` - - [ExposureValues.ExposureSettings tag, Value] array to set
      Throws:
        `DecoderException`

    - #### getDecodeOptions

          public void getDecodeOptions(DecodeOptions options)
                                throws DecoderException

      Gets the decode options parameters.
      Parameters:
        `options` - - DecodeOptions structure to be get
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### setDecodeOptions

          public void setDecodeOptions(DecodeOptions options)
                                throws DecoderException

      Sets the decode options parameters.
      Parameters:
        `options` - - DecodeOptions structure to set. (By sending -1 parameter will be ignored)
      Throws:
        `DecoderException` - with appropriate error code and message

    - #### callbackKeepGoing

          public boolean callbackKeepGoing()

      Callback used to stop decoding. It is used in conjunction with `waitForDecode(int)`, `waitForDecodeTwo(int, DecodeResult)` and `waitMultipleDecode(int)`.
      Returns:
        true if the Decoder should continue looking for symbols, otherwise false to stop the decode process.

    - #### callbackMultiRead

          public boolean callbackMultiRead()

      Callback used for MultiRead (Shotgun). Upon successful decode when using `waitMultipleDecode(int)`, the API calls this function when data is available and can be retrieved.
      Returns:
        true if the Decoder is to continue to look for additional symbols, otherwise return false to stop decode attempts.

    - #### setDecoderListeners

          public void setDecoderListeners(DecoderListener observer)

      Used to register the listeners
      Parameters:
        `observer` -