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 |