SktScanPropIds.h 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557
  1. /*
  2. SktScanPropIds.h
  3. Property ID definitions for Socket ScanAPI
  4. (c) Socket Mobile, Inc.
  5. */
  6. /*
  7. NOTES:
  8. IF ANY MODIFICATION IS MADE IN THIS FILE THE SCANAPI INTERFACE VERSION
  9. WILL NEED TO BE UPDATED TO IDENTIFY THIS CHANGE.
  10. THE SCANAPI INTERFACE VERSION IS DEFINED IN SktScanAPI.h
  11. THE MODIFICATION MUST BE DESCRIBED IN ScanAPI.doc
  12. */
  13. /*
  14. Definition of a Socket Scan Prop ID
  15. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
  16. ---------------------------------------------------------------------------------------------------------------------------------
  17. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
  18. ---------------------------------------------------------------------------------------------------------------------------------
  19. | | | | | | | | | | | | |
  20. | \=======================/ \===========/ \===========/ \===========/ \===========/ \===========================/
  21. | | | | | | |
  22. | | | | | | Group ID \------------------>Property ID
  23. | | | | | Reserved \-------------------------------------------->Group ID
  24. | | | | Set Type \------------------------------------------------------------>Reserved must be 0
  25. | | | Get Type \--------------------------------------------------------------------------->Set Type (type of the property during a Set operation)
  26. | | Reserved \------------------------------------------------------------------------------------------->Get Type (type of the property during a Get operation)
  27. | ScanAPI \----------------------------------------------------------------------------------------------------------------->Reserved must be 0
  28. \--------------------------------------------------------------------------------------------------------------------------------->ScanAPI Prop ID (property only for ScanAPI)
  29. */
  30. #ifndef _SktScanPropIds_h
  31. #define _SktScanPropIds_h
  32. #define SKTPROPIDSCANAPI(scanApi) (scanApi<<31)
  33. #define SKTGETTYPE(type) (type<<20)
  34. #define SKTSETTYPE(type) (type<<16)
  35. #define SKTSETGROUPID(groupId) (groupId<<8)
  36. #define SKTSETPROPID(propId) (propId)
  37. #define SKTISSCANAPI(propId) (propId>>31)
  38. #define SKTRETRIEVEID(propId) (propId&0x000000ff)
  39. #define SKTRETRIEVESETTYPE(propId) ((propId>>16)&0x0000000f)
  40. #define SKTRETRIEVEGETTYPE(propId) ((propId>>20)&0x0000000f)
  41. #define SKTRETRIEVEGROUPID(groupId) ((groupId>>8)&0x0000000f)
  42. // group IDs for properties
  43. enum
  44. {
  45. kSktScanGroupGeneral,
  46. kSktScanGroupLocalFunctions
  47. };
  48. // properties for the ScanAPI General Group
  49. enum
  50. {
  51. kSktScanIdAbort,
  52. kSktScanIdVersion,
  53. kSktScanIdInterfaceVersion,
  54. kSktScanIdConfiguration,
  55. kSktScanIdDataConfirmationMode,
  56. kSktScanIdDataConfirmationAction,
  57. kSktScanIdMonitorMode, // new
  58. kSktScanIdSoftScanStatus, // new
  59. kSktScanIdSymbologyInfo, // newer
  60. kSktScanIdDataEditingProfile, // new
  61. kSktScanIdDataEditingCurrentProfile,
  62. kSktScanIdDataEditingTriggerSymbologies,
  63. kSktScanIdDataEditingTriggerMinLength,
  64. kSktScanIdDataEditingTriggerMaxLength,
  65. kSktScanIdDataEditingTriggerStartsBy,
  66. kSktScanIdDataEditingTriggerEndsWith,
  67. kSktScanIdDataEditingTriggerContains,
  68. kSktScanIdDataEditingOperation,
  69. kSktScanIdDataEditingImportExport,
  70. kSktScanLastGeneralGroup
  71. };
  72. // properties for the device General Group
  73. enum
  74. {
  75. kSktScanIdDeviceVersion,
  76. kSktScanIdDeviceInterfaceVersion,
  77. kSktScanIdDeviceType,
  78. kSktScanIdDeviceSpecific,
  79. kSktScanIdDeviceSymbology,
  80. kSktScanIdDeviceTrigger,
  81. kSktScanIdDeviceApplyConfig,
  82. kSktScanIdDevicePreamble,
  83. kSktScanIdDevicePostamble,
  84. kSktScanIdDeviceCapabilities,
  85. kSktScanIdDeviceChangeId,
  86. kSktScanIdDeviceDataFormat,
  87. kSktScanLastDeviceGeneralGroup
  88. };
  89. // properties for the Local Functions Group
  90. enum
  91. {
  92. kSktScanIdDeviceFriendlyName,
  93. kSktScanIdDeviceSecurityMode,
  94. kSktScanIdDevicePinCode,
  95. kSktScanIdDeviceDeletePairingBonding,
  96. kSktScanIdDeviceRestoreFactoryDefaults,
  97. kSktScanIdDeviceSetPowerOff,
  98. kSktScanIdDeviceButtonsStatus,
  99. kSktScanIdDeviceSoundConfig,
  100. kSktScanIdDeviceTimers,
  101. kSktScanIdDeviceLocalAcknowledgement,
  102. kSktScanIdDeviceDataConfirmation,
  103. kSktScanIdDeviceBatteryLevel,
  104. kSktScanIdDeviceLocalDecodeAction,
  105. kSktScanIdDeviceBluetoothAddress,
  106. kSktScanIdDeviceStatisticCounters,
  107. kSktScanIdDeviceRumbleConfig,
  108. kSktScanIdDeviceProfileConfig,
  109. kSktScanIdDeviceDisconnect,
  110. kSktScanIdDeviceDataStore,
  111. kSktScanIdDeviceNotifications,
  112. kSktScanIdDeviceConnectReason,
  113. kSktScanIdDevicePowerState,
  114. kSktScanIdDeviceStartUpRoleSPP,
  115. kSktScanIdDeviceConnectionBeepConfig,
  116. kSktScanIdDeviceFlash,
  117. kSktScanIdDeviceOverlayView,
  118. kSktScanIdDeviceStandConfig, // new
  119. kSktScanLastDeviceLocalFunctions
  120. };
  121. // ScanAPI configuration
  122. #define kSktScanConfigSerialComPort "SerialPorts" // indicates which com port ScanAPI listens
  123. #define kSktScanConfigPath "ConfigPath" // indicates where ScanAPI config file is located
  124. // Monitor Debug -only available on build with traces turned on-
  125. #define kSktScanConfigMonitorDbgLevel "MonitorDbgLevel" // indicates what ScanAPI monitor Debug Level should be used
  126. #define kSktScanConfigMonitorDbgFileLineLevel "MonitorDbgFileLineLevel" // indicates what ScanAPI monitor Debug File Line level should be used
  127. #define kSktScanConfigMonitorDbgChannel "MonitorDbgChannel" // indicates what ScanAPI monitor Debug Channel should be used
  128. // Data Confirmation Mode indicates what is
  129. // expected to the send the Data ACK back to the scanner
  130. enum ESktScanDataConfirmationMode
  131. {
  132. kSktScanDataConfirmationModeOff, // use the device configuration (Local Confirmation or App)
  133. kSktScanDataConfirmationModeDevice, // the device confirms the decoded data locally
  134. kSktScanDataConfirmationModeScanAPI, // ScanAPI confirms the decoded data as it receives them and there is one app
  135. kSktScanDataConfirmationModeApp // the Application confirms the decoded data as it receives them
  136. };
  137. // Device Data Acknowledgment mode
  138. enum ESktScanDeviceDataAcknowledgment
  139. {
  140. kSktScanDeviceDataAcknowledgmentOff, // the device won't locally acknowledge decoded data
  141. kSktScanDeviceDataAcknowledgmentOn // the device will locally acknowledge decoded data
  142. };
  143. // Security Mode
  144. enum ESktScanSecurityMode
  145. {
  146. kSktScanSecurityModeNone,
  147. kSktScanSecurityModeAuthentication,
  148. kSktScanSecurityModeAuthenticationEncryption
  149. };
  150. // Trigger parameter
  151. enum
  152. {
  153. kSktScanTriggerStart=1, // start a scan
  154. kSktScanTriggerStop, // stop a scan
  155. kSktScanTriggerEnable, // enable the trigger
  156. kSktScanTriggerDisable, // disable the trigger
  157. kSktScanTriggerContinuousScan // start a scan in continuous mode (SoftScan scanner only, ESKT_NOTSUPPORTED returned when used with other scanner)
  158. };
  159. // Delete Pairing Parameter
  160. enum
  161. {
  162. kSktScanDeletePairingCurrent=0,
  163. kSktScanDeletePairingAll=1
  164. };
  165. // Sound configuration parameters
  166. // sound configuration Action Type
  167. enum
  168. {
  169. kSktScanSoundActionTypeGoodScan,
  170. kSktScanSoundActionTypeGoodScanLocal,
  171. kSktScanSoundActionTypeBadScan,
  172. kSktScanSoundActionTypeBadScanLocal
  173. };
  174. // sound configuration frequency
  175. enum
  176. {
  177. kSktScanSoundFrequencyNone=0,
  178. kSktScanSoundFrequencyLow,
  179. kSktScanSoundFrequencyMedium,
  180. kSktScanSoundFrequencyHigh,
  181. kSktScanSoundFrequencyLast // max count, not an actual frequency
  182. };
  183. // Rumble configuration parameters
  184. // Rumble configuration Action Type
  185. enum
  186. {
  187. kSktScanRumbleActionTypeGoodScan,
  188. kSktScanRumbleActionTypeGoodScanLocal,
  189. kSktScanRumbleActionTypeBadScan,
  190. kSktScanRumbleActionTypeBadScanLocal
  191. };
  192. // configuration for the Local Decode Action
  193. enum
  194. {
  195. kSktScanLocalDecodeActionNone=0,
  196. kSktScanLocalDecodeActionBeep=1,
  197. kSktScanLocalDecodeActionFlash=2,
  198. kSktScanLocalDecodeActionRumble=4
  199. };
  200. // configuration for the Data Confirmation property
  201. enum
  202. {
  203. kSktScanDataConfirmationLedNone=0,
  204. kSktScanDataConfirmationLedGreen=1,
  205. kSktScanDataConfirmationLedRed=2,
  206. };
  207. enum
  208. {
  209. kSktScanDataConfirmationBeepNone=0,
  210. kSktScanDataConfirmationBeepGood=1,
  211. kSktScanDataConfirmationBeepBad=2,
  212. };
  213. enum
  214. {
  215. kSktScanDataConfirmationRumbleNone=0,
  216. kSktScanDataConfirmationRumbleGood=1,
  217. kSktScanDataConfirmationRumbleBad=2
  218. };
  219. enum
  220. {
  221. kSktScanFlashOff=0,
  222. kSktScanFlashOn=1
  223. };
  224. enum
  225. {
  226. kSktScanEnableSoftScan=0,
  227. kSktScanDisableSoftScan=1,
  228. kSktScanSoftScanNotSupported=2,// make the SoftScan feature not supported (Set Property only)
  229. kSktScanSoftScanSupported=3// make the SoftScan feature supported (Set property only)
  230. };
  231. // Macros to build a Data Confirmation or to extract fields
  232. // from the Data Confirmation. Note: reserved should be set to 0.
  233. #define SKTDATACONFIRMATION(reserved,rumble,beep,led) ((reserved<<6)|(rumble<<4)|(beep<<2)|led)
  234. #define SKTDATACONFIRMATION_LED(dataConfirmation) (dataConfirmation&0x03)
  235. #define SKTDATACONFIRMATION_BEEP(dataConfirmation) ((dataConfirmation>>2)&0x03)
  236. #define SKTDATACONFIRMATION_RUMBLE(dataConfirmation) ((dataConfirmation>>4)&0x03)
  237. // Macros to retrieve the Buttons status
  238. #define SKTBUTTON_ISLEFTPRESSED(buttonsStatus) ((buttonsStatus&0x01)==0x01)
  239. #define SKTBUTTON_ISRIGHTPRESSED(buttonsStatus) ((buttonsStatus&0x02)==0x02)
  240. #define SKTBUTTON_ISMIDDLEPRESSED(buttonsStatus)((buttonsStatus&0x04)==0x04)
  241. #define SKTBUTTON_ISPOWERPRESSED(buttonsStatus) ((buttonsStatus&0x08)==0x08)
  242. #define SKTBUTTON_ISRINGDETACHED(buttonsStatus) ((buttonsStatus&0x10)==0x10)
  243. #define SKTBUTTON_LEFTPRESSED(pressed) (pressed&0x01)
  244. #define SKTBUTTON_RIGHTPRESSED(pressed) ((pressed<<1)&0x02)
  245. #define SKTBUTTON_MIDDLEPRESSED(pressed) ((pressed<<2)&0x04)
  246. #define SKTBUTTON_POWERPRESSED(pressed) ((pressed<<3)&0x08)
  247. #define SKTBUTTON_RINGDETACHED(detached) ((detached<<4)&0x10)
  248. // Power State
  249. enum
  250. {
  251. kSktScanPowerStatusUnknown= 0x00,
  252. kSktScanPowerStatusOnBattery= 0x01,
  253. kSktScanPowerStatusOnCradle= 0x02,
  254. kSktScanPowerStatusOnAc= 0x04
  255. };
  256. // Macros to retrieve the Power status
  257. #define SKTPOWER_GETSTATE(powerStatus) (unsigned char)(powerStatus&0x000000FF)
  258. #define SKTPOWER_SETSTATE(powerStatus) (powerStatus&0x000000FF)
  259. // Macro to retrieve the Battery Level
  260. #define SKTBATTERY_GETMINLEVEL(powerStatus) (unsigned char)(powerStatus>>16)
  261. #define SKTBATTERY_GETMAXLEVEL(powerStatus) (unsigned char)(powerStatus>>24)
  262. #define SKTBATTERY_GETCURLEVEL(powerStatus) (unsigned char)(powerStatus>>8)
  263. #define SKTBATTERY_SETMINLEVEL(powerStatus) ((powerStatus&0x000000FF)<<16)
  264. #define SKTBATTERY_SETMAXLEVEL(powerStatus) ((powerStatus&0x000000FF)<<24)
  265. #define SKTBATTERY_SETCURLEVEL(powerStatus) ((powerStatus&0x000000FF)<<8)
  266. //Monitor property
  267. enum
  268. {
  269. kSktScanMonitorDbgLevel=1,
  270. kSktScanMonitorDbgChannel,
  271. kSktScanMonitorDbgFileLineLevel,
  272. kSktScanMonitorLast
  273. };
  274. // Capability Groups
  275. enum
  276. {
  277. kSktScanCapabilityGeneral=1, // Capabilities supported by all devices
  278. kSktScanCapabilityLocalFunctions=2 // Capabilities for devices supporting Local Function
  279. };
  280. // General Capabilities
  281. enum
  282. {
  283. kSktScanCapabilityGeneralLocalFunctions=0x00000001 // when this bit is on the device has the Local Functions capability
  284. };
  285. // Local Functions Capabilities
  286. enum
  287. {
  288. kSktScanCapabilityLocalFunctionRumble =0x00000001, // when this bit is on the device has the Rumble feature
  289. kSktScanCapabilityLocalFunctionChangeID =0x00000002 // when this bit is on the device has the Change ID feature
  290. };
  291. // statistic Counter identifiers
  292. enum
  293. {
  294. kSktScanCounterUnknown=0,
  295. kSktScanCounterConnect=1,
  296. kSktScanCounterDisconnect=2,
  297. kSktScanCounterUnbond=3,
  298. kSktScanCounterFactoryReset=4,
  299. kSktScanCounterScans=5,
  300. kSktScanCounterScanButtonUp=6,
  301. kSktScanCounterScanButtonDown=7,
  302. kSktScanCounterPowerButtonUp=8,
  303. kSktScanCounterPowerButtonDown=9,
  304. kSktScanCounterPowerOnACTimeInMinutes=10,
  305. kSktScanCounterPowerOnBatTimeInMinutes=11,
  306. // SSI only
  307. kSktScanCounterRfcommSend=12,
  308. kSktScanCounterRfcommReceive=13,
  309. kSktScanCounterRfcommReceiveDiscarded=14,
  310. kSktScanCounterUartSend=15,
  311. kSktScanCounterUartReceive=16,
  312. kSktScanCounterUartReceiveDiscarded=17,
  313. // Specific to CRS
  314. kSktScanCounterButtonLeftPress=18,
  315. kSktScanCounterButtonLeftRelease=19,
  316. kSktScanCounterButtonRightPress=20,
  317. kSktScanCounterButtonRightRelease=21,
  318. kSktScanCounterRingUnitDetachEvents=22,
  319. kSktScanCounterRingUnitAttachEvents=23,
  320. // 7X only (ISCI)
  321. kSktScanCounterDecodedBytes=24,
  322. kSktScanCounterAbnormalShutDowns=25,
  323. kSktScanCounterBatteryChargeCycles=26,
  324. kSktScanCounterBatteryChangeCount=27,
  325. // Only on 8Ci
  326. kSktScanCounterPowerOn=28,
  327. kSktScanCounterPowerOff=29,
  328. // 7X/Q only 7630 and higher
  329. kSktScanStandModeChange = 30,
  330. kSktScanCounterLast // this is not a counter, just the last index
  331. };
  332. // disconnect parameter
  333. enum
  334. {
  335. kSktScanDisconnectStartProfile=0, // disconnect and then start the selected profile
  336. kSktScanDisconnectDisableRadio=1 // disconnect and disable radio (low power)
  337. };
  338. // profile select parameter
  339. enum
  340. {
  341. kSktScanProfileSelectNone=0,
  342. kSktScanProfileSelectSpp=1,
  343. kSktScanProfileSelectHid=2
  344. };
  345. // profile Config Role parameter
  346. enum
  347. {
  348. kSktScanProfileConfigNone=0,
  349. kSktScanProfileConfigAcceptor=1,
  350. kSktScanProfileConfigInitiator=2
  351. };
  352. // notifications masks
  353. enum
  354. {
  355. kSktScanNotificationsScanButtonPress = 1 << 0, // Enable scan button press notifications
  356. kSktScanNotificationsScanButtonRelease = 1 << 1, // Enable scan button release notifications
  357. kSktScanNotificationsPowerButtonPress = 1 << 2, // Enable power button release notifications
  358. kSktScanNotificationsPowerButtonRelease = 1 << 3, // Enable power button release notifications
  359. kSktScanNotificationsPowerState = 1 << 4, // Enable power state change notifications
  360. kSktScanNotificationsBatteryLevelChange = 1 << 5 // Enable battery level change notifications
  361. };
  362. // timer identifications
  363. enum
  364. {
  365. kSktScanTimerTriggerAutoLockTimeout = 1, // Trigger lock selected
  366. kSktScanTimerPowerOffDisconnected = 2, // Disconnected state timeout
  367. kSktScanTimerPowerOffConnected = 4, // Connected state timeout
  368. };
  369. // Data format
  370. enum
  371. {
  372. kSktScanDataFormatRaw =0,
  373. kSktScanDataFormatPacket=1
  374. };
  375. // Trigger Mode
  376. enum
  377. {
  378. kSktScanTriggerModeLocalOnly =1, // Normal trigger on the device
  379. kSktScanTriggerModeRemoteAndLocal =2, // Normal trigger on the device or trigger from host
  380. kSktScanTriggerModeAutoLock =3, // Auto Trigger Lock waiting for the host to unlock
  381. kSktScanTriggerModeNormalLock =4, // the trigger is locked and unlocked locally
  382. kSktScanTriggerModePresentation =5
  383. };
  384. // Connect Reason
  385. enum
  386. {
  387. kSktScanConnectReasonUnknown =0, // unknown reason
  388. kSktScanConnectReasonPowerOn =1, // the device has connected because it powers on
  389. kSktScanConnectReasonBarcode =2, // the device has connected because it scans a connect barcode
  390. kSktScanConnectReasonUserAction =3, // the device has connected because the user press the power button or the trigger button
  391. kSktScanConnectReasonHostChange =4, // the device has connected because the host has changed
  392. kSktScanConnectReasonRetry =5 // the device has connected because it is back in range
  393. };
  394. // Start Up Role SPP
  395. enum
  396. {
  397. kSktScanStartUpRoleSPPAcceptor =0, // the SPP Role will always be Acceptor
  398. kSktScanStartUpRoleSPPLastRole =1 // the SPP Role will always be what was the last SPP Role config
  399. };
  400. // Connect Beep Config
  401. enum
  402. {
  403. kSktScanConnectBeepConfigNoBeep =0, // don't beep when a connection is established
  404. kSktScanConnectBeepConfigBeep =1 // Beep when a connection is established
  405. };
  406. // Stand Config
  407. // 0 - Mobile mode Works like today existing firmware Engine is always in
  408. // trigger mode Engine hibernate enabled
  409. // 1 - Stand mode Engine always in presentation mode Engine hibernate
  410. // disabled Scanner turns on immediately Power timers disabled Connection
  411. // retries forever
  412. // 2 - Detect mode On stand engine in presentation mode On stand engine
  413. // hibernate disabled On stand charging led state not show On stand
  414. // scanner turns on immediately On stand power timers disabled On stand
  415. // connection retries forever Off stand engine in level mode Off stand
  416. // battery led state reported Off stand engine hibernate enabled Off stand
  417. // power off timers running Off stand connection retries halt after max
  418. // count
  419. // 3 - Auto mode On stand engine in presentation mode On stand engine hibernate
  420. // disabled On stand charging led state not show On stand scanner turns on
  421. // immediately On stand power timers disabled On stand connection retries
  422. // forever Off stand does nothing, engine remains in presentation mode Off
  423. // stand trigger press causes engine to enter level mode Engine in level
  424. // mode battery led state reported Engine in level mode hibernate enabled
  425. // Engine in level mode power off timers running Engine in level mode
  426. // connection retries halt after max count
  427. enum
  428. {
  429. kSktScanStandConfigMobileMode=0,
  430. kSktScanStandConfigStandMode=1,
  431. kSktScanStandConfigDetectMode=2,
  432. kSktScanStandConfigAutoMode=3
  433. };
  434. //==========================================================================================================================================================================================================================================================
  435. // Property ID ScanAPI? Data Type for Get Data Type for Set Group ID Internal Prop ID
  436. //==========================================================================================================================================================================================================================================================
  437. // ScanAPI General Properties
  438. #define kSktScanPropIdAbort (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeNone) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdAbort))
  439. #define kSktScanPropIdVersion (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdVersion))
  440. #define kSktScanPropIdInterfaceVersion (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdInterfaceVersion))
  441. #define kSktScanPropIdConfiguration (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdConfiguration))
  442. #define kSktScanPropIdDataConfirmationMode (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataConfirmationMode))
  443. #define kSktScanPropIdDataConfirmationAction (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeUlong) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataConfirmationAction))
  444. #define kSktScanPropIdMonitorMode (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeByte) |SKTSETTYPE(kSktScanPropTypeArray) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdMonitorMode))
  445. #define kSktScanPropIdSoftScanStatus (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdSoftScanStatus))
  446. // ScanAPI Data Editing Properties
  447. #define kSktScanPropIdDataEditingProfile (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingProfile))
  448. #define kSktScanPropIdDataEditingCurrentProfile (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingCurrentProfile))
  449. #define kSktScanPropIdDataEditingTriggerSymbologies (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingTriggerSymbologies))
  450. #define kSktScanPropIdDataEditingTriggerMinLength (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingTriggerMinLength))
  451. #define kSktScanPropIdDataEditingTriggerMaxLength (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingTriggerMaxLength))
  452. #define kSktScanPropIdDataEditingTriggerStartsBy (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingTriggerStartsBy))
  453. #define kSktScanPropIdDataEditingTriggerEndsWith (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingTriggerEndsWith))
  454. #define kSktScanPropIdDataEditingTriggerContains (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingTriggerContains))
  455. #define kSktScanPropIdDataEditingOperation (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingOperation))
  456. #define kSktScanPropIdDataEditingImportExport (SKTPROPIDSCANAPI(1)|SKTGETTYPE(kSktScanPropTypeString) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDataEditingImportExport))
  457. // Device General Properties
  458. #define kSktScanPropIdVersionDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceVersion))
  459. #define kSktScanPropIdDeviceType (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceType))
  460. #define kSktScanPropIdDeviceSpecific (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeArray) |SKTSETTYPE(kSktScanPropTypeArray) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceSpecific))
  461. #define kSktScanPropIdSymbologyDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeSymbology) |SKTSETTYPE(kSktScanPropTypeSymbology) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceSymbology))
  462. #define kSktScanPropIdTriggerDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceTrigger))
  463. #define kSktScanPropIdApplyConfigDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeNone) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceApplyConfig))
  464. #define kSktScanPropIdPreambleDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDevicePreamble))
  465. #define kSktScanPropIdPostambleDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDevicePostamble))
  466. #define kSktScanPropIdCapabilitiesDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeByte) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceCapabilities))
  467. #define kSktScanPropIdChangeIdDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceChangeId))
  468. #define kSktScanPropIdDataFormatDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupGeneral) |SKTSETPROPID(kSktScanIdDeviceDataFormat))
  469. // Device Local Function Properties
  470. #define kSktScanPropIdFriendlyNameDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceFriendlyName))
  471. #define kSktScanPropIdSecurityModeDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceSecurityMode))
  472. #define kSktScanPropIdPinCodeDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeString) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDevicePinCode))
  473. #define kSktScanPropIdDeletePairingBondingDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceDeletePairingBonding))
  474. #define kSktScanPropIdRestoreFactoryDefaultsDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeNone) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceRestoreFactoryDefaults))
  475. #define kSktScanPropIdSetPowerOffDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeNone) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceSetPowerOff))
  476. #define kSktScanPropIdButtonsStatusDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceButtonsStatus))
  477. #define kSktScanPropIdSoundConfigDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeByte) |SKTSETTYPE(kSktScanPropTypeArray) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceSoundConfig))
  478. #define kSktScanPropIdTimersDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeArray) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceTimers))
  479. #define kSktScanPropIdLocalAcknowledgmentDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceLocalAcknowledgement))
  480. #define kSktScanPropIdDataConfirmationDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeUlong) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceDataConfirmation))
  481. #define kSktScanPropIdBatteryLevelDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceBatteryLevel))
  482. #define kSktScanPropIdLocalDecodeActionDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceLocalDecodeAction))
  483. #define kSktScanPropIdBluetoothAddressDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceBluetoothAddress))
  484. #define kSktScanPropIdStatisticCountersDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceStatisticCounters))
  485. #define kSktScanPropIdRumbleConfigDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeByte) |SKTSETTYPE(kSktScanPropTypeArray) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceRumbleConfig))
  486. #define kSktScanPropIdProfileConfigDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeArray) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceProfileConfig))
  487. #define kSktScanPropIdDisconnectDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNotApplicable) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceDisconnect))
  488. #define kSktScanPropIdDataStoreDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeArray) |SKTSETTYPE(kSktScanPropTypeArray) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceDataStore))
  489. #define kSktScanPropIdNotificationsDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeUlong) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceNotifications))
  490. #define kSktScanPropIdConnectReasonDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceConnectReason))
  491. #define kSktScanPropIdPowerStateDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeNotApplicable) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDevicePowerState))
  492. #define kSktScanPropIdStartUpRoleSPPDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceStartUpRoleSPP))
  493. #define kSktScanPropIdConnectionBeepConfigDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceConnectionBeepConfig))
  494. #define kSktScanPropIdFlashDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeByte) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceFlash))
  495. #define kSktScanPropIdOverlayViewDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeObject) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceOverlayView))
  496. #define kSktScanPropIdStandConfigDevice (SKTPROPIDSCANAPI(0)|SKTGETTYPE(kSktScanPropTypeNone) |SKTSETTYPE(kSktScanPropTypeUlong) |SKTSETGROUPID(kSktScanGroupLocalFunctions) |SKTSETPROPID(kSktScanIdDeviceStandConfig))
  497. #endif //_SktScanPropIds_h