Capture Properties

Most properties can be set or retrieved (get). Some properties can only be either set or retrieved (e.g. readonly or writeonly).

A property may also have up to one argument. Here is a description for each possible argument a property can have:

Type

Definition

Not applicable

The property does not support this operation.

None

The property does not have any argument.

Byte

The property has a byte as argument.

Ulong

The property has an unsigned long as argument.

Array

The property has an array as argument. Depending of the property the array could be a byte or a word.

String

The property has a string as argument.

Version

The property has a version structure as argument.

Symbology

The property has a Symbology structure as argument.

Object

The property has an Object as argument.

The Capture Properties concern only the main Capture interface, such as the version of Capture or the Capture configuration.

The Device has also a set of properties. Please refer to the Device Properties.

ICaptureProperty.PropId.kAbort

This property is used to start the shutdown process of a Capture application. This property must be used in order to proceed to a clean shutdown.

When Capture is ready to be shutdown, a Terminate event is fired, so the application can safely free any resources as nothing will be received from Capture from that moment on.

Note

The Terminate event is also fired when the communication with Socket Mobile Companion is broken. In that case the Terminate event has an error message. That error message can be used to make a distinction between a clean shutdown and an accidental shutdown.

Get

Get Complete

Set

Set Complete

not applicable

not applicable

None

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kVersion

This property retrieves the build version, date and time of Capture.

The return result is a version structure that has 9 fields: Major, Middle, Minor, Build, Month, Day, Year, Hour and Minute.

Get

Get Complete

Set

Set Complete

None

Version

not applicable

not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kInterfaceVersion

This property retrieves the API version. The API version changes each time a new API is added or removed.

The return result is a version structure that has 9 fields: Major, Middle, Minor, Build, Month, Day, Year, Hour and Minute.

Get

Get Complete

Set

Set Complete

None

Version

not applicable

not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kConfiguration

With this property, an application can read or write a Capture configuration setting such as the Bluetooth COM ports to listen on.

The settings that can be edited or retrieved could be one of the following:

Name

Description

Value

ICaptureProperty.Values.Configuration.kSerialPortComPort

COM port to listen to

COM3;COM4

ICaptureProperty.Values.Configuration.kConfigPath

contains the config file path

Read only

ICaptureProperty.Values.Configuration.kMonitorDbgLevel

contains the actual Debug Level for the traces

0x04 traces error only

ICaptureProperty.Values.Configuration.kMonitorDbgFileLineLevel

Only for debug builds

ICaptureProperty.Values.Configuration.kMonitorDbgChannel

Only for debug builds

Get

Get Complete

Set

Set Complete

String

String

String

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDataConfirmationMode

This property holds the Data Confirmation Mode setting. The Data Confirmation Mode configures the way the decoded data are acknowledged.

The decoded data can be acknowledged at 3 different levels: Local, Capture or Application Level.

The Local acknowledgment is done at the Scanner level. It is the fastest way to acknowledge the data.

The Capture Level acknowledges the decoded data as soon as Capture receives them. This is slightly slower than the Local acknowledgment but this confirms the decoded data has been received at the host.

The last mode, Application Level, is used when the application wants to make sure the decoded data is what it expected. The application needs to send a Data Confirmation command to make the scanner beep and acknowledge the data. The scan button is disabled until the the host acknowledges the data or the timeout period has elapsed. In this mode the application can then acknowledge the data either positively (good beep, good vibrate and green LED), or negatively (bad beep, bad vibrate and red LED). For more details about Data Confirmation see Application Level Data Confirmation from the application.

The constants for the DataConfirmationMode can be one of the following:

Name

Description

ICaptureProperty.Values.ConfirmationMode.kApp

The App has to send a confirmation for the decoded data

ICaptureProperty.Values.ConfirmationMode.kCapture

The Capture is sending a confirmation for the decoded data

ICaptureProperty.Values.ConfirmationMode.kDevice

The Device (scanner) is sending a confirmation for the decoded data

ICaptureProperty.Values.ConfirmationMode.kOff

There is no confirmation required

Get

Get Complete

Set

Set Complete

not applicable

not applicable

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDataConfirmationAction

This property configures the Action that is used only when the Data Confirmation Mode is set to Capture. The Action is composed of three different user feedback options: Beep, Vibration and LED.

The value is a 32-bit value that can be defined using the following helper function: SocketMobile.Capture.Helper.DATACONFIRMATION(0, rumble, beep, led);

This function accepts 4 parameters.

The first one is reserved and should be set to 0.

The second one is the vibration(rumble) and it can have the following values:

Name

Description

ICaptureProperty.Values.DataConfirmation.kRumbleNone

No Vibration

ICaptureProperty.Values.DataConfirmation.kRumbleGood

Vibration indicating a good read

ICaptureProperty.Values.DataConfirmation.kRumbleBad

Vibration indicating a bad read

The next parameter is to define the beep behavior and it can have one of the following values:

ICaptureProperty.Values.DataConfirmation.kBeepNone

No Beep

ICaptureProperty.Values.DataConfirmation.kBeepGood

Beep indicating a good read

ICaptureProperty.Values.DataConfirmation.kBeepBad

Beep indicating a bad read

The last parameter is to define the LED behavior and it can have one of the following values:

ICaptureProperty.Values.DataConfirmation.kLedNone

No LED

ICaptureProperty.Values.DataConfirmation.kLedGreen

Green LED indicating a good read

ICaptureProperty.Values.DataConfirmation.kLedRed

Red LED indicating a bad read

Note

A flag indicating a good scan cannot be mixed with a flag indicating a bad scan otherwise an error ESKT_INVALID_PARAMETER (-18) will be generated. For example DataConfirmation.kRumbleBad cannot be used in conjunction with DataConfirmation.kBeepGood and DataConfirmation.kLedGreen. A “none” flag can be used in either case.

Get

Get Complete

Set

Set Complete

None

Ulong

Ulong

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kSocketCamStatus

This property is used to enable or disable the Soft Scanner.

Note

Windows Platforms do not support the Soft Scanner feature.

Get

Get Complete

Set

Set Complete

none

Byte

Byte

None

Capture Version

1.0.1 or higher

ICaptureProperty.PropId.kSymbologies

This property is used to retrieve information about symbologies supported by Capture, primarily the name and ID. This property takes a Symbology ID value.

Symbology ID values start from 1 (0 is used for not supported) and end at ICaptureSymbology.Id.kLastSymbologyID.

All supported Symbologies can be found by incrementing the Symbology ID until a ‘not supported’ is returned, this will be ICaptureSymbology.Id.kLastSymbologyID.

Note that even though a symbology may be supported by Capture, that does not mean it will be supported by a specific scanner. The scanner must be queried with the ICaptureProperty.PropId.kSymbologyDevice property to determine device symbology support.

The scanner object includes the Symbology ID and Symbology Name.

This property can only be used with the SktCaptureGet API. Using it with the SktCaptureSet API will fail.

Get

Get Complete

Set

Set Complete

Symbology

Symbology

not applicable

not applicable

Capture Version

1.0.1 or higher