Capture API

class SKTAppInfo : public NSObject
#include <SKTCapture.h>

regroup the Application Information to be able to open Capture.

Public Functions

bool verifyWithBundleId:(NSString * bundleId)

Property

property SKTAppInfo::AppID

should be set to the platform prefix followed by a colon and the app Bundle ID: example: “ios: com.mycompany.myapp”

property SKTAppInfo::DeveloperID

should be set to the Socket Mobile Developer ID: 07ef56c4-7acc-323b-7821-5c0ab2122243

property SKTAppInfo::AppKey

should be set to the application AppKey: MCwCFBsP4MDTmN+fBzsWLxYBsBmGalwTAhR56dMFyCEdzlxKd1zNWfdACsXjuA==

class SKTCapture : public NSObject
#include <SKTCapture.h>

The SKTCapture class is the main entry point to Capture.

This class must be instanciated with init or initWithDelegate, and then open with the AppInfo. The open result can be retrieved in the completion block to check if it was successful.

Once open and a delegate has been specified, the application can receive notifications from Capture.

If a Socket Mobile scanner connects to the iOS device, a device arrival event is received through the delegate containing the scanner information such as the scanner GUID.

The scanner must be opened in order to receive the decoded data. This is accomplished by calling the openDeviceWithGuid with the scanner GUID retrieved from the device arrival event.

The scanner configuration can be read or set using the capture instance that was received in the completion block of the openDeviceWithGuid method. The configuration read is done by calling the method getProperty:completionHandler from the capture instance representing the scanner. Same thing for writing a configuration to the scanner, this time by using the method setProperty:completionHandler of the capture instance representing the scanner.

Once the scanner is no longer needed by the application, the method closeWithCompletionHandler can be called from the capture instance of the scanner to close. NOTE: Closing the scanner won’t actually disconnect from the iOS device.

Public Functions

instancetype init()

initialize Capture object without delegate.

instancetype initWithDelegate:(id< SKTCaptureDelegate > delegate)

initialize Capture object with delegate.

Return

the capture instance.

Remark

this is the recommended method to initialize capture.

Parameters
  • delegate: reference to an object instance implementing the SKTCaptureDelegateProtocol.

void setDelegate:(id< SKTCaptureDelegate > delegate)

change the capture delegate.

Remark

it is safe to specify nil as delegate to ignore all capture events

Parameters
  • delegate: set a new delegate or nil as delegate for receiving Capture event

void openWithAppInfo:completionHandler:(SKTAppInfo * appInfo, void(^)( SKTResult result) block)

open the first instance of capture

Parameters
  • appInfo: contains the application information to open capture

  • block: receives the result of opening capture

void openDeviceWithGuid:completionHandler:(NSString * guid, void(^)( SKTResult result, SKTCapture *deviceCapture) block)

open the device identified by the GUID

Parameters
  • guid: unique identifier of the device to open

  • block: receives the result of opening the device and a new capture instance reprensenting the device

void closeWithCompletionHandler:(void(^)( SKTResult result) block)

close a capture instance. It could be the main capture object or a capture object that represents a device. In this last case, closing a device won’t disconnect the device from the iOS device.

Parameters
  • block: contains the result of closing the capture instance.

void setProperty:completionHandler:(SKTCaptureProperty * property, void(^)( SKTResult result, SKTCaptureProperty *complete) block)

set a property and depending of the capture instance used it could be setting a property for a device or for capture main object.

Parameters
  • property: contains the property to set.

  • block: receives the result of setting the property.

void getProperty:completionHandler:(SKTCaptureProperty * property, void(^)( SKTResult result, SKTCaptureProperty *complete) block)

get a property and depending of the capture instalce used it could be getting a property of a device or of the main capture object.

void didReceiveEvent:withHandle:withResult:(SKTCaptureEvent * event, SKTHandle handle, SKTResult result)

delegate for all the event received from capture low level interface.

Parameters
  • event: contains the event information that is received from low level interface.

  • handle: contains the handle from the object sending the event.

class SKTCaptureDataSource : public NSObject
#include <SktCaptureDataSource.h>

define a data source which has an ID, a name and a status. The flag is set to status because for now that is the only parameter the data source can have

Property

property SKTCaptureDataSource::ID

Get or Set the Data Source ID

property SKTCaptureDataSource::Name

contain the data source name

property SKTCaptureDataSource::Status

contain the data source status (enabled or disable or not supported)

property SKTCaptureDataSource::Flags

contain the flag that defines the data source argument, today always set to status

class SKTCaptureDecodedData : public NSObject
#include <SktCaptureEvent.h>

define a Capture event Decoded Data, which has a Symbology ID, Symbology Name and decoded data.

Public Functions

NSString* _Nullable stringFromDecodedData()

get the decoded data as string UTF8 encoded

Remark

there is no guaranty this property displays the decoded data if the data in the barcode are not UTF8 encoded.

Property

property SKTCaptureDecodedData::DataSourceID

get the decoded data source ID

property SKTCaptureDecodedData::DataSourceName

get the data source name

property SKTCaptureDecodedData::DecodedData

get the decoded data

protocol

Public Functions

void didReceiveEvent:forCapture:withResult:(SKTCaptureEvent * event, SKTCapture * capture, SKTResult result)

this delegate is called each time an event is received from Capture

Parameters
  • event: contains the event received

  • capture: contains a reference to the Capture object for which the event

  • result: contains the result of receiving this event

protocol
#include <SKTCapture.h>

protocol to define the delegates called by Capture for each event that can be received.

class SKTCaptureDeviceInfo : public NSObject
#include <SktCaptureEvent.h>

contains the information about the device such as the device type, the device GUID

Property

property SKTCaptureDeviceInfo::Name

Name of the device.

property SKTCaptureDeviceInfo::Guid

GUID of the device.

property SKTCaptureDeviceInfo::Handle

Handle of the device.

property SKTCaptureDeviceInfo::DeviceType

Device Type: (D750, S800 etc..)

class SKTCaptureEvent : public NSObject
#include <SktCaptureEvent.h>

define a Capture event, which has an ID, a data type and data.

Property

property SKTCaptureEvent::ID

get or set the Capture event ID

property SKTCaptureEvent::Data

get or set the Capture event data

class SKTCaptureEventData : public NSObject
#include <SktCaptureEvent.h>

Contains the definition of the data attached to a Capture event.

Property

property SKTCaptureEventData::Type

Type of the data (Byte, Long, Array etc…)

property SKTCaptureEventData::ByteValue

Byte value, only relevant if the Type is SKTCaptureEventDataTypeByte

property SKTCaptureEventData::ULongValue

Ulong value, only relevant if the Type is SKTCaptureEventDataTypeUlong

property SKTCaptureEventData::StringValue

String value, only relevant if the Type is SKTCaptureEventDataTypeString

property SKTCaptureEventData::ArrayValue

Array value, only relevant if the Type is SKTCaptureEventDataTypeArray

property SKTCaptureEventData::DecodedData

Decoded data value, only relevant if the Type is SKTCaptureEventDataTypeDecodedData

property SKTCaptureEventData::DeviceInfo

Device info value, only relevant if the Type is SKTCaptureEventDataTypeDeviceInfo

class SKTCaptureProperty : public NSObject
#include <SktCaptureProperty.h>

define a Capture Property composed by a Property ID, a Property Type and an eventual property parameter of the specified type.

Public Functions

instancetype _Nonnull init()

initialize the property object

Property

property SKTCaptureProperty::ID

get or set the property ID

property SKTCaptureProperty::Type

get or set the type of the property parameter

property SKTCaptureProperty::ArrayValue

property array of byte parameter

property SKTCaptureProperty::StringValue

property string parameter

property SKTCaptureProperty::ByteValue

property byte value parameter

property SKTCaptureProperty::ULongValue

property unsigned long integer parameter

property SKTCaptureProperty::Version

property version parameter

property SKTCaptureProperty::DataSource

property data source parameter

property SKTCaptureProperty::Context

property user context

property SKTCaptureProperty::Object

property pointer to object parameter

class SKTCaptureVersion : public NSObject
#include <SktCaptureVersion.h>

define a version

Property

property SKTCaptureVersion::Major

major version number (the first number)

property SKTCaptureVersion::Middle

middle verion number (the second number)

property SKTCaptureVersion::Minor

minor version number (the third number)

property SKTCaptureVersion::Build

build number (the fourth number)

property SKTCaptureVersion::Month

month the build has been done

property SKTCaptureVersion::Day

day the build has been done

property SKTCaptureVersion::Year

year the build has been done

property SKTCaptureVersion::Hour

hour the build has been done

property SKTCaptureVersion::Minute

minute the build has been done

protocol

Public Functions

void log:(NSString * trace)
class SKTHelper : public NSObject
#include <SKTCapture.h>

Helper for the values received from Capture in the properties or events

Public Static Functions

NSInteger retrieveIdFromPropertId:(NSInteger propId)

retrieves the ID from a property ID

Return

only the ID of the property without the other bitwise value

Parameters
  • propId: property ID

NSInteger retrieveSetTypeFromPropertyId:(NSInteger propId)

retrieves the Set parameter type of a property

Return

type of the parameter to set the property with

Parameters
  • propId: property ID

NSInteger retrieveGetTypeFromPropertyId:(NSInteger propId)

retrieves the Get parameter type of a property

Return

type of the parameter to get the property (usually ‘none’)

Parameters
  • propId: property ID

NSInteger retrieveGroupIdFromPropertyId:(NSInteger propId)

retrieves the group ID of a property

Return

the group ID to which the property belongs

Parameters
  • propId: property ID

NSInteger isCaptureFromPropertyId:(NSInteger propId)

checks if the property is a main capture object property or a capture device property

Return

true is the property is a main capture object, false otherwise

Parameters
  • propId: property ID

NSInteger getDataComfirmationWithReserve:withRumble:withBeep:withLed:(NSInteger reserved, NSInteger rumble, NSInteger beep, NSInteger led)

creates the bitwise value for Data Confirmation

Return

the data confirmation bitwise value

Parameters
  • reserved: should be set to 0

  • rumble: 1 for good vibrate, 2 for bad vibrate, 0 for no vibrate

  • beep: 1 for good beep, 2 for bad beep, 0 for no beep

  • led: 1 for green LED, 2 for red LED, 0 for no LED

NSInteger retrieveLedFromDataConfirmation:(NSInteger dataConfirmation)

retrieves the data confirmation LED setting

Return

1 for green LED, 2 for red LED, 0 for no LED

Parameters
  • dataConfirmation: data confirmation long value

NSInteger retrieveBeepFromDataConfirmation:(NSInteger dataConfirmation)

retrieves the data confirmation beep setting

Return

1 for good beep, 2 for bad beep, 0 for no beep

Parameters
  • dataConfirmation: data confirmation long value

NSInteger retrieveRumbleFromDataConfirmation:(NSInteger dataConfirmation)

retrieves the data confirmation vibrate setting

Return

1 for good vibrate, 2 for bad vibrate, 0 for no vibrate

Parameters
  • dataConfirmation: data confirmation long value

NSInteger isLeftPressedFromButtonsStatus:(NSInteger buttonsStatus)

checks if the Left Button is pressed. For device that has only one trigger button, the Middle Button is the one reflecting the state of the button.

Return

true if the left button is pressed, false otherwise

Parameters
  • buttonsStatus: value received in the button property or event

NSInteger isRightPressedFromButtonsStatus:(NSInteger buttonsStatus)

checks if the Right Button is pressed. For device that has only one trigger button, the Middle Button is the one reflecting the state of the button.

Return

true if the right button is pressed, false otherwise

Parameters
  • buttonsStatus: value received in the button property or event

NSInteger isMiddlePressedFromButtonsStatus:(NSInteger buttonsStatus)

checks if the Middle Button is pressed. For device that has only one trigger button, the Middle Button is the one reflecting the state of the button.

Return

true if the middle button is pressed, false otherwise

Parameters
  • buttonsStatus: value received in the button property or event

NSInteger isPowerPressedFromButtonsStatus:(NSInteger buttonsStatus)

checks if the Power Button is pressed.

Return

true if the power button is pressed, false otherwise

Parameters
  • buttonsStatus: value received in the button property or event

NSInteger IsRingDetachedFromButtonsStatus:(NSInteger buttonsStatus)

checks if the Ring Detached is asserted. This is used only for the Ring Scanner CRS Series 9.

Return

true if the Ring Detached is asserted, false otherwise

Parameters
  • buttonsStatus: value received in the button property or event

NSInteger pressLeftButton:(NSInteger pressed)

fills the bitwise value then the Left button is pressed or not

Return

return the value with the left button filled accordingly

Parameters
  • pressed: 1 for pressed, 0 for released

NSInteger pressRightButton:(NSInteger pressed)

fills the bitwise value then the Right button is pressed or not

Return

return the value with the right button filled accordingly

Parameters
  • pressed: 1 for pressed, 0 for released

NSInteger pressMiddleButton:(NSInteger pressed)

fills the bitwise value then the Middle button is pressed or not

Return

return the value with the middle button filled accordingly

Parameters
  • pressed: 1 for pressed, 0 for released

NSInteger pressPowerButton:(NSInteger pressed)

fills the bitwise value then the Power button is pressed or not

Return

return the value with the power button filled accordingly

Parameters
  • pressed: 1 for pressed, 0 for released

NSInteger detachRing:(NSInteger detached)

fills the bitwise value then the Ring is detached or not

Return

return the value with the rign detached filled accordingly

Parameters
  • detached: 1 for pressed, 0 for released

NSInteger getPowerStateFromPower:(NSInteger powerStatus)

retrieves the power state

  • 0x00: Power Status Unknown

  • 0x01: Power on Battery

  • 0x02: Power on Craddle

  • 0x04: Power on AC

Return

the power state

Parameters
  • powerStatus: value returned by the power state property or event

NSInteger getMinimumLevelFromBatteryLevel:(NSInteger batteryLevel)

retrieves the minimum level of the battery status range

Return

the minimum in the battery status range, usually 0

Parameters
  • batteryLevel: value from property or event

NSInteger getMaximumLevelFromBatteryLevel:(NSInteger batteryLevel)

retrieves the maximum level of the battery status range

Return

the maximum in the battery status range, usually 100

Parameters
  • batteryLevel: value from battery level property or event

NSInteger getCurrentLevelFromBatteryLevel:(NSInteger batteryLevel)

retrieves the current level of the battery between with its minimum and maximum value

Return

current battery level in the range defined with a minimum and maximum value

Parameters
  • batteryLevel: value from battery level property or event

NSInteger setPowerState:(NSInteger powerState)

adds the power state in the final value that is received by the power status property or event

Return

the power status with the power state

Parameters
  • powerState: the power state

NSInteger setMinLevelForBatteryLevel:(NSInteger minLevel)

sets the minimum level of the battery level range that is received in the final value of the battery level property or event

Return

battery level with the minimum level set

Parameters
  • minLevel: min level of the battery level range

NSInteger setMaxLevelForBatteryLevel:(NSInteger maxLevel)

set the maximum level of the battery level range that is received in the final value of the battery level property or event

Return

battery level with the maximum level set

Parameters
  • maxLevel: maximum level of the battery level range

NSInteger setCurLevelForBatteryLevel:(NSInteger curLevel)

set the current level of the battery level range that is received in the final value of the battery level property or event

Return

battery level with the current battery level set

Parameters
  • curLevel: current battery level in the battery level range

file SKTCapture.h
#include <Foundation/Foundation.h>#include “SktCaptureErrors.h”#include “SktCaptureDataSource.h”#include “SktCaptureVersion.h”#include “SktCaptureProperty.h”#include “SktCaptureEvent.h”

Main entry point for the Capture API.

Copyright

Copyright © 2017 Socket Mobile, Inc.

Typedefs

typedef SKTCaptureErrors SKTResult

define the Capture Result type

typedef void *SKTHandle

define the Capture Handle type

file SktCaptureDataSource.h

Define the Data Source object in Capture.

Copyright

© 2017 Socket Mobile, Inc.

Enums

enum SKTCaptureDataSourceID

idenfity a barcode symbology or a RFID/NFC Tag

Values:

SKTCaptureDataSourceIDNotSpecified

Data Source ID is not specified

SKTCaptureDataSourceIDSymbologyAustraliaPost

Australia Post symbology

SKTCaptureDataSourceIDSymbologyAztec

Aztec symbology

SKTCaptureDataSourceIDSymbologyBooklandEan

Bookland EAN symbology

SKTCaptureDataSourceIDSymbologyBritishPost

British Post symbology

SKTCaptureDataSourceIDSymbologyCanadaPost

Canada Post symbology

SKTCaptureDataSourceIDSymbologyChinese2of5

Chinese 2 of 5 symbology

SKTCaptureDataSourceIDSymbologyCodabar

Codabar symbology

SKTCaptureDataSourceIDSymbologyCodablockA

Codablock A symbology

SKTCaptureDataSourceIDSymbologyCodablockF

Codablock F symbology

SKTCaptureDataSourceIDSymbologyCode11

Code 11 symbology

SKTCaptureDataSourceIDSymbologyCode39

Code 39 symbology

SKTCaptureDataSourceIDSymbologyCode39Extended

Code 39 extended symbology

SKTCaptureDataSourceIDSymbologyCode39Trioptic

Code 39 trioptic symbology

SKTCaptureDataSourceIDSymbologyCode93

Code 93 symbology

SKTCaptureDataSourceIDSymbologyCode128

Code 128 symbology

SKTCaptureDataSourceIDSymbologyDataMatrix

Data Matrix symbology

SKTCaptureDataSourceIDSymbologyDutchPost

Dutch Post symbology

SKTCaptureDataSourceIDSymbologyEan8

EAN 8 symbology

SKTCaptureDataSourceIDSymbologyEan13

EAN 13 symbology

SKTCaptureDataSourceIDSymbologyEan128

EAN 128 symbology

SKTCaptureDataSourceIDSymbologyEan128Irregular

EAN 128 Irregular symbology

SKTCaptureDataSourceIDSymbologyEanUccCompositeAB

EAN UCC Composite AB symbology

SKTCaptureDataSourceIDSymbologyEanUccCompositeC

EAN UCC Composite C symbology

SKTCaptureDataSourceIDSymbologyGs1Databar

GS1 Databar symbology

SKTCaptureDataSourceIDSymbologyGs1DatabarLimited

GS1 Databar symbology

SKTCaptureDataSourceIDSymbologyGs1DatabarExpanded

GS1 Databar Expanded symbology

SKTCaptureDataSourceIDSymbologyInterleaved2of5

Interleaved 2 of 5 symbology

SKTCaptureDataSourceIDSymbologyIsbt128

ISBT 128 symbology

SKTCaptureDataSourceIDSymbologyJapanPost

Japan Post symbology

SKTCaptureDataSourceIDSymbologyMatrix2of5

Matrix 2 of 5 symbology

SKTCaptureDataSourceIDSymbologyMaxicode

Maxicode symbology

SKTCaptureDataSourceIDSymbologyMsi

MSI symbology

SKTCaptureDataSourceIDSymbologyPdf417

PDF 417 symobology

SKTCaptureDataSourceIDSymbologyPdf417Micro

PDF 417 Micro symbology

SKTCaptureDataSourceIDSymbologyPlanet

Planet symbology

SKTCaptureDataSourceIDSymbologyPlessey

Plessey symbology

SKTCaptureDataSourceIDSymbologyPostnet

Postnet symbology

SKTCaptureDataSourceIDSymbologyQRCode

QR Code symbology

SKTCaptureDataSourceIDSymbologyStandard2of5

also called Industrial 2 of 5 or Discrete 2 of 5

SKTCaptureDataSourceIDSymbologyTelepen

Telepen symbology

SKTCaptureDataSourceIDSymbologyTlc39

TLC39 symbology

SKTCaptureDataSourceIDSymbologyUpcA

UPC-A symbology

SKTCaptureDataSourceIDSymbologyUpcE0

UPC-E0 symbology

SKTCaptureDataSourceIDSymbologyUpcE1

UPC-E3 symbology

SKTCaptureDataSourceIDSymbologyUspsIntelligentMail

USPS Intelligent Mail symbology

SKTCaptureDataSourceIDSymbologyDirectPartMarking

Direct Part Marking symbology

SKTCaptureDataSourceIDSymbologyHanXin

HanXin symbology

SKTCaptureDataSourceIDSymbologyLastSymbologyID

marks the end of symbology IDs, not an actual Symbology ID

enum SKTCaptureDataSourceStatus

define the data source status

Values:

SKTCaptureDataSourceStatusDisabled

data source is or should be disabled

SKTCaptureDataSourceStatusEnabled

data source is or should be enabled

SKTCaptureDataSourceStatusNotSupported

data source is not supported

enum SKTCaptureDataSourceFlags

define the flag value of a data source structure

Values:

SKTCaptureDataSourceFlagsStatus = 1

the data source structure contains only a status

file SktCaptureEvent.h

define the events received by Capture

Copyright

© 2017 Socket Mobile, Inc.

Enums

enum SKTCaptureEventID

defines the events that can be received from Capture.

Values:

SKTCaptureEventIDNotInitialized

the event ID is not initialized

SKTCaptureEventIDDeviceArrival

event when a device has connected or is present

SKTCaptureEventIDDeviceRemoval

event when a device is no longer present

SKTCaptureEventIDTerminate

event when Capture is terminated

SKTCaptureEventIDError

event when Capture had an error

SKTCaptureEventIDDecodedData

event when Capture has some decoded data available

SKTCaptureEventIDPower

event when a device sends a power change notification

SKTCaptureEventIDButtons

event when the device button status has changed

SKTCaptureEventIDBatteryLevel

event when the battery Level has changed

SKTCaptureEventIDListenerStarted

event when the communication port listener has started

SKTCaptureEventIDDeviceOwnership

event when a device ownership has changed

SKTCaptureEventIDDeviceManagerArrival

Device Manager Arrival (BLE)

SKTCaptureEventIDDeviceManagerRemoval

Device Manager Removal (BLE)

SKTCaptureEventIDDeviceDiscovered

Device Discovered (BLE)

SKTCaptureEventIDDiscoveryEnd

End of a Device Discovery (BLE)

SKTCaptureEventIDLastID

-not an event- numeric value representing the number of events

enum SKTCaptureEventDataType

defines the Capture event data type.

Values:

SKTCaptureEventDataTypeNone

no data associated to the event.

SKTCaptureEventDataTypeByte

the data associated to the event is a byte.

SKTCaptureEventDataTypeUlong

the data associated to the event is a long integer

SKTCaptureEventDataTypeArray

the data associated to the event is an array.

SKTCaptureEventDataTypeString

the data associated to the event is a string.

SKTCaptureEventDataTypeDecodedData

the data associated to the event is a decoded data

SKTCaptureEventDataTypeDeviceInfo

the data associated to the event contains the device guid, type, and name

SKTCaptureEventDataTypeLastID

not an event type just a numeric value for the number of data types

file SktCaptureProperty.h
#include “SktCapturePropertyIds.h”

define the properties used in Capture

Date

1/29/17

Copyright

© 2017 Socket Mobile, Inc.

Enums

enum SKTCaptureDeviceClass

device type class

Values:

SKTCaptureDeviceTypeClassDevice

the device belongs to the device class

SKTCaptureDeviceTypeClassDeviceManager

the device belongs to the device manager class

enum SKTCaptureDeviceInterfaceType

Capture Device Interface type.

Values:

SKTCaptureDeviceInterfaceTypeNone = 0

interface not specified

SKTCaptureDeviceInterfaceTypeSD = 1

interface Secure Digital

SKTCaptureDeviceInterfaceTypeCF = 2

interface Compact Flash

SKTCaptureDeviceInterfaceTypeBluetooth = 3

interface Bluetooth

SKTCaptureDeviceInterfaceTypeSerial = 4

interface Serial

SKTCaptureDeviceInterfaceTypeBle = 5

interface BLE

enum SKTCaptureDeviceProductId

Capture Device product type.

Values:

SKTCaptureDeviceProductIdNone

no product type speficied

SKTCaptureDeviceProductId7Series

product of the 7 Series

SKTCaptureDeviceProductId7xSeries

product of the 7x Series

SKTCaptureDeviceProductId9Series

product of the 9 Series

SKTCaptureDeviceProductId7xiSeries

product of the 7xi Series

SKTCaptureDeviceProductIdSoftScan

product of SoftScan type

SKTCaptureDeviceProductId8ciSeries

product of 8ci Series

SKTCaptureDeviceProductId8qiSeries

product of 8qi Series

SKTCaptureDeviceProductIdS840Series

product of S840 Series

SKTCaptureDeviceProductIdD700Series

product of D700 Series

SKTCaptureDeviceProductIdD730Series

product of D730 Series

SKTCaptureDeviceProductIdD740Series

product of the D740 Series

SKTCaptureDeviceProductIdD750Series

product of the D750 Series

SKTCaptureDeviceProductIdD760Series

product of the D750 Series

SKTCaptureDeviceProductIdS700Series

product of the S700 Series

SKTCaptureDeviceProductIdS730Series

product of the S730 Series

SKTCaptureDeviceProductIdS740Series

product of the S740 Series

SKTCaptureDeviceProductIdS750Series

product of the S750 Series

SKTCaptureDeviceProductIdS760Series

product of the S760 Series

SKTCaptureDeviceProductIdS860Series

product of the S860 Series

SKTCaptureDeviceProductIdD790Series

product of the D790 Series

SKTCaptureDeviceProductIdD600Series

product of the D600 Series

SKTCaptureDeviceProductIdUnknown

product unknown

enum SKTCaptureDeviceManagerId

Identifier for the Device Managers.

Values:

SKTCaptureDeviceManagerIdNone

no device manager - regular device

SKTCaptureDeviceManagerIdBle

BLE device manager

SKTCaptureDeviceManagerIdUnknown

unknown device manager, does Capture need to be updated?

enum SKTCaptureDeviceType

the device type is a combination of product type and interface

Values:

SKTCaptureDeviceTypeNone = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeNone << 16 | SKTCaptureDeviceProductIdNone

unknown device type

SKTCaptureDeviceTypeScanner7 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductId7Series

Scanner 7 device type

SKTCaptureDeviceTypeScanner7x = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductId7xSeries

Scanner 7x device type

SKTCaptureDeviceTypeScanner7xi = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductId7xiSeries

Scanner 7xi device type

SKTCaptureDeviceTypeScanner9 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductId9Series

Scanner 9 device type

SKTCaptureDeviceTypeSoftScan = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeNone << 16 | SKTCaptureDeviceProductIdSoftScan

SoftScan device type

SKTCaptureDeviceTypeScanner8ci = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductId8ciSeries

Scanner 8ci device type

SKTCaptureDeviceTypeScanner8qi = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductId8qiSeries

Scanner 8qi device type

SKTCaptureDeviceTypeScannerS840 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdS840Series

Scanner S840 device type

SKTCaptureDeviceTypeScannerD700 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdD700Series

Scanner D700 device type

SKTCaptureDeviceTypeScannerD730 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdD730Series

Scanner D730 device type

SKTCaptureDeviceTypeScannerD740 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdD740Series

Scanner D740 device type

SKTCaptureDeviceTypeScannerD750 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdD750Series

Scanner D750 device type

SKTCaptureDeviceTypeScannerD760 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdD760Series

Scanner D760 device type

SKTCaptureDeviceTypeScannerS700 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdS700Series

Scanner S700 device type

SKTCaptureDeviceTypeScannerS730 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdS730Series

Scanner S730 device type

SKTCaptureDeviceTypeScannerS740 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdS740Series

Scanner S740 device type

SKTCaptureDeviceTypeScannerS750 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdS750Series

Scanner S750 device type

SKTCaptureDeviceTypeScannerS760 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdS760Series

Scanner S760 device type

SKTCaptureDeviceTypeScannerS860 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdS860Series

Scanner S860 device type

SKTCaptureDeviceTypeScannerD790 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBluetooth << 16 | SKTCaptureDeviceProductIdD790Series

Scanner D790 device type

SKTCaptureDeviceTypeScannerD600 = SKTCaptureDeviceTypeClassDevice << 24 | SKTCaptureDeviceInterfaceTypeBle << 16 | SKTCaptureDeviceProductIdD600Series

Scanner D600 device type

SKTCaptureDeviceManagerTypeBle = SKTCaptureDeviceTypeClassDeviceManager << 24 | SKTCaptureDeviceInterfaceTypeBle << 16 | SKTCaptureDeviceManagerIdBle

BLE Device Manager type

enum SKTCaptureDataConfirmation

Data Confirmation mode defines how the decoded data should be confirmed.

Values:

SKTCaptureDataConfirmationModeOff

use the device configuration (Local Confirmation or App)

SKTCaptureDataConfirmationModeDevice

the device confirms the decoded data locally

SKTCaptureDataConfirmationModeCapture

Capture confirms the decoded data as it receives them and there is one app

SKTCaptureDataConfirmationModeApp

the Application confirms the decoded data as it receives them

enum SKTCaptureDeviceDataAcknowledgment

Device Data Acknowledgment mode.

Values:

SKTCaptureDeviceDataAcknowledgmentOff

the device won’t locally acknowledge decoded data

SKTCaptureDeviceDataAcknowledgmentOn

the device will locally acknowledge decoded data

enum SKTCaptureSecurityMode

define the device security mode

Values:

SKTCaptureSecurityModeNone

no security

SKTCaptureSecurityModeAuthentication

authentication only

SKTCaptureSecurityModeAuthenticationEncryption

authentication and encryption

enum SKTCaptureTrigger

Trigger parameter.

Values:

SKTCaptureTriggerStart = 1

start a scan

SKTCaptureTriggerStop

stop a scan

SKTCaptureTriggerEnable

enable the trigger

SKTCaptureTriggerDisable

disable the trigger

SKTCaptureTriggerContinuousScan

start a scan in continuous mode (SoftScan scanner only, ESKT_NOTSUPPORTED returned when used with other scanner)

enum SKTCaptureDeletePairing

Delete Pairing Parameter.

Values:

SKTCaptureDeletePairingCurrent = 0

delete only the current pairing information

SKTCaptureDeletePairingAll = 1

delete all the pairing information

enum SKTCaptureSoundActionType

action when the device successful decode data

Values:

SKTCaptureSoundActionTypeGoodScan

good read from the host

SKTCaptureSoundActionTypeGoodScanLocal

good read from the device

SKTCaptureSoundActionTypeBadScan

bad read from the host

SKTCaptureSoundActionTypeBadScanLocal

bad read from the device

enum SKTCaptureSoundFrequency

sound configuration frequency

Values:

SKTCaptureSoundFrequencyNone = 0

no frequency sound

SKTCaptureSoundFrequencyLow

low frequency sound

SKTCaptureSoundFrequencyMedium

medium frequency sound

SKTCaptureSoundFrequencyHigh

high frequency sound

SKTCaptureSoundFrequencyLast

not a frequency sound value

enum SKTCaptureRumbleActionType

Rumble configuration for a specific action Type.

Values:

SKTCaptureRumbleActionTypeGoodScan

Vibrate when the host is ack’ing positively the decoded data

SKTCaptureRumbleActionTypeGoodScanLocal

Vibrate when the device is ack’ing positively the decoded data

SKTCaptureRumbleActionTypeBadScan

Vibrate when the host is ack’ing negatively the decoded data

SKTCaptureRumbleActionTypeBadScanLocal

Vibrate when the device ack’ing negatively the decoded data

enum SKTCaptureLocalDecodeAction

configure the local decode action when the device has a good read

Values:

SKTCaptureLocalDecodeActionNone = 0

no decode action when the device reads correctly

SKTCaptureLocalDecodeActionBeep = 1

the device beeps when it reads correctly

SKTCaptureLocalDecodeActionFlash = 2

the device LED flashes when it reads correctly

SKTCaptureLocalDecodeActionRumble = 4

the device vibrates when it reads correctly

enum SKTCaptureDataConfirmationLed

Device LED configuration when confirming a read.

Values:

SKTCaptureDataConfirmationLedNone = 0

Device LED do nothing when confirming a read

SKTCaptureDataConfirmationLedGreen = 1

Device LED flashes in green when confirming a read

SKTCaptureDataConfirmationLedRed = 2

Device LED flashes in red when confirming a read

enum SKTCaptureDataConfirmationBeep

Device beep configuration when confirming a read.

Values:

SKTCaptureDataConfirmationBeepNone = 0

Device makes no beep when confirming a read

SKTCaptureDataConfirmationBeepGood = 1

Device makes a good beep when confirming a read

SKTCaptureDataConfirmationBeepBad = 2

Device makes a bad beep when confirming a read

enum SKTCaptureDataConfirmationRumble

Device rumble configuration when confirming a read.

Values:

SKTCaptureDataConfirmationRumbleNone = 0

no rumble when confirming a read

SKTCaptureDataConfirmationRumbleGood = 1

good rumble when confirming a read

SKTCaptureDataConfirmationRumbleBad = 2

bad rumble when confirming a read

enum SKTCaptureStatisticCounters

Values:

SKTCaptureCounterSkip = 0
SKTCaptureCounterUnknown = 1
SKTCaptureCounterConnect = 2
SKTCaptureCounterDisconnect = 3
SKTCaptureCounterUnbond = 4
SKTCaptureCounterFactoryReset = 5
SKTCaptureCounterScans = 6
SKTCaptureCounterScanButtonUp = 7
SKTCaptureCounterScanButtonDown = 8
SKTCaptureCounterPowerButtonUp = 9
SKTCaptureCounterPowerButtonDown = 10
SKTCaptureCounterPowerOnACTimeInMinutes = 11
SKTCaptureCounterPowerOnBatTimeInMinutes = 12
SKTCaptureCounterRfcommSend = 13
SKTCaptureCounterRfcommReceive = 14
SKTCaptureCounterRfcommReceiveDiscarded = 15
SKTCaptureCounterUartSend = 16
SKTCaptureCounterUartReceive = 17
SKTCaptureCounterUartReceiveDiscarded = 18
SKTCaptureCounterButtonLeftPress = 19
SKTCaptureCounterButtonLeftRelease = 20
SKTCaptureCounterButtonRightPress = 21
SKTCaptureCounterButtonRightRelease = 22
SKTCaptureCounterRingUnitDetachEvents = 23
SKTCaptureCounterRingUnitAttachEvents = 24
SKTCaptureCounterDecodedBytes = 25
SKTCaptureCounterAbnormalShutDowns = 26
SKTCaptureCounterBatteryChargeCycles = 27
SKTCaptureCounterBatteryChangeCount = 28
SKTCaptureCounterPowerOn = 29
SKTCaptureCounterPowerOff = 30
SKTCaptureCounterStandModeChange = 31
SKTCaptureCounterLast
enum SKTCaptureFlash

SoftScan flash setting.

Values:

SKTCaptureFlashOff = 0

turn the flash off

SKTCaptureFlashOn = 1

turn the flash on

enum SKTCaptureSoftScan

status of the SoftScan scanner. Sofscan is a barcode scanner using the device camera.

Values:

SKTCaptureSoftScanEnable = 0

the SoftScan feature is enabled

SKTCaptureSoftScanDisable = 1

the SoftScan feature is disabled

SKTCaptureSoftScanNotSupported = 2

make the SoftScan feature not supported (Set Property only)

SKTCaptureSoftScanSupported = 3

make the SoftScan feature supported (Set property only)

enum SKTCaptureButtonsState

identify the device button for which the button event is received

Values:

SKTCaptureButtonsStateNone = 0x00

when there is no button pressed

SKTCaptureButtonsStateLeft = 0x01

the left button is pressed

SKTCaptureButtonsStateRight = 0x02

the right button is pressed

SKTCaptureButtonsStateMiddle = 0x04

the middle button is pressed

SKTCaptureButtonsStatePower = 0x08

the power button is pressed

SKTCaptureButtonsStateRingDetach = 0x10

the ring is a in detached state (Series 9 only)

enum SKTCapturePowerState

define the power state

Values:

SKTCapturePowerStateUnknown = 0x00

the power state is unknown

SKTCapturePowerStateOnBattery = 0x01

the power comes from battery

SKTCapturePowerStateOnCradle = 0x02

the power comes from cradle

SKTCapturePowerStateOnAc = 0x04

the power comes from AC

enum SKTCaptureProfileSelect

define the type of profile

Values:

SKTCaptureProfileSelectNone = 0

the profile has no type

SKTCaptureProfileSelectSpp = 1

the profile is Serial Port Profile

SKTCaptureProfileSelectHid = 2

the profile is Keyboard emulation HID

enum SKTCaptureProfileConfig

define the role of the device

Values:

SKTCaptureProfileConfigNone = 0

do nothing when the profile is active

SKTCaptureProfileConfigAcceptor = 1

accepts incoming connection when the profile is active

SKTCaptureProfileConfigInitiator = 2

initiate a connection when the profile is active

enum SKTCaptureDisconnect

parameter for the disconnect property (set only)

Values:

SKTCaptureDisconnectStartProfile = 0

disconnect and then start the selected profile

SKTCaptureDisconnectDisableRadio = 1

disconnect and disable the radio (low power)

enum SKTCaptureNotifications

notification configuration. This configuration is a bitmask

Values:

SKTCaptureNotificationsNone = 0

disable all notifications

SKTCaptureNotificationsScanButtonPress = 1 << 0

enable scan button press notifications

SKTCaptureNotificationsScanButtonRelease = 1 << 1

enable scan button release notifications

SKTCaptureNotificationsPowerButtonPress = 1 << 2

enable power button release notifications

SKTCaptureNotificationsPowerButtonRelease = 1 << 3

enable power button release notifications

SKTCaptureNotificationsPowerState = 1 << 4

enable power state change notifications

SKTCaptureNotificationsBatteryLevelChange = 1 << 5

enable battery level change notifications

enum SKTCaptureStartUpRole

start up role when in SPP configuration mode

Values:

SKTCaptureStartUpRoleSPPAcceptor = 0

the SPP Role will always be Acceptor

SKTCaptureStartUpRoleSPPLastRole = 1

the SPP Role will always be what was the last SPP Role config

enum SKTCaptureConnectBeepConfig

connect beep configuration

Values:

SKTCaptureConnectBeepConfigNoBeep = 0

don’t beep when a connection is established

SKTCaptureConnectBeepConfigBeep = 1

Beep when a connection is established

enum SKTCaptureDataFormat

define the data format

Values:

SKTCaptureDataFormatRaw = 0

data format without protocol fields

SKTCaptureDataFormatPacket = 1

data format respecting the protocol format

SKTCaptureDataFormatIdOnly = 2
SKTCaptureDataFormatTagTypeAndId = 10
SKTCaptureDataFormatDataOnly = 4
SKTCaptureDataFormatTagTypeAndData = 12
enum SKTCaptureTimer

identify the timer for which the value are defined

Values:

SKTCaptureTimerTriggerAutoLockTimeout = 1

Trigger lock selected

SKTCaptureTimerPowerOffDisconnected = 2

Disconnected state timeout

SKTCaptureTimerPowerOffConnected = 4

Connected state timeout

enum SKTCaptureConnectReason

gives the reason for the connection to occur

Values:

SKTCaptureConnectReasonUnknown = 0

unknown reason

SKTCaptureConnectReasonPowerOn = 1

the device has connected because it powers on

SKTCaptureConnectReasonBarcode = 2

the device has connected because it scans a connect barcode

SKTCaptureConnectReasonUserAction = 3

the device has connected because the user press the power button or the trigger button

SKTCaptureConnectReasonHostChange = 4

the device has connected because the host has changed

SKTCaptureConnectReasonRetry = 5

the device has connected because it is back in range

enum SKTCaptureStandConfig

stand configuration

Values:

SKTCaptureStandConfigMobileMode = 0

the device is always in trigger mode

SKTCaptureStandConfigKioskMode = 1

the device is always in presentation mode

SKTCaptureStandConfigDetectMode = 2

the device is in presentation mode when resting on stand, trigger mode otherwise

SKTCaptureStandConfigAutoMode = 3

the device stays in presentation mode until trigger is pressed, goes back in presentation when resting on stand

enum SKTCapturePropertyType

type of the property parameter

Values:

SKTCapturePropertyTypeNone

the property does not have parameter

SKTCapturePropertyTypeNotApplicable

the parameter is not applicable for the property

SKTCapturePropertyTypeByte

the property has a byte as parameter

SKTCapturePropertyTypeUlong

the property has an unisgned long integer as parameter

SKTCapturePropertyTypeArray

the property has a byte array as parameter

SKTCapturePropertyTypeString

the property has a length variable string as parameter

SKTCapturePropertyTypeVersion

the property has a version structure as parameter

SKTCapturePropertyTypeDataSource

the property has a Data Source structure as parameter

SKTCapturePropertyTypeEnum

the property has an enumeration structure as parameter

SKTCapturePropertyTypeObject

the property has an object as parameter

SKTCapturePropertyTypeLastType

this is not a parameter property type but it gives the number of enums

Variables

NSString* _Nonnull SKTCaptureSoftScanContext

KVC key for the SoftScan Overlay definition. The context should be the application UIViewController from which the SoftScan viewfinder should be attached.

NSString* _Nonnull SKTCaptureSoftScanLayoutId

KVC key for the Layout ID. This is not used in iOS, it is ignored if set.

NSString* _Nonnull SKTCaptureSoftScanViewFinderId

KVC key for the viewfinder ID. This is not used in iOS, it is ignored if set.

NSString* _Nonnull SKTCaptureSoftScanFlashButtonId

KVC key for the SoftScan Flash Button ID. This is not used in iOS, it is ignored if set.

NSString* _Nonnull SKTCaptureSoftScanCancelButton

KVC text to display on the Cancel button in the SoftScan overlay if this key value is missing the English version is displayed by default

NSString* _Nonnull SKTCaptureSoftScanFlashButton

KVC for if the dictionary for SoftScan overlay doesn’t have this key, the flash button won’t be displayed in the overlay

NSString* _Nonnull SKTCaptureSoftScanDirectionText

KVC key for the text that gives some direction to the user on how to scan with SoftScan.

NSString* _Nonnull SKTCaptureSoftScanBackgroundColor

KVC key for the Background Color

NSString* _Nonnull SKTCaptureSoftScanTextColor

KVC key for the SoftScan viewfinder text color

NSString* _Nonnull SKTCaptureSoftScanCamera

KVC key for selecting which camera (front or back) SoftScan should use

file SktCaptureVersion.h

define a Capture property version argument

Copyright

© 2017 Socket Mobile, Inc.

file SktDebugLog.h
#include <Foundation/Foundation.h>
dir /home/jenkins/engineering/engineering/workspace/nning__captureconsole-ios_master/CaptureService