# CaptureSDK Event IDs Reference

Complete reference table of all CaptureSDK event IDs with their numeric values and descriptions. Available in C, C#, Dart, Java, Objective-C, and TypeScript. Event IDs identify notifications from CaptureSDK such as device arrival, device removal, decoded data (barcode/NFC), power state changes, and error events. Use these IDs when implementing Capture Helper delegate event handlers.

## Event IDs

See below the event IDs for each language.

## C

## List of event IDs
## These IDs identify capture events

| Event ID number | Event ID name | Type | Description |
| :----------------: | :----- | :----- | :----- |
| 0 | kNotInitialized | kNone | Capture has not been correctly initialized after its first open. |
| 1 | kDeviceArrival | kDeviceInfo | Event when a device has connected or is present. |
| 2 | kDeviceRemoval | kDeviceInfo | Event when a device is no longer present. |
| 3 | kTerminate | kUlong | Event when Capture is terminated. |
| 4 | kError | kUlong | Event when Capture had an error. |
| 5 | kDecodedData | kDecodedData | Event when Capture has some decoded data available. |
| 6 | kPower | kUlong | Event when a device sends a power change notification. |
| 7 | kButtons | kUlong | Event when the device button status has changed. |
| 8 | kBatteryLevel | kUlong | Event when the battery Level has changed. |
| 9 | kListenerStarted | kUlong | Event when the communication listener thread has started. |
| 10 | kDeviceOwnership | kString | Event when a device ownership has changed. |
| 11 | kDeviceManagerArrival | kDeviceInfo | Event when the Device Manager (BLE) is present. |
| 12 | kDeviceManagerRemoval | kDeviceInfo | Event when the Device Manager (BLE) is gone. |
| 13 | kDeviceDiscovered | kDeviceInfo | A device has been discovered. |
| 14 | kDiscoveryEnd | kNone | The device discovery has ended. |
| 15 | kPcscCouplerArrival | kDeviceInfo | Event when a PC/SC device in coupler mode is present. |
| 16 | kPcscCouplerRemoval | kDeviceInfo | Event when a PC/SC device in coupler mode is gone. |
| 17 | kPcscTagArrival | kDeviceInfo | Event when a Tag is present in PC/SC mode. |
| 18 | kPcscTagRemoval | kDeviceInfo | Event when a Tag is gone in PC/SC mode. |
| 19 | kPcscTagTransmitResponse | kArray | Event when a Tag Transmit response is received. |
| 20 | kPcscDeviceControlResponse | kArray | Event when a PC/SC Device Control Response is received. |
| 21 | kLogTrace | kString | Event when a CaptureSDK log trace is generated. |
| 22 | kLastID | kNone | The Last Event should always be the last ID in the list of possible events. |

## List of event data types
## These types identify the data type of an event value

| Type number | Type name | Description |
| :----------------: | :----- | :----- |
| 0 | kNone | For capture events that don't have any value. |
| 1 | kByte | The event has a byte value. |
| 2 | kUlong | The event has a unsigned long value. |
| 3 | kArray | The event has a byte array value. |
| 4 | kString | The event has a string value. |
| 5 | kDecodedData | The event has a decoded data structure as value. |
| 6 | kDeviceInfo | The event has a device info structure as value (read only). |
| 7 | kObject | The event has an object structure (array, map, dictionary) as value (read only). |
| 8 | kLastID | The event type should not be equal or higher that kLastID otherwise| 8 | kLastID | it means the SDK is not in sync with the actual version of Socket| 8 | kLastID | Mobile Companion running on the host. |

## C#

## List of event IDs
## These IDs identify capture events

| Event ID number | Event ID name | Type | Description |
| :----------------: | :----- | :----- | :----- |
| 0 | kNotInitialized | kNone | Capture has not been correctly initialized after its first open. |
| 1 | kDeviceArrival | kDeviceInfo | Event when a device has connected or is present. |
| 2 | kDeviceRemoval | kDeviceInfo | Event when a device is no longer present. |
| 3 | kTerminate | kUlong | Event when Capture is terminated. |
| 4 | kError | kUlong | Event when Capture had an error. |
| 5 | kDecodedData | kDecodedData | Event when Capture has some decoded data available. |
| 6 | kPower | kUlong | Event when a device sends a power change notification. |
| 7 | kButtons | kUlong | Event when the device button status has changed. |
| 8 | kBatteryLevel | kUlong | Event when the battery Level has changed. |
| 9 | kListenerStarted | kUlong | Event when the communication listener thread has started. |
| 10 | kDeviceOwnership | kString | Event when a device ownership has changed. |
| 11 | kDeviceManagerArrival | kDeviceInfo | Event when the Device Manager (BLE) is present. |
| 12 | kDeviceManagerRemoval | kDeviceInfo | Event when the Device Manager (BLE) is gone. |
| 13 | kDeviceDiscovered | kDeviceInfo | A device has been discovered. |
| 14 | kDiscoveryEnd | kNone | The device discovery has ended. |
| 15 | kPcscCouplerArrival | kDeviceInfo | Event when a PC/SC device in coupler mode is present. |
| 16 | kPcscCouplerRemoval | kDeviceInfo | Event when a PC/SC device in coupler mode is gone. |
| 17 | kPcscTagArrival | kDeviceInfo | Event when a Tag is present in PC/SC mode. |
| 18 | kPcscTagRemoval | kDeviceInfo | Event when a Tag is gone in PC/SC mode. |
| 19 | kPcscTagTransmitResponse | kArray | Event when a Tag Transmit response is received. |
| 20 | kPcscDeviceControlResponse | kArray | Event when a PC/SC Device Control Response is received. |
| 21 | kLogTrace | kString | Event when a CaptureSDK log trace is generated. |
| 22 | kLastID | kNone | The Last Event should always be the last ID in the list of possible events. |

## List of event data types
## These types identify the data type of an event value

| Type number | Type name | Description |
| :----------------: | :----- | :----- |
| 0 | kNone | For capture events that don't have any value. |
| 1 | kByte | The event has a byte value. |
| 2 | kUlong | The event has a unsigned long value. |
| 3 | kArray | The event has a byte array value. |
| 4 | kString | The event has a string value. |
| 5 | kDecodedData | The event has a decoded data structure as value. |
| 6 | kDeviceInfo | The event has a device info structure as value (read only). |
| 7 | kObject | The event has an object structure (array, map, dictionary) as value (read only). |
| 8 | kLastID | The event type should not be equal or higher that kLastID otherwise| 8 | kLastID | it means the SDK is not in sync with the actual version of Socket| 8 | kLastID | Mobile Companion running on the host. |

## Dart

## List of event IDs
## These IDs identify capture events

| Event ID number | Event ID name | Type | Description |
| :----------------: | :----- | :----- | :----- |
| 0 | notInitialized | kNone | Capture has not been correctly initialized after its first open. |
| 1 | deviceArrival | kDeviceInfo | Event when a device has connected or is present. |
| 2 | deviceRemoval | kDeviceInfo | Event when a device is no longer present. |
| 3 | terminate | kUlong | Event when Capture is terminated. |
| 4 | error | kUlong | Event when Capture had an error. |
| 5 | decodedData | kDecodedData | Event when Capture has some decoded data available. |
| 6 | power | kUlong | Event when a device sends a power change notification. |
| 7 | buttons | kUlong | Event when the device button status has changed. |
| 8 | batteryLevel | kUlong | Event when the battery Level has changed. |
| 9 | listenerStarted | kUlong | Event when the communication listener thread has started. |
| 10 | deviceOwnership | kString | Event when a device ownership has changed. |
| 11 | deviceManagerArrival | kDeviceInfo | Event when the Device Manager (BLE) is present. |
| 12 | deviceManagerRemoval | kDeviceInfo | Event when the Device Manager (BLE) is gone. |
| 13 | deviceDiscovered | kDeviceInfo | A device has been discovered. |
| 14 | discoveryEnd | kNone | The device discovery has ended. |
| 15 | pcscCouplerArrival | kDeviceInfo | Event when a PC/SC device in coupler mode is present. |
| 16 | pcscCouplerRemoval | kDeviceInfo | Event when a PC/SC device in coupler mode is gone. |
| 17 | pcscTagArrival | kDeviceInfo | Event when a Tag is present in PC/SC mode. |
| 18 | pcscTagRemoval | kDeviceInfo | Event when a Tag is gone in PC/SC mode. |
| 19 | pcscTagTransmitResponse | kArray | Event when a Tag Transmit response is received. |
| 20 | pcscDeviceControlResponse | kArray | Event when a PC/SC Device Control Response is received. |
| 21 | logTrace | kString | Event when a CaptureSDK log trace is generated. |
| 22 | lastID | kNone | The Last Event should always be the last ID in the list of possible events. |

## List of event data types
## These types identify the data type of an event value

| Type number | Type name | Description |
| :----------------: | :----- | :----- |
| 0 | none | For capture events that don't have any value. |
| 1 | byte | The event has a byte value. |
| 2 | ulong | The event has a unsigned long value. |
| 3 | array | The event has a byte array value. |
| 4 | string | The event has a string value. |
| 5 | decodedData | The event has a decoded data structure as value. |
| 6 | deviceInfo | The event has a device info structure as value (read only). |
| 7 | object | The event has an object structure (array, map, dictionary) as value (read only). |
| 8 | lastID | The event type should not be equal or higher that kLastID otherwise| 8 | lastID | it means the SDK is not in sync with the actual version of Socket| 8 | lastID | Mobile Companion running on the host. |

## Java

## List of event IDs
## These IDs identify capture events

| Event ID number | Event ID name | Type | Description |
| :----------------: | :----- | :----- | :----- |
| 0 | NOT_INITIALIZED | kNone | Capture has not been correctly initialized after its first open. |
| 1 | DEVICE_ARRIVAL | kDeviceInfo | Event when a device has connected or is present. |
| 2 | DEVICE_REMOVAL | kDeviceInfo | Event when a device is no longer present. |
| 3 | TERMINATE | kUlong | Event when Capture is terminated. |
| 4 | ERROR | kUlong | Event when Capture had an error. |
| 5 | DATA_DECODED | kDecodedData | Event when Capture has some decoded data available. |
| 6 | POWER_STATE | kUlong | Event when a device sends a power change notification. |
| 7 | BUTTON | kUlong | Event when the device button status has changed. |
| 8 | BATTERY_LEVEL_CHANGE | kUlong | Event when the battery Level has changed. |
| 9 | LISTENER_START | kUlong | Event when the communication listener thread has started. |
| 10 | DEVICE_OWNERSHIP | kString | Event when a device ownership has changed. |
| 11 | DEVICE_MANAGER_ARRIVAL | kDeviceInfo | Event when the Device Manager (BLE) is present. |
| 12 | DEVICE_MANAGER_REMOVAL | kDeviceInfo | Event when the Device Manager (BLE) is gone. |
| 13 | DEVICE_DISCOVERED | kDeviceInfo | A device has been discovered. |
| 14 | DEVICE_DISCOVERY_END | kNone | The device discovery has ended. |
| 15 | PCSC_COUPLER_ARRIVAL | kDeviceInfo | Event when a PC/SC device in coupler mode is present. |
| 16 | PCSC_COUPLER_REMOVAL | kDeviceInfo | Event when a PC/SC device in coupler mode is gone. |
| 17 | PCSC_TAG_ARRIVAL | kDeviceInfo | Event when a Tag is present in PC/SC mode. |
| 18 | PCSC_TAG_REMOVAL | kDeviceInfo | Event when a Tag is gone in PC/SC mode. |
| 19 | PCSC_TAG_TRANSMIT_RESPONSE | kArray | Event when a Tag Transmit response is received. |
| 20 | PCSC_DEVICE_CONTROL_RESPONSE | kArray | Event when a PC/SC Device Control Response is received. |
| 21 | LOG_TRACE | kString | Event when a CaptureSDK log trace is generated. |
| 22 | LAST_ID | kNone | The Last Event should always be the last ID in the list of possible events. |

## List of event data types
## These types identify the data type of an event value

| Type number | Type name | Description |
| :----------------: | :----- | :----- |
| 0 | TYPE_NONE | For capture events that don't have any value. |
| 1 | TYPE_BYTE | The event has a byte value. |
| 2 | TYPE_LONG | The event has a unsigned long value. |
| 3 | TYPE_ARRAY | The event has a byte array value. |
| 4 | TYPE_STRING | The event has a string value. |
| 5 | TYPE_DECODED_DATA | The event has a decoded data structure as value. |
| 6 | TYPE_DEVICE | The event has a device info structure as value (read only). |
| 7 | TYPE_OBJECT | The event has an object structure (array, map, dictionary) as value (read only). |
| 8 | TYPE_LAST_ID | The event type should not be equal or higher that kLastID otherwise| 8 | TYPE_LAST_ID | it means the SDK is not in sync with the actual version of Socket| 8 | TYPE_LAST_ID | Mobile Companion running on the host. |

## Objective-C

## List of event IDs
## These IDs identify capture events

| Event ID number | Event ID name | Type | Description |
| :----------------: | :----- | :----- | :----- |
| 0 | SKTCaptureEventIDNotInitialized | kNone | Capture has not been correctly initialized after its first open. |
| 1 | SKTCaptureEventIDDeviceArrival | kDeviceInfo | Event when a device has connected or is present. |
| 2 | SKTCaptureEventIDDeviceRemoval | kDeviceInfo | Event when a device is no longer present. |
| 3 | SKTCaptureEventIDTerminate | kUlong | Event when Capture is terminated. |
| 4 | SKTCaptureEventIDError | kUlong | Event when Capture had an error. |
| 5 | SKTCaptureEventIDDecodedData | kDecodedData | Event when Capture has some decoded data available. |
| 6 | SKTCaptureEventIDPower | kUlong | Event when a device sends a power change notification. |
| 7 | SKTCaptureEventIDButtons | kUlong | Event when the device button status has changed. |
| 8 | SKTCaptureEventIDBatteryLevel | kUlong | Event when the battery Level has changed. |
| 9 | SKTCaptureEventIDListenerStarted | kUlong | Event when the communication listener thread has started. |
| 10 | SKTCaptureEventIDDeviceOwnership | kString | Event when a device ownership has changed. |
| 11 | SKTCaptureEventIDDeviceManagerArrival | kDeviceInfo | Event when the Device Manager (BLE) is present. |
| 12 | SKTCaptureEventIDDeviceManagerRemoval | kDeviceInfo | Event when the Device Manager (BLE) is gone. |
| 13 | SKTCaptureEventIDDeviceDiscovered | kDeviceInfo | A device has been discovered. |
| 14 | SKTCaptureEventIDDiscoveryEnd | kNone | The device discovery has ended. |
| 15 | SKTCaptureEventIDPcscCouplerArrival | kDeviceInfo | Event when a PC/SC device in coupler mode is present. |
| 16 | SKTCaptureEventIDPcscCouplerRemoval | kDeviceInfo | Event when a PC/SC device in coupler mode is gone. |
| 17 | SKTCaptureEventIDPcscTagArrival | kDeviceInfo | Event when a Tag is present in PC/SC mode. |
| 18 | SKTCaptureEventIDPcscTagRemoval | kDeviceInfo | Event when a Tag is gone in PC/SC mode. |
| 19 | SKTCaptureEventIDPcscTagTransmitResponse | kArray | Event when a Tag Transmit response is received. |
| 20 | SKTCaptureEventIDPcscDeviceControlResponse | kArray | Event when a PC/SC Device Control Response is received. |
| 21 | SKTCaptureEventIDLogTrace | kString | Event when a CaptureSDK log trace is generated. |
| 22 | SKTCaptureEventIDLastID | kNone | The Last Event should always be the last ID in the list of possible events. |

## List of event data types
## These types identify the data type of an event value

| Type number | Type name | Description |
| :----------------: | :----- | :----- |
| 0 | SKTCaptureEventDataTypeNone | For capture events that don't have any value. |
| 1 | SKTCaptureEventDataTypeByte | The event has a byte value. |
| 2 | SKTCaptureEventDataTypeUlong | The event has a unsigned long value. |
| 3 | SKTCaptureEventDataTypeArray | The event has a byte array value. |
| 4 | SKTCaptureEventDataTypeString | The event has a string value. |
| 5 | SKTCaptureEventDataTypeDecodedData | The event has a decoded data structure as value. |
| 6 | SKTCaptureEventDataTypeDeviceInfo | The event has a device info structure as value (read only). |
| 7 | SKTCaptureEventDataTypeObject | The event has an object structure (array, map, dictionary) as value (read only). |
| 8 | SKTCaptureEventDataTypeLastID | The event type should not be equal or higher that kLastID otherwise| 8 | SKTCaptureEventDataTypeLastID | it means the SDK is not in sync with the actual version of Socket| 8 | SKTCaptureEventDataTypeLastID | Mobile Companion running on the host. |

## Swift

## List of event IDs
## These IDs identify capture events

| Event ID number | Event ID name | Type | Description |
| :----------------: | :----- | :----- | :----- |
| 0 | notInitialized | kNone | Capture has not been correctly initialized after its first open. |
| 1 | deviceArrival | kDeviceInfo | Event when a device has connected or is present. |
| 2 | deviceRemoval | kDeviceInfo | Event when a device is no longer present. |
| 3 | terminate | kUlong | Event when Capture is terminated. |
| 4 | error | kUlong | Event when Capture had an error. |
| 5 | decodedData | kDecodedData | Event when Capture has some decoded data available. |
| 6 | power | kUlong | Event when a device sends a power change notification. |
| 7 | buttons | kUlong | Event when the device button status has changed. |
| 8 | batteryLevel | kUlong | Event when the battery Level has changed. |
| 9 | listenerStarted | kUlong | Event when the communication listener thread has started. |
| 10 | deviceOwnership | kString | Event when a device ownership has changed. |
| 11 | deviceManagerArrival | kDeviceInfo | Event when the Device Manager (BLE) is present. |
| 12 | deviceManagerRemoval | kDeviceInfo | Event when the Device Manager (BLE) is gone. |
| 13 | deviceDiscovered | kDeviceInfo | A device has been discovered. |
| 14 | discoveryEnd | kNone | The device discovery has ended. |
| 15 | pcscCouplerArrival | kDeviceInfo | Event when a PC/SC device in coupler mode is present. |
| 16 | pcscCouplerRemoval | kDeviceInfo | Event when a PC/SC device in coupler mode is gone. |
| 17 | pcscTagArrival | kDeviceInfo | Event when a Tag is present in PC/SC mode. |
| 18 | pcscTagRemoval | kDeviceInfo | Event when a Tag is gone in PC/SC mode. |
| 19 | pcscTagTransmitResponse | kArray | Event when a Tag Transmit response is received. |
| 20 | pcscDeviceControlResponse | kArray | Event when a PC/SC Device Control Response is received. |
| 21 | logTrace | kString | Event when a CaptureSDK log trace is generated. |
| 22 | lastID | kNone | The Last Event should always be the last ID in the list of possible events. |

## List of event data types
## These types identify the data type of an event value

| Type number | Type name | Description |
| :----------------: | :----- | :----- |
| 0 | none | For capture events that don't have any value. |
| 1 | byte | The event has a byte value. |
| 2 | ulong | The event has a unsigned long value. |
| 3 | array | The event has a byte array value. |
| 4 | string | The event has a string value. |
| 5 | decodedData | The event has a decoded data structure as value. |
| 6 | deviceInfo | The event has a device info structure as value (read only). |
| 7 | object | The event has an object structure (array, map, dictionary) as value (read only). |
| 8 | lastID | The event type should not be equal or higher that kLastID otherwise| 8 | lastID | it means the SDK is not in sync with the actual version of Socket| 8 | lastID | Mobile Companion running on the host. |

## TypeScript

## List of event IDs
## These IDs identify capture events

| Event ID number | Event ID name | Type | Description |
| :----------------: | :----- | :----- | :----- |
| 0 | NotInitialized | kNone | Capture has not been correctly initialized after its first open. |
| 1 | DeviceArrival | kDeviceInfo | Event when a device has connected or is present. |
| 2 | DeviceRemoval | kDeviceInfo | Event when a device is no longer present. |
| 3 | Terminate | kUlong | Event when Capture is terminated. |
| 4 | Error | kUlong | Event when Capture had an error. |
| 5 | DecodedData | kDecodedData | Event when Capture has some decoded data available. |
| 6 | Power | kUlong | Event when a device sends a power change notification. |
| 7 | Buttons | kUlong | Event when the device button status has changed. |
| 8 | BatteryLevel | kUlong | Event when the battery Level has changed. |
| 9 | ListenerStarted | kUlong | Event when the communication listener thread has started. |
| 10 | DeviceOwnership | kString | Event when a device ownership has changed. |
| 11 | DeviceManagerArrival | kDeviceInfo | Event when the Device Manager (BLE) is present. |
| 12 | DeviceManagerRemoval | kDeviceInfo | Event when the Device Manager (BLE) is gone. |
| 13 | DeviceDiscovered | kDeviceInfo | A device has been discovered. |
| 14 | DiscoveryEnd | kNone | The device discovery has ended. |
| 15 | PcscCouplerArrival | kDeviceInfo | Event when a PC/SC device in coupler mode is present. |
| 16 | PcscCouplerRemoval | kDeviceInfo | Event when a PC/SC device in coupler mode is gone. |
| 17 | PcscTagArrival | kDeviceInfo | Event when a Tag is present in PC/SC mode. |
| 18 | PcscTagRemoval | kDeviceInfo | Event when a Tag is gone in PC/SC mode. |
| 19 | PcscTagTransmitResponse | kArray | Event when a Tag Transmit response is received. |
| 20 | PcscDeviceControlResponse | kArray | Event when a PC/SC Device Control Response is received. |
| 21 | LogTrace | kString | Event when a CaptureSDK log trace is generated. |
| 22 | LastID | kNone | The Last Event should always be the last ID in the list of possible events. |

## List of event data types
## These types identify the data type of an event value

| Type number | Type name | Description |
| :----------------: | :----- | :----- |
| 0 | None | For capture events that don't have any value. |
| 1 | Byte | The event has a byte value. |
| 2 | Ulong | The event has a unsigned long value. |
| 3 | Array | The event has a byte array value. |
| 4 | String | The event has a string value. |
| 5 | DecodedData | The event has a decoded data structure as value. |
| 6 | DeviceInfo | The event has a device info structure as value (read only). |
| 7 | Object | The event has an object structure (array, map, dictionary) as value (read only). |
| 8 | LastID | The event type should not be equal or higher that kLastID otherwise| 8 | LastID | it means the SDK is not in sync with the actual version of Socket| 8 | LastID | Mobile Companion running on the host. |