Skip to main content

Interoperability

Overview

Currently, the interoperability feature only maps a subset of functionality of the Zebra JavaScript SDK to their Datalogic equivalent methods. For the following mapping to succeed, the customer's web application is required to be built for the Zebra SDK, which must include the shim for the Zebra SDK. This shim, a small library of JavaScript code that acts as an intermediary, intercepting API calls injected by the Browser's WebView, for the purpose of both obfuscating and enhancing the SDK functionality, should be found in a file accessible to the web application, usually called rhoapi-modules-EB.js or rhoapi-modules.js.

Barcode

MethodMapped Action
enumerateOn a Zebra device, it would return a list of available scan engines. On a Datalogic device it is simply hard coded to return a value because it doesn't have a functional use.
setDefaultOn a Zebra device, set the scanner to listen to. On a Datalogic device it has no meaning, it performs a no op.
disableDisables all registered scan listeners of the Browser. Maps to BarcodeManager.release().
enableRegisters the callback function to be triggered on scan received scan data. Object argument ignored. Uses BarcodeManger.addReadListener.
PropertyTypeDescription
allDecodersBooleanEnable/disable all symbologies. Maps to BarcodeManager.enableAllSymbologies.
pdf417BooleanEnable/disable PDF417 symbology. Maps to PDF417_ENABLE.
upcaBooleanEnable/disable UPCA symbology. Maps to UPCA_ENABLE.
upce0BooleanEnable/disable UPCE symbology. Maps to UPCE_ENABLE.
msiBooleanEnable/disable MSI symbology. Maps to MSI_ENABLE.
msiReportCheckDigitBooleanEnable/disable MSI Send Checksum. Maps to MSI_SEND_CHECK.
i2of5BooleanEnable/disable Interleaved 2 of 5 symbology. Maps to I25_ENABLE.
ean8BooleanEnable/disable EAN8 symbology. Maps to EAN8_ENABLE.
ean13BooleanEnable/disable EAN13 symbology. Maps to EAN13_ENABLE.
code128BooleanEnable/disable CODE128 symbology. Maps to CODE128_ENABLE.
gs1dataBarBooleanEnable/disable GS1 DataBar-14 symbology. Maps to GS1_14_ENABLE.
upcEanConvertGs1dataBarToUpcEanBooleanEnable/disable converting GS1 DataBar-14 to GS1-128. Maps to GS1_14_GS1_128_MODE.
qrCodeBooleanEnable/disable QR Code symbology. Maps to QRCODE_ENABLE.
microQrBooleanEnable/disable Micro QR Code symbology. Maps to MICRO_QR_ENABLE.

enumerate

enumerate(): { result: [{ __rhoID: "DATALOGIC", __rhoClass: "Rho.Barcode", id: "DATALOGIC", scannerType": "IMAGER", friendlyName: "2D Imager" }]}

On a Zebra device, it would return a list of available scan engines. On a Datalogic device it is simply hard coded to return a value because it doesn't have a functional use.

Returns

Hard coded result indicating the scanner is Datalogic.

Example

var scannerType = Rho.Barcode.enumerate()[0].getProperty("scannerType");

setDefault

setDefault(scanner: Object): Void

On a Zebra device, set the scanner to listen to. On a Datalogic device it has no meaning, it performs a no op.

Parameters

  • scanner: scan object usually retrieved from enumerate

Example

Rho.Barcode.setDefault(Rho.Barcode.enumerate()[0]);

disable

disable(): Void

Disables all registered scan listeners of the Browser. Maps to BarcodeManager.release().

Example

Rho.Barcode.disable()

enable

enable(propertyMap: Object, callback: Function): Void

Registers the callback function to be triggered on scan received scan data. Object argument ignored. Uses BarcodeManger.addReadListener.

Parameters

  • propertyMap: An object of properties applied, it is ignored.
  • callback: Function to call when a scan event occurs. The callback function receives a single parameter, which is an object representing the scanned result. It contains the following properties:
    • data - Scan data retrieved from the scan event.
    • source - Symbology name, mapped to Zebra name. Mapping is not complete.
    • type - Symbology ID, mapped to Zebra's value. Mapping is not complete.
    • time - Hard coded to be "TEST".
    • length - Hard coded to be "TEST".
    • direction - Hard coded to be "TEST".

Example

function MyFunction(scanData) { /* Do something with scanData */ }
Rho.Barcode.enable({}, MyFunction);

allDecoders

allDecoders: Boolean

Enable/disable all symbologies. Maps to BarcodeManager.enableAllSymbologies.

Example

Rho.Barcode.allDecoders = true;

pdf417

pdf417: Boolean

Enable/disable PDF417 symbology. Maps to PDF417_ENABLE.

Example

Rho.Barcode.pdf417 = true;

upca

upca: Boolean

Enable/disable UPCA symbology. Maps to UPCA_ENABLE.

Example

Rho.Barcode.upca = true;

upce0

upce0: Boolean

Enable/disable UPCE symbology. Maps to UPCE_ENABLE.

Example

Rho.Barcode.upce0 = true;

msi

msi: Boolean

Enable/disable MSI symbology. Maps to MSI_ENABLE.

Example

Rho.Barcode.msi = true;

msiReportCheckDigit

msiReportCheckDigit: Boolean

Enable/disable MSI Send Checksum. Maps to MSI_SEND_CHECK.

Example

Rho.Barcode.msiReportCheckDigit = true;

i2of5

i2of5: Boolean

Enable/disable Interleaved 2 of 5 symbology. Maps to I25_ENABLE.

Example

Rho.Barcode.i2of5 = true;

ean8

ean8: Boolean

Enable/disable EAN8 symbology. Maps to EAN8_ENABLE.

Example

Rho.Barcode.ean8 = true;

ean13

ean13: Boolean

Enable/disable EAN13 symbology. Maps to EAN13_ENABLE.

Example

Rho.Barcode.ean13 = true;

code128

code128: Boolean

Enable/disable CODE128 symbology. Maps to CODE128_ENABLE.

Example

Rho.Barcode.code128 = true;

gs1dataBar

gs1dataBar: Boolean

Enable/disable GS1 DataBar-14 symbology. Maps to GS1_14_ENABLE.

Example

Rho.Barcode.gs1dataBar = true;

upcEanConvertGs1dataBarToUpcEan

upcEanConvertGs1dataBarToUpcEan: Boolean

Enable/disable converting GS1 DataBar-14 to GS1-128. Maps to GS1_14_GS1_128_MODE.

Example

Rho.Barcode.upcEanConvertGs1dataBarToUpcEan = true;

qrCode

qrCode: Boolean

Enable/disable QR Code symbology. Maps to QRCODE_ENABLE.

Example

Rho.Barcode.qrCode = true;

microQr

microQr: Boolean

Enable/disable Micro QR Code symbology. Maps to MICRO_QR_ENABLE.

Example

Rho.Barcode.microQr = true;

Application

MethodMapped Action
quitQuits the application. No Datalogic JavaScript SDK equivalent.

quit

quit(): Void

Quits the application. No Datalogic JavaScript SDK equivalent.

Example

Rho.Application.quit();

Notification

MethodMapped Action
playFilePlays a wav file at the given file path. e.g. '/sdcard/Music/infbeg.wav'. No Datalogic JavaScript SDK equivalent.
beepCreates a beep sound from a given JSON object. e.g. { frequency: 3000, volume: 2, duration: 1000 }. No Datalogic JavaScript SDK equivalent.

playfile

playFile(path: String): Void

Plays a wav file at the given file path. e.g. '/sdcard/Music/infbeg.wav'. No Datalogic JavaScript SDK equivalent.

Parameters

  • path: file path from sdcard to the wav file.

Example

Rho.Notification.playFile('/sdcard/Music/myFile.wav');

beep

beep(data: JSON): Void

Creates a beep sound from a given JSON object. e.g. { frequency: 3000, volume: 2, duration: 1000 }. No Datalogic JavaScript SDK equivalent.

Parameters

  • data: object including
    • frequency: Maps to the following tones:
      • 0 - 1000 -> ToneGenerator.TONE_PROP_BEEP
      • 1000 - 3000 -> ToneGenerator.TONE_PROP_ACK
      • 3000 - 5000 -> ToneGenerator.TONE_CDMA_HIGH_L
    • volume: Maps to the following volume percentage:
      • 0 -> 0%
      • 1 -> 33%
      • 2 -> 66%
      • 3 -> 100%
    • duration - length of beep tone in milliseconds.

Example

Rho.Notification.beep({ frequency: 3000, volume: 2, duration: 1000 });