rho-tau-extensions 5.5.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (661) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +2 -0
  3. data/LICENSE +21 -0
  4. data/README.md +6 -0
  5. data/Rakefile +90 -0
  6. data/libs/crosswalk.rb +2 -0
  7. data/libs/crosswalk/crosswalk.rb +2 -0
  8. data/libs/crosswalk/ext.yml +21 -0
  9. data/libs/crosswalk/ext/Crosswalk.xml +27 -0
  10. data/libs/crosswalk/ext/build +19 -0
  11. data/libs/crosswalk/ext/build.bat +29 -0
  12. data/libs/crosswalk/ext/platform/android/AndroidManifest.xml +9 -0
  13. data/libs/crosswalk/ext/platform/android/Rakefile +141 -0
  14. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkcore.so +0 -0
  15. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkdummy.so +0 -0
  16. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkcore.so +0 -0
  17. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkdummy.so +0 -0
  18. data/libs/crosswalk/ext/platform/android/adds/lib/xwalk_core_library_java.jar +0 -0
  19. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble.9.png +0 -0
  20. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble_arrow_up.png +0 -0
  21. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/color_picker_advanced_select_handle.png +0 -0
  22. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/crosswalk.png +0 -0
  23. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_down.9.png +0 -0
  24. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_up.9.png +0 -0
  25. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_menu_share_holo_light.png +0 -0
  26. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_search.png +0 -0
  27. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_warning.png +0 -0
  28. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ondemand_overlay.9.png +0 -0
  29. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/verify_checkmark.png +0 -0
  30. data/libs/crosswalk/ext/platform/android/adds/res/drawable-ldpi/crosswalk.png +0 -0
  31. data/libs/crosswalk/ext/platform/android/adds/res/drawable-mdpi/crosswalk.png +0 -0
  32. data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_borderless_compat.xml +10 -0
  33. data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_compat.xml +9 -0
  34. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble.9.png +0 -0
  35. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble_arrow_up.png +0 -0
  36. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/color_picker_advanced_select_handle.png +0 -0
  37. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/crosswalk.png +0 -0
  38. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_down.9.png +0 -0
  39. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_up.9.png +0 -0
  40. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_menu_share_holo_light.png +0 -0
  41. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_search.png +0 -0
  42. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_warning.png +0 -0
  43. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ondemand_overlay.9.png +0 -0
  44. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/verify_checkmark.png +0 -0
  45. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_menu_share_holo_light.png +0 -0
  46. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_search.png +0 -0
  47. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_warning.png +0 -0
  48. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/verify_checkmark.png +0 -0
  49. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_menu_share_holo_light.png +0 -0
  50. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_search.png +0 -0
  51. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_warning.png +0 -0
  52. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/verify_checkmark.png +0 -0
  53. data/libs/crosswalk/ext/platform/android/adds/res/drawable/autofill_chip_inset.xml +15 -0
  54. data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble.9.png +0 -0
  55. data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble_arrow_up.png +0 -0
  56. data/libs/crosswalk/ext/platform/android/adds/res/drawable/button_compat_shape.xml +9 -0
  57. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_button_background.xml +36 -0
  58. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_advanced_select_handle.png +0 -0
  59. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_border.xml +12 -0
  60. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_label_color.xml +11 -0
  61. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background.xml +13 -0
  62. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_down.9.png +0 -0
  63. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_up.9.png +0 -0
  64. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_menu_share_holo_light.png +0 -0
  65. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_search.png +0 -0
  66. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_warning.png +0 -0
  67. data/libs/crosswalk/ext/platform/android/adds/res/drawable/launchscreen_bg.xml +19 -0
  68. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ondemand_overlay.9.png +0 -0
  69. data/libs/crosswalk/ext/platform/android/adds/res/drawable/verify_checkmark.png +0 -0
  70. data/libs/crosswalk/ext/platform/android/adds/res/layout-land/date_time_picker_dialog.xml +42 -0
  71. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_keyboard_accessory_item.xml +40 -0
  72. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_suggestion_item.xml +18 -0
  73. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_advanced_component.xml +46 -0
  74. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_content.xml +51 -0
  75. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_title.xml +41 -0
  76. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/date_time_suggestion.xml +35 -0
  77. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/dropdown_item.xml +58 -0
  78. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/multi_field_time_picker_dialog.xml +122 -0
  79. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/two_field_date_picker.xml +38 -0
  80. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/validation_message_bubble.xml +72 -0
  81. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_icon.xml +13 -0
  82. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_item.xml +17 -0
  83. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_suggestion_item.xml +7 -0
  84. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_advanced_component.xml +30 -0
  85. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_content.xml +36 -0
  86. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_title.xml +25 -0
  87. data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_picker_dialog.xml +42 -0
  88. data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_suggestion.xml +16 -0
  89. data/libs/crosswalk/ext/platform/android/adds/res/layout/dropdown_item.xml +34 -0
  90. data/libs/crosswalk/ext/platform/android/adds/res/layout/multi_field_time_picker_dialog.xml +50 -0
  91. data/libs/crosswalk/ext/platform/android/adds/res/layout/two_field_date_picker.xml +26 -0
  92. data/libs/crosswalk/ext/platform/android/adds/res/layout/validation_message_bubble.xml +47 -0
  93. data/libs/crosswalk/ext/platform/android/adds/res/menu/select_action_menu.xml +54 -0
  94. data/libs/crosswalk/ext/platform/android/adds/res/raw/contacts_api.js +206 -0
  95. data/libs/crosswalk/ext/platform/android/adds/res/raw/device_capabilities_api.js +231 -0
  96. data/libs/crosswalk/ext/platform/android/adds/res/raw/empty.wav +0 -0
  97. data/libs/crosswalk/ext/platform/android/adds/res/raw/icudtl.dat +0 -0
  98. data/libs/crosswalk/ext/platform/android/adds/res/raw/launch_screen_api.js +9 -0
  99. data/libs/crosswalk/ext/platform/android/adds/res/raw/messaging_api.js +359 -0
  100. data/libs/crosswalk/ext/platform/android/adds/res/raw/presentation_api.js +144 -0
  101. data/libs/crosswalk/ext/platform/android/adds/res/raw/wifidirect_api.js +227 -0
  102. data/libs/crosswalk/ext/platform/android/adds/res/raw/xwalk.pak +0 -0
  103. data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_content_strings.xml +15 -0
  104. data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_ui_strings.xml +47 -0
  105. data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_content_strings.xml +15 -0
  106. data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_ui_strings.xml +47 -0
  107. data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_content_strings.xml +15 -0
  108. data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_ui_strings.xml +47 -0
  109. data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_content_strings.xml +15 -0
  110. data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_ui_strings.xml +47 -0
  111. data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_content_strings.xml +15 -0
  112. data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_ui_strings.xml +47 -0
  113. data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_content_strings.xml +15 -0
  114. data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_ui_strings.xml +47 -0
  115. data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_content_strings.xml +15 -0
  116. data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_ui_strings.xml +47 -0
  117. data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_content_strings.xml +15 -0
  118. data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_ui_strings.xml +47 -0
  119. data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_content_strings.xml +15 -0
  120. data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_ui_strings.xml +47 -0
  121. data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_content_strings.xml +15 -0
  122. data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_ui_strings.xml +47 -0
  123. data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_content_strings.xml +15 -0
  124. data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_ui_strings.xml +47 -0
  125. data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_content_strings.xml +15 -0
  126. data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_ui_strings.xml +47 -0
  127. data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_content_strings.xml +15 -0
  128. data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_ui_strings.xml +47 -0
  129. data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_content_strings.xml +15 -0
  130. data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_ui_strings.xml +47 -0
  131. data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_content_strings.xml +15 -0
  132. data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_ui_strings.xml +47 -0
  133. data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_content_strings.xml +15 -0
  134. data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_ui_strings.xml +47 -0
  135. data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_content_strings.xml +15 -0
  136. data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_ui_strings.xml +47 -0
  137. data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_content_strings.xml +15 -0
  138. data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_ui_strings.xml +47 -0
  139. data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_content_strings.xml +15 -0
  140. data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_ui_strings.xml +47 -0
  141. data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_content_strings.xml +15 -0
  142. data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_ui_strings.xml +47 -0
  143. data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_content_strings.xml +15 -0
  144. data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_ui_strings.xml +47 -0
  145. data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_content_strings.xml +15 -0
  146. data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_ui_strings.xml +47 -0
  147. data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_content_strings.xml +15 -0
  148. data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_ui_strings.xml +47 -0
  149. data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_content_strings.xml +15 -0
  150. data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_ui_strings.xml +47 -0
  151. data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_content_strings.xml +15 -0
  152. data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_ui_strings.xml +47 -0
  153. data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_content_strings.xml +15 -0
  154. data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_ui_strings.xml +47 -0
  155. data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_content_strings.xml +15 -0
  156. data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_ui_strings.xml +47 -0
  157. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_content_strings.xml +15 -0
  158. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_ui_strings.xml +47 -0
  159. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_content_strings.xml +15 -0
  160. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_ui_strings.xml +47 -0
  161. data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_content_strings.xml +15 -0
  162. data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_ui_strings.xml +47 -0
  163. data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_content_strings.xml +15 -0
  164. data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_ui_strings.xml +47 -0
  165. data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_content_strings.xml +15 -0
  166. data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_ui_strings.xml +47 -0
  167. data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_content_strings.xml +15 -0
  168. data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_ui_strings.xml +47 -0
  169. data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_content_strings.xml +15 -0
  170. data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_ui_strings.xml +47 -0
  171. data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_content_strings.xml +15 -0
  172. data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_ui_strings.xml +47 -0
  173. data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_content_strings.xml +15 -0
  174. data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_ui_strings.xml +47 -0
  175. data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_content_strings.xml +15 -0
  176. data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_ui_strings.xml +47 -0
  177. data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_content_strings.xml +15 -0
  178. data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_ui_strings.xml +47 -0
  179. data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_content_strings.xml +15 -0
  180. data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_ui_strings.xml +47 -0
  181. data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_content_strings.xml +15 -0
  182. data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_ui_strings.xml +47 -0
  183. data/libs/crosswalk/ext/platform/android/adds/res/values-v14/theme.xml +16 -0
  184. data/libs/crosswalk/ext/platform/android/adds/res/values-v17/styles.xml +19 -0
  185. data/libs/crosswalk/ext/platform/android/adds/res/values-v17/ui_java_styles.xml +41 -0
  186. data/libs/crosswalk/ext/platform/android/adds/res/values-v21/styles.xml +14 -0
  187. data/libs/crosswalk/ext/platform/android/adds/res/values-v21/ui_java_styles.xml +14 -0
  188. data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_content_strings.xml +15 -0
  189. data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_ui_strings.xml +47 -0
  190. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_content_strings.xml +15 -0
  191. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_ui_strings.xml +47 -0
  192. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_content_strings.xml +15 -0
  193. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_ui_strings.xml +47 -0
  194. data/libs/crosswalk/ext/platform/android/adds/res/values/android_content_strings.xml +15 -0
  195. data/libs/crosswalk/ext/platform/android/adds/res/values/android_ui_strings.xml +47 -0
  196. data/libs/crosswalk/ext/platform/android/adds/res/values/android_xwalk_strings.xml +17 -0
  197. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_attrs.xml +9 -0
  198. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_dimens.xml +31 -0
  199. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_strings.xml +16 -0
  200. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_styles.xml +101 -0
  201. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_app_strings.xml +28 -0
  202. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_attrs.xml +11 -0
  203. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_colors.xml +13 -0
  204. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_internal_java_strings.xml +16 -0
  205. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_java_strings.xml +16 -0
  206. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_dimens.xml +11 -0
  207. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_resources_list.xml +7 -0
  208. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_styles.xml +40 -0
  209. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_values.xml +10 -0
  210. data/libs/crosswalk/ext/platform/android/ext_java.files +14 -0
  211. data/libs/crosswalk/ext/platform/android/ext_native.files +7 -0
  212. data/libs/crosswalk/ext/platform/android/jni/Crosswalk_impl.cpp +61 -0
  213. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/Crosswalk.java +14 -0
  214. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkFactory.java +18 -0
  215. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkSingleton.java +24 -0
  216. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/CrosswalkExtension.java +16 -0
  217. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/RhodesListener.java +18 -0
  218. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWResourceClient.java +182 -0
  219. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWUIClient.java +125 -0
  220. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWalkWebView.java +368 -0
  221. data/libs/crosswalk/ext/platform/iphone/Crosswalk.xcodeproj/project.pbxproj +368 -0
  222. data/libs/crosswalk/ext/platform/iphone/Crosswalk_Prefix.pch +7 -0
  223. data/libs/crosswalk/ext/platform/iphone/Rakefile +73 -0
  224. data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.h +14 -0
  225. data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.m +24 -0
  226. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkFactorySingleton.m +16 -0
  227. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSetup.m +9 -0
  228. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.h +17 -0
  229. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.m +23 -0
  230. data/libs/crosswalk/ext/platform/iphone/impl/readme.txt +7 -0
  231. data/libs/crosswalk/ext/platform/qt/Crosswalk.pro +66 -0
  232. data/libs/crosswalk/ext/platform/qt/Rakefile +35 -0
  233. data/libs/crosswalk/ext/platform/qt/src/Crosswalk_impl.cpp +77 -0
  234. data/libs/crosswalk/ext/platform/wm/Crosswalk.sln +52 -0
  235. data/libs/crosswalk/ext/platform/wm/Crosswalk.vcproj +714 -0
  236. data/libs/crosswalk/ext/platform/wm/Crosswalk.vsprops +15 -0
  237. data/libs/crosswalk/ext/platform/wm/src/Crosswalk_impl.cpp +77 -0
  238. data/libs/crosswalk/ext/platform/wp8/Crosswalk.props +18 -0
  239. data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj +170 -0
  240. data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj.filters +50 -0
  241. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.csproj +119 -0
  242. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.props +8 -0
  243. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.targets +7 -0
  244. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.props +18 -0
  245. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj +185 -0
  246. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj.filters +58 -0
  247. data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cpp +76 -0
  248. data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cs +69 -0
  249. data/libs/crosswalk/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
  250. data/libs/enterprise-barcode/ext.yml +13 -0
  251. data/libs/enterprise-barcode/ext/barcode.xml +2144 -0
  252. data/libs/enterprise-barcode/ext/build +17 -0
  253. data/libs/enterprise-barcode/ext/build.bat +29 -0
  254. data/libs/enterprise-barcode/ext/platform/android/AndroidManifest.xml +31 -0
  255. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/AUTHORS +58 -0
  256. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/CHANGES +266 -0
  257. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/COPYING +201 -0
  258. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/README +11 -0
  259. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/cancel_icon.png +0 -0
  260. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/ok_icon.png +0 -0
  261. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/retake_icon.png +0 -0
  262. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/cancel_icon.png +0 -0
  263. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/ok_icon.png +0 -0
  264. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/retake_icon.png +0 -0
  265. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/layout/capture.xml +122 -0
  266. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/raw/beep.ogg +0 -0
  267. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/attrs.xml +20 -0
  268. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/colors.xml +42 -0
  269. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/ids.xml +31 -0
  270. data/libs/enterprise-barcode/ext/platform/android/adds/lib/armeabi/liballbarcode.a +0 -0
  271. data/libs/enterprise-barcode/ext/platform/android/adds/lib/x86/liballbarcode.a +0 -0
  272. data/libs/enterprise-barcode/ext/platform/android/allbarcode.jar +0 -0
  273. data/libs/enterprise-barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +524 -0
  274. data/libs/enterprise-barcode/ext/platform/iphone/Barcode_Prefix.pch +7 -0
  275. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.h +27 -0
  276. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.mm +231 -0
  277. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.h +95 -0
  278. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.m +1017 -0
  279. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.h +7 -0
  280. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +58 -0
  281. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactoryRegister.mm +18 -0
  282. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.h +16 -0
  283. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.mm +32 -0
  284. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.cpp +25 -0
  285. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.h +15 -0
  286. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.mm +159 -0
  287. data/libs/enterprise-barcode/ext/platform/iphone/Classes/barcode.m +123 -0
  288. data/libs/enterprise-barcode/ext/platform/iphone/Rakefile +69 -0
  289. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/COPYING +27 -0
  290. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCameraSimulator.h +45 -0
  291. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +111 -0
  292. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
  293. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
  294. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
  295. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
  296. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +135 -0
  297. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +130 -0
  298. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +34 -0
  299. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
  300. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1497 -0
  301. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +202 -0
  302. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
  303. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
  304. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
  305. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
  306. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
  307. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +528 -0
  308. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
  309. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
  310. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/LICENSE +504 -0
  311. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/README +59 -0
  312. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
  313. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
  314. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
  315. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
  316. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/libzbar.a +0 -0
  317. data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.h +21 -0
  318. data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.m +132 -0
  319. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.h +10 -0
  320. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.m +16 -0
  321. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactorySingleton.m +16 -0
  322. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSetup.m +8 -0
  323. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.h +17 -0
  324. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.m +22 -0
  325. data/libs/enterprise-barcode/ext/platform/iphone/impl/readme.txt +7 -0
  326. data/libs/enterprise-barcode/ext/platform/wm/Barcode.sln +44 -0
  327. data/libs/enterprise-barcode/ext/platform/wm/Barcode.vcproj +836 -0
  328. data/libs/enterprise-barcode/ext/platform/wm/Barcode.vsprops +15 -0
  329. data/libs/enterprise-barcode/ext/platform/wm/readme.txt +0 -0
  330. data/libs/enterprise-barcode/ext/platform/wm/src/Barcode_impl.cpp +376 -0
  331. data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.cpp +173 -0
  332. data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.h +149 -0
  333. data/libs/enterprise-barcode/ext/platform/wm/src/EMDKInterfaceAbstraction.cpp +476 -0
  334. data/libs/enterprise-barcode/ext/platform/wm/src/GetDecoderProperties.cpp +1195 -0
  335. data/libs/enterprise-barcode/ext/platform/wm/src/GetScannerProperties.cpp +553 -0
  336. data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.cpp +177 -0
  337. data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.h +40 -0
  338. data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.cpp +76 -0
  339. data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.h +44 -0
  340. data/libs/enterprise-barcode/ext/platform/wm/src/RSM.cpp +1211 -0
  341. data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.cpp +2609 -0
  342. data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.h +1099 -0
  343. data/libs/enterprise-barcode/ext/platform/wm/src/ScannerDefines.h +322 -0
  344. data/libs/enterprise-barcode/ext/platform/wm/src/SetDecoderProperties.cpp +2106 -0
  345. data/libs/enterprise-barcode/ext/platform/wm/src/SetScannerProperties.cpp +1060 -0
  346. data/libs/enterprise-barcode/ext/platform/wm/src/Utilities.cpp +184 -0
  347. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.csproj +119 -0
  348. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.props +8 -0
  349. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.targets +35 -0
  350. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.props +18 -0
  351. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj +185 -0
  352. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj.filters +58 -0
  353. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.dll +0 -0
  354. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.winmd +0 -0
  355. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.xml +4813 -0
  356. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.dll +0 -0
  357. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
  358. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.xml +41 -0
  359. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/OpticalReaderLib.dll +0 -0
  360. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.XML +68 -0
  361. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.dll +0 -0
  362. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.csproj +120 -0
  363. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.sln +34 -0
  364. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml +32 -0
  365. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml.cs +235 -0
  366. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/OpticalReaderTask.cs +182 -0
  367. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/Properties/AssemblyInfo.cs +37 -0
  368. data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.dll +0 -0
  369. data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.xml +341 -0
  370. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.dll +0 -0
  371. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.winmd +0 -0
  372. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.xml +4813 -0
  373. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.dll +0 -0
  374. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
  375. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.xml +41 -0
  376. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/OpticalReaderLib.dll +0 -0
  377. data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.XML +10324 -0
  378. data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.dll +0 -0
  379. data/libs/enterprise-barcode/ext/platform/wp8/src/Barcode_impl.cs +630 -0
  380. data/libs/enterprise-barcode/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
  381. data/libs/enterprise-barcode/public/api/generated/Rho.Barcode.js +772 -0
  382. data/libs/ie/rhobrowser.dll +0 -0
  383. data/libs/nodejs.rb +2 -0
  384. data/libs/nodejs/ext.yml +25 -0
  385. data/libs/nodejs/ext/Nodejs.xml +37 -0
  386. data/libs/nodejs/ext/build +19 -0
  387. data/libs/nodejs/ext/build.bat +29 -0
  388. data/libs/nodejs/ext/platform/android/Rakefile +161 -0
  389. data/libs/nodejs/ext/platform/android/ext_native.files +8 -0
  390. data/libs/nodejs/ext/platform/android/jxCore/jx.h +134 -0
  391. data/libs/nodejs/ext/platform/android/jxCore/jx_result.h +221 -0
  392. data/libs/nodejs/ext/platform/android/jxCore/libcares_arm.a +0 -0
  393. data/libs/nodejs/ext/platform/android/jxCore/libcares_ia32.a +0 -0
  394. data/libs/nodejs/ext/platform/android/jxCore/libcares_x64.a +0 -0
  395. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_arm.a +0 -0
  396. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_ia32.a +0 -0
  397. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_x64.a +0 -0
  398. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_arm.a +0 -0
  399. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_ia32.a +0 -0
  400. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_x64.a +0 -0
  401. data/libs/nodejs/ext/platform/android/jxCore/libjx_arm.a +0 -0
  402. data/libs/nodejs/ext/platform/android/jxCore/libjx_ia32.a +0 -0
  403. data/libs/nodejs/ext/platform/android/jxCore/libjx_x64.a +0 -0
  404. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_arm.a +0 -0
  405. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_ia32.a +0 -0
  406. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_x64.a +0 -0
  407. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_arm.a +0 -0
  408. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_ia32.a +0 -0
  409. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_x64.a +0 -0
  410. data/libs/nodejs/ext/platform/android/jxCore/libuv_arm.a +0 -0
  411. data/libs/nodejs/ext/platform/android/jxCore/libuv_ia32.a +0 -0
  412. data/libs/nodejs/ext/platform/android/jxCore/libuv_x64.a +0 -0
  413. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_arm.a +0 -0
  414. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_ia32.a +0 -0
  415. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_x64.a +0 -0
  416. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_arm.a +0 -0
  417. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_ia32.a +0 -0
  418. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_x64.a +0 -0
  419. data/libs/nodejs/ext/platform/iphone/Nodejs.xcodeproj/project.pbxproj +350 -0
  420. data/libs/nodejs/ext/platform/iphone/Nodejs_Prefix.pch +7 -0
  421. data/libs/nodejs/ext/platform/iphone/Rakefile +73 -0
  422. data/libs/nodejs/ext/platform/iphone/jxCore/jx.h +134 -0
  423. data/libs/nodejs/ext/platform/iphone/jxCore/jx_result.h +221 -0
  424. data/libs/nodejs/ext/platform/iphone/jxCore/libcares.a +0 -0
  425. data/libs/nodejs/ext/platform/iphone/jxCore/libchrome_zlib.a +0 -0
  426. data/libs/nodejs/ext/platform/iphone/jxCore/libhttp_parser.a +0 -0
  427. data/libs/nodejs/ext/platform/iphone/jxCore/libjx.a +0 -0
  428. data/libs/nodejs/ext/platform/iphone/jxCore/libmozjs.a +0 -0
  429. data/libs/nodejs/ext/platform/iphone/jxCore/libopenssl.a +0 -0
  430. data/libs/nodejs/ext/platform/iphone/jxCore/libsqlite3.a +0 -0
  431. data/libs/nodejs/ext/platform/iphone/jxCore/libuv.a +0 -0
  432. data/libs/nodejs/ext/shared/jxcore/jx.h +134 -0
  433. data/libs/nodejs/ext/shared/jxcore/jx_result.h +221 -0
  434. data/libs/nodejs/ext/shared/jxcoretau.cpp +454 -0
  435. data/libs/nodejs/ext/shared/jxcoretau.h +20 -0
  436. data/libs/nodejs/ext/shared/nodejs_impl.cpp +106 -0
  437. data/libs/nodejs/nodejs.rb +2 -0
  438. data/libs/openssl-edge.rb +2 -0
  439. data/libs/openssl-edge/ext.yml +4 -0
  440. data/libs/openssl-edge/ext/Rakefile +145 -0
  441. data/libs/openssl-edge/ext/android/Rakefile +107 -0
  442. data/libs/openssl-edge/ext/android/ext_native.files +32 -0
  443. data/libs/openssl-edge/ext/android/extconf.h +91 -0
  444. data/libs/openssl-edge/ext/build +12 -0
  445. data/libs/openssl-edge/ext/build.bat +5 -0
  446. data/libs/openssl-edge/ext/extconf.rb +141 -0
  447. data/libs/openssl-edge/ext/openssl.pro +109 -0
  448. data/libs/openssl-edge/ext/openssl.sln +52 -0
  449. data/libs/openssl-edge/ext/openssl.vcproj +1010 -0
  450. data/libs/openssl-edge/ext/openssl_missing.c +1163 -0
  451. data/libs/openssl-edge/ext/openssl_missing.h +537 -0
  452. data/libs/openssl-edge/ext/ossl.c +1203 -0
  453. data/libs/openssl-edge/ext/ossl.h +242 -0
  454. data/libs/openssl-edge/ext/ossl_asn1.c +2008 -0
  455. data/libs/openssl-edge/ext/ossl_asn1.h +66 -0
  456. data/libs/openssl-edge/ext/ossl_bio.c +118 -0
  457. data/libs/openssl-edge/ext/ossl_bio.h +19 -0
  458. data/libs/openssl-edge/ext/ossl_bn.c +1153 -0
  459. data/libs/openssl-edge/ext/ossl_bn.h +23 -0
  460. data/libs/openssl-edge/ext/ossl_cipher.c +1085 -0
  461. data/libs/openssl-edge/ext/ossl_cipher.h +20 -0
  462. data/libs/openssl-edge/ext/ossl_config.c +89 -0
  463. data/libs/openssl-edge/ext/ossl_config.h +19 -0
  464. data/libs/openssl-edge/ext/ossl_digest.c +453 -0
  465. data/libs/openssl-edge/ext/ossl_digest.h +20 -0
  466. data/libs/openssl-edge/ext/ossl_engine.c +580 -0
  467. data/libs/openssl-edge/ext/ossl_engine.h +19 -0
  468. data/libs/openssl-edge/ext/ossl_hmac.c +398 -0
  469. data/libs/openssl-edge/ext/ossl_hmac.h +18 -0
  470. data/libs/openssl-edge/ext/ossl_ns_spki.c +406 -0
  471. data/libs/openssl-edge/ext/ossl_ns_spki.h +19 -0
  472. data/libs/openssl-edge/ext/ossl_ocsp.c +2013 -0
  473. data/libs/openssl-edge/ext/ossl_ocsp.h +23 -0
  474. data/libs/openssl-edge/ext/ossl_pkcs12.c +261 -0
  475. data/libs/openssl-edge/ext/ossl_pkcs12.h +13 -0
  476. data/libs/openssl-edge/ext/ossl_pkcs5.c +180 -0
  477. data/libs/openssl-edge/ext/ossl_pkcs5.h +6 -0
  478. data/libs/openssl-edge/ext/ossl_pkcs7.c +1157 -0
  479. data/libs/openssl-edge/ext/ossl_pkcs7.h +20 -0
  480. data/libs/openssl-edge/ext/ossl_pkey.c +469 -0
  481. data/libs/openssl-edge/ext/ossl_pkey.h +245 -0
  482. data/libs/openssl-edge/ext/ossl_pkey_dh.c +650 -0
  483. data/libs/openssl-edge/ext/ossl_pkey_dsa.c +672 -0
  484. data/libs/openssl-edge/ext/ossl_pkey_ec.c +1806 -0
  485. data/libs/openssl-edge/ext/ossl_pkey_rsa.c +768 -0
  486. data/libs/openssl-edge/ext/ossl_rand.c +238 -0
  487. data/libs/openssl-edge/ext/ossl_rand.h +18 -0
  488. data/libs/openssl-edge/ext/ossl_ssl.c +2724 -0
  489. data/libs/openssl-edge/ext/ossl_ssl.h +41 -0
  490. data/libs/openssl-edge/ext/ossl_ssl_session.c +352 -0
  491. data/libs/openssl-edge/ext/ossl_version.h +15 -0
  492. data/libs/openssl-edge/ext/ossl_x509.c +186 -0
  493. data/libs/openssl-edge/ext/ossl_x509.h +119 -0
  494. data/libs/openssl-edge/ext/ossl_x509attr.c +328 -0
  495. data/libs/openssl-edge/ext/ossl_x509cert.c +863 -0
  496. data/libs/openssl-edge/ext/ossl_x509crl.c +565 -0
  497. data/libs/openssl-edge/ext/ossl_x509ext.c +480 -0
  498. data/libs/openssl-edge/ext/ossl_x509name.c +547 -0
  499. data/libs/openssl-edge/ext/ossl_x509req.c +492 -0
  500. data/libs/openssl-edge/ext/ossl_x509revoked.c +279 -0
  501. data/libs/openssl-edge/ext/ossl_x509store.c +846 -0
  502. data/libs/openssl-edge/ext/ruby_missing.h +32 -0
  503. data/libs/openssl-edge/openssl-edge.rb +2 -0
  504. data/libs/openssl-edge/openssl.rb +24 -0
  505. data/libs/openssl-edge/openssl/bn.rb +35 -0
  506. data/libs/openssl-edge/openssl/buffering.rb +341 -0
  507. data/libs/openssl-edge/openssl/cipher.rb +65 -0
  508. data/libs/openssl-edge/openssl/digest.rb +61 -0
  509. data/libs/openssl-edge/openssl/ssl-internal.rb +180 -0
  510. data/libs/openssl-edge/openssl/ssl.rb +1 -0
  511. data/libs/openssl-edge/openssl/x509-internal.rb +153 -0
  512. data/libs/openssl-edge/openssl/x509.rb +1 -0
  513. data/libs/openssl.so-edge.rb +2 -0
  514. data/libs/openssl.so-edge/ext.yml +8 -0
  515. data/libs/openssl.so-edge/ext/Rakefile +140 -0
  516. data/libs/openssl.so-edge/ext/android/armeabi/libcrypto.a +0 -0
  517. data/libs/openssl.so-edge/ext/android/armeabi/libssl.a +0 -0
  518. data/libs/openssl.so-edge/ext/android/x86/libcrypto.a +0 -0
  519. data/libs/openssl.so-edge/ext/android/x86/libssl.a +0 -0
  520. data/libs/openssl.so-edge/ext/build +12 -0
  521. data/libs/openssl.so-edge/ext/build.bat +1 -0
  522. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dh/dh_locl.h +56 -0
  523. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dsa/dsa_locl.h +76 -0
  524. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/evp/evp_locl.h +66 -0
  525. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/hmac/hmac_lcl.h +33 -0
  526. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/asn1_int.h +94 -0
  527. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/async.h +14 -0
  528. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_conf.h +28 -0
  529. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_dh.h +17 -0
  530. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_int.h +82 -0
  531. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_srp.h +32 -0
  532. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/chacha.h +49 -0
  533. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib.h +81 -0
  534. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib_int.h +31 -0
  535. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/dso_conf.h +16 -0
  536. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/engine.h +20 -0
  537. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/err_int.h +17 -0
  538. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/evp_int.h +382 -0
  539. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/md32_common.h +383 -0
  540. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/objects.h +12 -0
  541. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/poly1305.h +19 -0
  542. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/rand.h +20 -0
  543. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/x509_int.h +267 -0
  544. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/ocsp/ocsp_lcl.h +216 -0
  545. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/rsa/rsa_locl.h +96 -0
  546. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/x509/x509_lcl.h +142 -0
  547. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/e_os.h +520 -0
  548. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/bio.h +26 -0
  549. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/comp.h +12 -0
  550. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/conf.h +32 -0
  551. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/constant_time_locl.h +185 -0
  552. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dane.h +103 -0
  553. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dso.h +216 -0
  554. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/err.h +15 -0
  555. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/numbers.h +68 -0
  556. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_dir.h +63 -0
  557. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_str.h +17 -0
  558. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/thread_once.h +42 -0
  559. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_EPILOGUE.H +16 -0
  560. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_PROLOGUE.H +20 -0
  561. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/aes.h +92 -0
  562. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1.h +1096 -0
  563. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1_mac.h +10 -0
  564. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1t.h +924 -0
  565. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/async.h +98 -0
  566. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bio.h +854 -0
  567. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/blowfish.h +61 -0
  568. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bn.h +575 -0
  569. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/buffer.h +76 -0
  570. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/camellia.h +83 -0
  571. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cast.h +53 -0
  572. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cmac.h +41 -0
  573. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cms.h +512 -0
  574. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/comp.h +72 -0
  575. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf.h +216 -0
  576. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf_api.h +40 -0
  577. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/crypto.h +463 -0
  578. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ct.h +518 -0
  579. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/des.h +174 -0
  580. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dh.h +343 -0
  581. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dsa.h +282 -0
  582. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dtls1.h +56 -0
  583. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/e_os2.h +311 -0
  584. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ebcdic.h +33 -0
  585. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ec.h +1581 -0
  586. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdh.h +10 -0
  587. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdsa.h +10 -0
  588. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/engine.h +842 -0
  589. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/err.h +259 -0
  590. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/evp.h +1586 -0
  591. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/hmac.h +49 -0
  592. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/idea.h +64 -0
  593. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/kdf.h +75 -0
  594. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/lhash.h +204 -0
  595. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md2.h +44 -0
  596. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md4.h +51 -0
  597. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md5.h +50 -0
  598. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/mdc2.h +42 -0
  599. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/modes.h +203 -0
  600. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/obj_mac.h +4577 -0
  601. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/objects.h +1097 -0
  602. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ocsp.h +409 -0
  603. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h +169 -0
  604. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h.in +141 -0
  605. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslv.h +105 -0
  606. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ossl_typ.h +190 -0
  607. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem.h +501 -0
  608. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem2.h +20 -0
  609. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs12.h +282 -0
  610. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs7.h +404 -0
  611. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rand.h +89 -0
  612. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc2.h +51 -0
  613. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc4.h +36 -0
  614. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc5.h +63 -0
  615. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ripemd.h +47 -0
  616. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rsa.h +588 -0
  617. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/safestack.h +164 -0
  618. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/seed.h +98 -0
  619. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/sha.h +119 -0
  620. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srp.h +131 -0
  621. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srtp.h +50 -0
  622. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl.h +2527 -0
  623. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl2.h +24 -0
  624. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl3.h +307 -0
  625. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/stack.h +78 -0
  626. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/symhacks.h +52 -0
  627. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/tls1.h +972 -0
  628. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ts.h +643 -0
  629. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/txt_db.h +57 -0
  630. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ui.h +368 -0
  631. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/whrlpool.h +48 -0
  632. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509.h +1123 -0
  633. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509_vfy.h +539 -0
  634. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509v3.h +1005 -0
  635. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/packet_locl.h +555 -0
  636. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record.h +240 -0
  637. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record_locl.h +114 -0
  638. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/ssl_locl.h +2127 -0
  639. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem.h +123 -0
  640. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem_locl.h +124 -0
  641. data/libs/openssl.so-edge/openssl.so.rb +2 -0
  642. data/libs/webkit.rb +2 -0
  643. data/libs/webkit/ext.yml +4 -0
  644. data/libs/webkit/ext/build +12 -0
  645. data/libs/webkit/ext/build.bat +7 -0
  646. data/libs/webkit/ext/wm/Rakefile +61 -0
  647. data/libs/webkit/ext/wm/RhoMsgs.cpp +17 -0
  648. data/libs/webkit/ext/wm/RhoMsgs.h +14 -0
  649. data/libs/webkit/ext/wm/RhoWKBrowserEngine.cpp +736 -0
  650. data/libs/webkit/ext/wm/RhoWKBrowserEngine.h +105 -0
  651. data/libs/webkit/ext/wm/lib/npapi/rhobridge.dll +0 -0
  652. data/libs/webkit/ext/wm/lib/rhoengine_defs.h +80 -0
  653. data/libs/webkit/ext/wm/lib/rhowebkit.dll +0 -0
  654. data/libs/webkit/ext/wm/webkit.sln +36 -0
  655. data/libs/webkit/ext/wm/webkit.suo +0 -0
  656. data/libs/webkit/ext/wm/webkit.vcproj +800 -0
  657. data/libs/webkit/ext/wm/webkit.vsprops +20 -0
  658. data/libs/webkit/webkit.rb +2 -0
  659. data/rho-tau-extensions.gemspec +23 -0
  660. data/version +1 -0
  661. metadata +705 -0
@@ -0,0 +1,322 @@
1
+ /**
2
+ * \file ScannerDefines.h
3
+ * \brief Defines and constants associated with the Scanner implementation.
4
+ * \author Darryn Campbell (DCC)
5
+ * \date January 2012 (DCC, Initial Port from RhoElements 1 Code)
6
+ */
7
+
8
+ #pragma once
9
+ #include "scancapi.h"
10
+
11
+ // Porting
12
+ //#include "../../Common/Public/PBPlugin.h"
13
+ //#include "../../Common/Public/PBUtil.h"
14
+ #define WM_SCAN_EVENT_RHOELEMENTS WM_USER + 20 ///< Windows Message fired when the BT scanner connects / disconnects
15
+ #define MAX_URL 2048 // REMOVE THIS - ONLY ADDED TO GET PROTOTYPE TO COMPILE
16
+ #define MAXURL MAX_URL
17
+
18
+ #define MAXLOG 1024 ///< Used internally for constructing log messages
19
+ #define MAXIMUM_PARAMETER_LENGTH 30
20
+
21
+ // Scanner Beeper Defines
22
+ #define DEFAULT_SCAN_BUFFER_SIZE 2713 ///< Maximum size of decoded data
23
+ #define MAX_SOURCE_SIZE 24 ///< Maximum size of the source string (e.g. Codabar e.t.c)
24
+ #define DEFAULT_DECODE_VOLUME 5 ///< Default volume for a decode (beeper)
25
+ #define DEFAULT_GOOD_DECODE_FREQUENCY 3000 ///< Default frequency (Hz) of a valid decode (beeper)
26
+ #define DEFAULT_INVALID_DECODE_FREQUENCY 2500 ///< Default frequency (Hz) of an invalid decode (beeper)
27
+ #define DEFAULT_DECODE_DURATION 250 ///< Default length of a decode beep (ms)
28
+ #define MAX_DECODER_NAME_LENGTH 30 ///< Maximum length of a decoder name (This should be made dynamic)
29
+
30
+ // RSM Defines
31
+ #define ATTR_MAX 0xFFFF ///< Ficticious RSM Attribute, used internally to denote the end of parameters being retrieved.
32
+ #define ATTR_END 0xFFFE ///< Ficticious RSM Attribute, used internally to denote the RSM is being shut down
33
+ #define MAX_RSM_READABLE_ATTRIBUTES 60 ///< The maximum number of RSM attributes which can be returned
34
+ #define MAX_RSM_STRING_LENGTH UNION_SIZE * sizeof(WCHAR) ///< The maximum size of an RSM attributes' String
35
+
36
+ // Minimum and Maximum values for Decoders, used when setting decoder properties
37
+ #define MINIMUM_CODABAR_LENGTH 0 ///< Minimum length of a Codabar barcode
38
+ #define MINIMUM_CODE128_LENGTH 0 ///< Minimum length of a Code 128 barcode
39
+ #define MINIMUM_CODE39_LENGTH 0 ///< Minimum length of a Code 39 barcode
40
+ #define MINIMUM_CODE93_LENGTH 0 ///< Minimum length of a Code 93 barcode
41
+ #define MINIMUM_D2OF5_LENGTH 0 ///< Minimum length of a D 2 of 5 barcode
42
+ #define MINIMUM_I2OF5_LENGTH 0 ///< Minimum length of a I 2 of 5 barcode
43
+ #define MINIMUM_MSI_LENGTH 0 ///< Minimum length of a MSI barcode
44
+ #define MINIMUM_KOREAN2OF5_LENGTH 0 ///< Minimum length of a Korean 2 of 5 barcode
45
+ #define MINIMUM_MATRIX2OF5_LENGTH 0 ///< Minimum length of a Matrix 2 of 5 barcode
46
+ #define MINIMUM_CODE11_LENGTH 0 ///< Minimum length of a Code 11 barcode
47
+ #define MINIMUM_UPCEAN_RETRY_COUNT 2 ///< Minimum value for the UPC EAN Retry Count
48
+ #define MINIMUM_CODE128_SECURITY_LEVEL 0 ///< Minimum value for Code 128 Security Level
49
+ #define MINIMUM_UPC_EAN_SECURITY_LEVEL 0 ///< Minimum value for the UPC EAN Security Level
50
+ #define MINIMUM_CODE39_SECURITY_LEVEL 0 ///< Minimum value for the Code 39 Security Level
51
+ #define MINIMUM_SIGNATURE_IMAGE_QUALITY 10 ///< Minimum value for the Signature Image quality
52
+ #define MINIMUM_SIGNATURE_IMAGE_SIZE 1 ///< Minimum value for the Signature Image Size
53
+ #define MINIMUM_SIGNATURE_IMAGE_WIDTH 20 ///< Minimum width of a Signature Barcode
54
+ #define MINIMUM_SIGNATURE_IMAGE_HEIGHT 20 ///< Minimum height of a Signature Barcode
55
+ #define MAXIMUM_CODABAR_LENGTH 55 ///< Maximum length of a Codabar barcode
56
+ #define MAXIMUM_CODE128_LENGTH 55 ///< Maximum length of a Code 128 barcode
57
+ #define MAXIMUM_CODE39_LENGTH 55 ///< Maximum length of a Code 39 barcode
58
+ #define MAXIMUM_CODE93_LENGTH 55 ///< Maximum length of a Code 93 barcode
59
+ #define MAXIMUM_D2OF5_LENGTH 55 ///< Maximum length of a D 2 of 5 barcode
60
+ #define MAXIMUM_I2OF5_LENGTH 55 ///< Maximum length of a I 2 of 5 barcode
61
+ #define MAXIMUM_MSI_LENGTH 55 ///< Maximum length of a MSI barcode
62
+ #define MAXIMUM_KOREAN2OF5_LENGTH 55 ///< Maximum length of a Korean 2 of 5 barcode
63
+ #define MAXIMUM_MATRIX2OF5_LENGTH 55 ///< Maximum length of a Matrix 2 of 5 barcode
64
+ #define MAXIMUM_CODE11_LENGTH 55 ///< Maximum length of a Code 11 barcode
65
+ #define MAXIMUM_UPCEAN_RETRY_COUNT 20 ///< Maximum value for the UPC EAN Retry Count
66
+ #define MAXIMUM_CODE128_SECURITY_LEVEL 3 ///< Maximum value for Code 128 Security Level
67
+ #define MAXIMUM_UPC_EAN_SECURITY_LEVEL 3 ///< Maximum value for the UPC EAN Security Level
68
+ #define MAXIMUM_CODE39_SECURITY_LEVEL 3 ///< Maximum value for the Code 39 Security Level
69
+ #define MAXIMUM_SIGNATURE_IMAGE_QUALITY 100 ///< Maximum value for the Signature Image Quality
70
+
71
+ // Minimum and Maximum values for the Scanner Attributes
72
+ #define MINIMUM_TIMED_AIM_DURATION 1 ///< Minimum value for timedAimDuration
73
+ #define MINIMUM_CONNECTION_IDLE_TIMEOUT 1 ///< Minimum value for connectionIdleTimeout
74
+ #define MINIMUM_SCAN_TIMEOUT_DURATION 0 ///< Minimum value for scanTimeout (0 is infinite timeout)
75
+ #define MINIMUM_RASTER_HEIGHT 0 ///< Minimum value for rasterHeight
76
+ #define MINIMUM_SAME_SYMBOL_TIMEOUT 0 ///< Minimum value for sameSymbolTimeout
77
+ #define MINIMUM_DIFFERENT_SYMBOL_TIMEOUT 0 ///< Minimum value for differentSymbolTimeout
78
+ #define MINIMUM_VIEWFINDER_X 0 ///< Minimum value for viewfinderX
79
+ #define MINIMUM_VIEWFINDER_Y 0 ///< Minimum value for viewfinderY
80
+ #define MINIMUM_VIEWFINDER_WIDTH 1 ///< Minimum value for viewfinderWidth
81
+ #define MINIMUM_VIEWFINDER_HEIGHT 1 ///< Minimum value for viewfinderHeight
82
+ #define MINIMUM_VIEWFINDER_FEEDBACK_TIME 0 ///< Minimum value for viewfinderFeedbackTime
83
+ #define MINIMUM_DATA_BUFFER_SIZE 0 ///< Minimum value for dataBufferSize
84
+ #define MINIMUM_ENABLE_TIMEOUT 1 ///< Minimum value for enable timeout
85
+ #define MAXIMUM_RASTER_HEIGHT 100 ///< Maximum value for rasterHeight
86
+ #define MAXIMUM_DATA_BUFFER_SIZE ULONG_MAX ///< Maximum value for dataBufferSize
87
+ #define MAXIMUM_ENABLE_TIMEOUT 60 ///< Maximum value for enable timeout
88
+
89
+ // Minimum and Maximum values for Beeper Attributes
90
+ #define MINIMUM_DECODE_VOLUME 0 ///< Minimum value for decode volume
91
+ #define MAXIMUM_DECODE_VOLUME 5 ///< Maximum value for decode volume
92
+ #define MINIMUM_DECODE_DURATION 0 ///< Minimum value for decode duration
93
+ #define MAXIMUM_DECODE_DURATION 5000 ///< Maximum value for decode duration
94
+ #define MINIMUM_SUCCESSFUL_DECODE_FREQUENCY 0 ///< Minimum value for successful decode frequency
95
+ #define MAXIMUM_SUCCESSFUL_DECODE_FREQUENCY 0xFFFF ///< Maximum value for successful decode frequency
96
+ #define MINIMUM_INVALID_DECODE_FREQUENCY 0 ///< Miminum value for invalid decode frequency
97
+ #define MAXIMUM_INVALID_DECODE_FREQUENCY 0xFFFF ///< Maximum value for invalid decode frequency
98
+
99
+ // Minimum and Maximum values for the RSM Attrbibutes
100
+ #define MINIMUM_RSM_BT_RECONNECT_ATTEMPTS 30 ///< Minimum value for bluetoothReconnectAttempts
101
+ #define MINIMUM_RSM_PAGING_BEEP_SEQ 0 ///< Minimum value for pagingBeepSequence
102
+ #define MINIMUM_RSM_GOOD_SCANS_DELAY 0 ///< Minimum value for goodScansDelay
103
+ #define MAXIMUM_RSM_BT_RECONNECT_ATTEMPTS 60 ///< Maximum value for bluetoothReconnectAttempts
104
+ #define MAXIMUM_RSM_PAGING_BEEP_SEQ 15 ///< Maximum value for pagingBeepSequence
105
+ #define MAXIMUM_RSM_GOOD_SCANS_DELAY 15000 ///< Maximum value for goodScansDelay
106
+
107
+ // Definitions of Methods exported from EMDK Scanner Library
108
+ #define EMDK_DLL L"SCNAPI32.DLL" ///< Name of the EMDK Scanner Library
109
+ typedef LPSCAN_BUFFER (WINAPI* LPFN_SCAN_ALLOCATEBUFFER_T)(BOOL,DWORD); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
110
+ typedef DWORD (WINAPI* LPFN_SCAN_CANCELREAD_T)(HANDLE, DWORD); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
111
+ typedef DWORD (WINAPI* LPFN_SCAN_DEALLOCATEBUFFER_T)(LPSCAN_BUFFER); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
112
+ typedef DWORD (WINAPI* LPFN_SCAN_DISABLE_T)(HANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
113
+ typedef DWORD (WINAPI* LPFN_SCAN_FLUSH_T)(HANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
114
+ typedef DWORD (WINAPI* LPFN_SCAN_GETDECODERPARAMS_T)(HANDLE, LPDECODER, LPDECODER_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
115
+ typedef DWORD (WINAPI* LPFN_SCAN_GETENABLEDDECODERS_T)(HANDLE, LPDECODER_LIST); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
116
+ typedef DWORD (WINAPI* LPFN_SCAN_GETREADERPARAMS_T)(HANDLE, LPREADER_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
117
+ typedef DWORD (WINAPI* LPFN_SCAN_GETSCANPARAMETERS_T)(HANDLE, LPSCAN_PARAMS_W); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
118
+ typedef DWORD (WINAPI* LPFN_SCAN_GETSCANSTATUS_T)(HANDLE, LPSCAN_STATUS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
119
+ typedef DWORD (WINAPI* LPFN_SCAN_GETSUPPORTEDDECODERS_T)(HANDLE, LPDECODER_LIST); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
120
+ typedef DWORD (WINAPI* LPFN_SCAN_GETUPCEANPARAMS_T)(HANDLE, LPUPC_EAN_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
121
+ typedef DWORD (WINAPI* LPFN_SCAN_OPEN_T)(LPCTSTR, LPHANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
122
+ typedef DWORD (WINAPI* LPFN_SCAN_READLABELEVENT_T)(HANDLE, LPSCAN_BUFFER, HANDLE, DWORD, LPDWORD); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
123
+ typedef DWORD (WINAPI* LPFN_SCAN_READLABELMSG_T)(HANDLE, LPSCAN_BUFFER, HWND, UINT, DWORD, LPDWORD);///< Type definition of function exported from EMDK Library (See EMDK Documentation)
124
+ typedef DWORD (WINAPI* LPFN_SCAN_RSMGETATTRIBUTE_T)(HANDLE, RSM_VALUE_TYPE, LPRSM_ATTRIB); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
125
+ typedef DWORD (WINAPI* LPFN_SCAN_RSMGETSUPPORTEDATTRIBUTES_T)(HANDLE, LPATTRIB_NUMBER, LPDWORD); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
126
+ typedef DWORD (WINAPI* LPFN_SCAN_RSMSETATTRIBUTE_T)(HANDLE, LPRSM_ATTRIB); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
127
+ typedef DWORD (WINAPI* LPFN_SCAN_SETDECODERPARAMS_T)(HANDLE, LPDECODER, LPDECODER_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
128
+ typedef DWORD (WINAPI* LPFN_SCAN_SETENABLEDDECODERS_T)(HANDLE, LPDECODER_LIST); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
129
+ typedef DWORD (WINAPI* LPFN_SCAN_SETREADERPARAMS_T)(HANDLE, LPREADER_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
130
+ typedef DWORD (WINAPI* LPFN_SCAN_SETSCANPARAMETERS_T)(HANDLE, LPSCAN_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
131
+ typedef DWORD (WINAPI* LPFN_SCAN_SETSOFTTRIGGER_T)(HANDLE, LPBOOL); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
132
+ typedef DWORD (WINAPI* LPFN_SCAN_SETUPCEANPARAMS_T)(HANDLE, LPUPC_EAN_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
133
+ typedef DWORD (WINAPI* LPFN_SCAN_CLOSE_T)(HANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
134
+ typedef DWORD (WINAPI* LPFN_SCAN_ENABLE_T)(HANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
135
+ typedef DWORD (WINAPI* LPFN_SCAN_REGISTERSCANMESSAGE_T)(HANDLE, HWND, UINT); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
136
+ typedef DWORD (WINAPI* LPFN_SCAN_DEREGISTERSCANMESSAGE_T)(HANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
137
+ typedef DWORD (WINAPI* LPFN_SCAN_FINDFIRST_T)(LPSCAN_FINDINFO, LPHANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
138
+ typedef DWORD (WINAPI* LPFN_SCAN_FINDNEXT_T)(LPSCAN_FINDINFO, HANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
139
+ typedef DWORD (WINAPI* LPFN_SCAN_FINDCLOSE_T)(HANDLE); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
140
+ typedef DWORD (WINAPI* LPFN_SCAN_GETINTERFACEPARAMS_T)(HANDLE, LPINTERFACE_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
141
+ typedef DWORD (WINAPI* LPFN_SCAN_SETINTERFACEPARAMS_T)(HANDLE, LPINTERFACE_PARAMS); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
142
+ typedef DWORD (WINAPI* LPFN_SCAN_GETDEVICEINFO_T)(HANDLE, LPDEVICE_INFO); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
143
+ typedef DWORD (WINAPI* LPFN_SCAN_GETVERSIONINFO_T)(HANDLE, LPSCAN_VERSION_INFO); ///< Type definition of function exported from EMDK Library (See EMDK Documentation)
144
+
145
+ #define SCAN_GetScanParameters_EXPORT "SCAN_GetScanParameters_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
146
+ #define SCAN_AllocateBuffer_EXPORT "SCAN_AllocateBuffer_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
147
+ #define SCAN_DeallocateBuffer_EXPORT "SCAN_DeallocateBuffer_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
148
+ #define SCAN_ReadLabelEvent_EXPORT "SCAN_ReadLabelEvent_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
149
+ #define SCAN_ReadLabelMsg_EXPORT "SCAN_ReadLabelMsg_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
150
+ #define SCAN_SetScanParameters_EXPORT "SCAN_SetScanParameters_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
151
+ #define SCAN_FindFirst_EXPORT "SCAN_FindFirst_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
152
+ #define SCAN_FindNext_EXPORT "SCAN_FindNext_W" ///< Name of function exported from EMDK Library (See EMDK Documentation)
153
+ #define SCAN_CancelRead_EXPORT "SCAN_CancelRead" ///< Name of function exported from EMDK Library (See EMDK Documentation)
154
+ #define SCAN_Disable_EXPORT "SCAN_Disable" ///< Name of function exported from EMDK Library (See EMDK Documentation)
155
+ #define SCAN_Flush_EXPORT "SCAN_Flush" ///< Name of function exported from EMDK Library (See EMDK Documentation)
156
+ #define SCAN_GetDecoderParams_EXPORT "SCAN_GetDecoderParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
157
+ #define SCAN_GetEnabledDecoders_EXPORT "SCAN_GetEnabledDecoders" ///< Name of function exported from EMDK Library (See EMDK Documentation)
158
+ #define SCAN_GetReaderParams_EXPORT "SCAN_GetReaderParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
159
+ #define SCAN_GetScanStatus_EXPORT "SCAN_GetScanStatus" ///< Name of function exported from EMDK Library (See EMDK Documentation)
160
+ #define SCAN_GetSupportedDecoders_EXPORT "SCAN_GetSupportedDecoders" ///< Name of function exported from EMDK Library (See EMDK Documentation)
161
+ #define SCAN_GetUPCEANParams_EXPORT "SCAN_GetUPCEANParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
162
+ #define SCAN_Open_EXPORT "SCAN_Open" ///< Name of function exported from EMDK Library (See EMDK Documentation)
163
+ #define SCAN_RSMGetAttribute_EXPORT "SCAN_RSMGetAttribute" ///< Name of function exported from EMDK Library (See EMDK Documentation)
164
+ #define SCAN_RSMGetSupportedAttributes_EXPORT "SCAN_RSMGetSupportedAttributes" ///< Name of function exported from EMDK Library (See EMDK Documentation)
165
+ #define SCAN_RSMSetAttribute_EXPORT "SCAN_RSMSetAttribute" ///< Name of function exported from EMDK Library (See EMDK Documentation)
166
+ #define SCAN_SetDecoderParams_EXPORT "SCAN_SetDecoderParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
167
+ #define SCAN_SetEnabledDecoders_EXPORT "SCAN_SetEnabledDecoders" ///< Name of function exported from EMDK Library (See EMDK Documentation)
168
+ #define SCAN_SetReaderParams_EXPORT "SCAN_SetReaderParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
169
+ #define SCAN_SetSoftTrigger_EXPORT "SCAN_SetSoftTrigger" ///< Name of function exported from EMDK Library (See EMDK Documentation)
170
+ #define SCAN_SetUPCEANParams_EXPORT "SCAN_SetUPCEANParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
171
+ #define SCAN_Close_EXPORT "SCAN_Close" ///< Name of function exported from EMDK Library (See EMDK Documentation)
172
+ #define SCAN_Enable_EXPORT "SCAN_Enable" ///< Name of function exported from EMDK Library (See EMDK Documentation)
173
+ #define SCAN_RegisterScanMessage_EXPORT "SCAN_RegisterScanMessage" ///< Name of function exported from EMDK Library (See EMDK Documentation)
174
+ #define SCAN_DeRegisterScanMessage_EXPORT "SCAN_DeregisterScanMessage" ///< Name of function exported from EMDK Library (See EMDK Documentation)
175
+ #define SCAN_FindClose_EXPORT "SCAN_FindClose" ///< Name of function exported from EMDK Library (See EMDK Documentation)
176
+ #define SCAN_GetInterfaceParams_EXPORT "SCAN_GetInterfaceParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
177
+ #define SCAN_SetInterfaceParams_EXPORT "SCAN_SetInterfaceParams" ///< Name of function exported from EMDK Library (See EMDK Documentation)
178
+ #define SCAN_GetDeviceInfo_EXPORT "SCAN_GetDeviceInfo" ///< Name of function exported from EMDK Library (See EMDK Documentation)
179
+ #define SCAN_GetVersionInfo_EXPORT "SCAN_GetVersionInfo" ///< Name of function exported from EMDK Library (See EMDK Documentation)
180
+
181
+ class CScanner;
182
+ /**
183
+ * Prototype for functions stored in map used to hash method names to the functions
184
+ * which will set those values.
185
+ * \param szPropertyName The name of the property being set
186
+ * \param szPropertyValue The value to set the property to
187
+ * \return Whether or not the property was successfully set
188
+ */
189
+ typedef BOOL (CScanner::*fnMetaTagParse)(LPCTSTR szPropertyName, LPCTSTR szPropertyValue);
190
+ /**
191
+ * Prototype for functions stored in map used to hash method names to the functions
192
+ * which will retrieve those values.
193
+ * \param szPropertyName The property being retrieved
194
+ * \param szPropertyValue [out] parameter, populated with the value of the property.
195
+ * Memory for this parameter must be provided by the caller, specify this as NULL
196
+ * to ascertain the length of the required string before calling.
197
+ * \return The number of characters required to hold the value or -1 if there was as error retrieving the value.
198
+ */
199
+ typedef int (CScanner::*fnEMMLTagGet)(LPCTSTR szPropertyName, WCHAR* szPropertyValue);
200
+
201
+ /**
202
+ * Many properties can not be set until the scanner is enabled, those values received
203
+ * before the scanner is ready are stored in a queue. The MetaTagQEntry defines
204
+ * an individual entry in that queue.
205
+ */
206
+ struct MetaTagQEntry
207
+ {
208
+ WCHAR* szParameter; ///< The Property to be set
209
+ WCHAR* szValue; ///< The value to set the property to
210
+ };
211
+
212
+ /**
213
+ * The Internal application state, used primarily to keep track of bluetooth
214
+ * scanners.
215
+ */
216
+ enum ScannerState
217
+ {
218
+ NO_BT_CONNECTION, ///< Initial State for all Scanners, Non BT Scanners will never leave this state.
219
+ BT_CONNECTED, ///< Bluetooth Scanner is connected to the device.
220
+ WAITING_FOR_BT_RECONNECTION,///< Bluetooth Scanner has become disconnected from the device and is waiting for a reconnection.
221
+ WAITING_FOR_BT_CONNECTION ///< Waiting for the user to scan the BT association barcode.
222
+ };
223
+
224
+ /**
225
+ * Enumeration of the types of data the scanner can return, as supported
226
+ * by the EMDK.
227
+ */
228
+ enum eScanBufferDataFormat
229
+ {
230
+ BUFFER_TEXT = TRUE, ///< Barcode is returned as text (default)
231
+ BUFFER_RAW_DATA = FALSE ///< Barcode is returned as binary data, useful particularly for image barcodes such as Signature decoder.
232
+ };
233
+
234
+ /**
235
+ * Enumeration of the status for the BT Pairing Barcode, whether it is displayed or not
236
+ * during enabling. We keep track of this as we need to apply it between 'Open' and 'Enable'
237
+ */
238
+ enum eBTPairing
239
+ {
240
+ BT_PAIRING_BARCODE_INITIAL = -1, ///< User has not requested state of displayBTAddressBarcodeOnEnable, this must be the first entry
241
+ BT_PAIRING_BARCODE_DISPLAY = TRUE, ///< User has specified displayBTAddressBarcodeOnEnable:True
242
+ BT_PAIRING_BARCODE_HIDDEN = FALSE ///< User has specified displayBTAddressBarcodeOnEnable:False
243
+ };
244
+
245
+ /**
246
+ * Structure into which is placed the last data received from scanner.
247
+ * This is populated following each successful read
248
+ */
249
+ struct tagScanData
250
+ {
251
+ WCHAR* szData; ///< The barcode data (either text or binary as per the buffer format), note this value is assigned dynamically as the size of the buffer is user defined.
252
+ WCHAR szLength[8]; ///< The length of the returned data (in either characters or bytes, depending on buffer format)
253
+ WCHAR szTimeStamp[12];///< The time the barcode was scanned
254
+ WCHAR szType[8]; ///< The type of barcode read, as defined by EMDK Label Type
255
+ WCHAR szSource[MAX_SOURCE_SIZE]; ///< The source device (e.g. SCN1) and human readable decoder type of the decoded barcode or symbol
256
+ WCHAR szDirection[12];///< The direction in which the barcode was scanned, only applicable to 1D scanners.
257
+ };
258
+
259
+ /**
260
+ * Array of properties / methods which can be set even when the scanner is disabled. All other
261
+ * methods / properties will be queued until the scanner is enabled is being set. Requests to
262
+ * retrieve other settings prior to the scanner being enabled will fail.
263
+ */
264
+ static WCHAR* wAllowedTagsWhilstNotEnabled[] =
265
+ {
266
+ L"Enable",
267
+ L"Enabled",
268
+ L"Disable",
269
+ L"Disabled",
270
+ L"Enumerate",
271
+ L"Init",
272
+ L"Initialise",
273
+ L"Deinit",
274
+ L"Deinitialise",
275
+ L"EnumScannerEvent",
276
+ L"DecodeEvent",
277
+ L"EnumSupportedDecodersEvent",
278
+ L"BluetoothStatusEvent",
279
+ L"rsmGetEvent",
280
+ L"DisplayBTAddressBarcodeOnEnable",
281
+ L"EnableTimeout",
282
+ L"ScanType",
283
+ L"DataBufferSize",
284
+ L"BarcodeDataFormat",
285
+ L"FriendlyName",
286
+ L"LowBatteryScan",
287
+ L"DisableScannerDuringNavigate",
288
+ L"DecodeVolume",
289
+ L"DecodeDuration",
290
+ L"DecodeFrequency",
291
+ L"InvalidDecodeFrequency",
292
+ L"DecodeSound",
293
+ L"InvalidDecodeSound",
294
+ L"AutoEnter",
295
+ L"AutoTab",
296
+ L"ConnectTrigger",
297
+ L"DisconnectTrigger",
298
+ NULL // Must terminate with a NULL
299
+ };
300
+
301
+ /**
302
+ * JSON names associated with the deviceCapabilitiesEvent. These names must match those given in the help file.
303
+ */
304
+ static WCHAR* szDeviceCapabilitiesEventNames[] =
305
+ {
306
+ L"supportedDecoders",
307
+ L"supportedBeamWidths",
308
+ L"aimModeSupported",
309
+ L"scanDirectionReportingSupported",
310
+ L"supportedImageFormats",
311
+ L"maximumImageRectangle",
312
+ L"dpmAvailable",
313
+ L"viewfinderSupported",
314
+ L"adaptiveScanningSupported",
315
+ L"interfaceType",
316
+ L"hardwareVersion",
317
+ L"decoderVersion",
318
+ L"physicalDeviceDriverVersion",
319
+ L"moduleDeviceDriverVersion",
320
+ L"cApiVersion",
321
+ NULL
322
+ };
@@ -0,0 +1,2106 @@
1
+ #include "Scanner.h"
2
+
3
+ BOOL CScanner::Set_all_decoders_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
4
+ {
5
+ BOOL bReturnValue = FALSE;
6
+ DECODER_LIST decoderList;
7
+ memset(&decoderList, 0, sizeof(DECODER_LIST));
8
+ SI_INIT(&decoderList);
9
+ DWORD dwResult;
10
+ if (EnabledValue(szPropertyValue))
11
+ {
12
+ // Enable all decoders supported by the device
13
+ dwResult = lpfn_SCAN_GetSupportedDecoders(m_hScanner, &decoderList);
14
+ if (dwResult == E_SCN_SUCCESS)
15
+ {
16
+ for (unsigned int i = 0; i < decoderList.Decoders.dwDecoderCount; i++)
17
+ {
18
+ // Remove decoders unsupported by RhoElements. Note imaging barcodes must be
19
+ // received in a buffer allocated to hold binary data:
20
+ // scan_allocateBuffer(false, size)
21
+ if (decoderList.Decoders.byList[i] == (BYTE)*DECODER_POINTER ||
22
+ decoderList.Decoders.byList[i] == (BYTE)*DECODER_IMAGE ||
23
+ decoderList.Decoders.byList[i] == (BYTE)*DECODER_DOCCAP)
24
+ {
25
+ // Shift the decoder structure
26
+ memcpy(decoderList.Decoders.byList + i,
27
+ decoderList.Decoders.byList + (i + 1),
28
+ decoderList.Decoders.dwDecoderCount - i);
29
+ decoderList.Decoders.dwDecoderCount--;
30
+ i--;
31
+ }
32
+ }
33
+ dwResult = lpfn_SCAN_SetEnabledDecoders(m_hScanner, &decoderList);
34
+ if (dwResult == E_SCN_SUCCESS)
35
+ bReturnValue = TRUE;
36
+ else
37
+ {
38
+ // Unable to Enable all Decoders
39
+ LOG(WARNING) + L"Unable to Enable all decoders";
40
+ }
41
+ }
42
+ else
43
+ {
44
+ // Call to Get Supported Devices from the EMDK has failed
45
+ LOG(WARNING) + L"Unable to retrieve supported devices";
46
+ }
47
+ }
48
+ else if (DisabledValue(szPropertyValue))
49
+ {
50
+ // Disable all decoders supported by the device
51
+ dwResult = lpfn_SCAN_GetEnabledDecoders(m_hScanner, &decoderList);
52
+ if (dwResult == E_SCN_SUCCESS)
53
+ {
54
+ decoderList.Decoders.dwDecoderCount = 0;
55
+ dwResult = lpfn_SCAN_SetEnabledDecoders(m_hScanner, &decoderList);
56
+ if (dwResult == E_SCN_SUCCESS)
57
+ {
58
+ bReturnValue = TRUE;
59
+ }
60
+ else
61
+ {
62
+ LOG(WARNING) + L"Unable to disable all decoders";
63
+ }
64
+ }
65
+ else
66
+ {
67
+ // Unable to Get Enabled decoders from the device
68
+ LOG(WARNING) + L"Unable to retrieve currently enabled decoders";
69
+ }
70
+ }
71
+ // Cancel any pending scanner reads
72
+ lpfn_SCAN_Flush(m_hScanner);
73
+
74
+ return bReturnValue;
75
+
76
+ }
77
+
78
+ BOOL CScanner::Set_codabar_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
79
+ {
80
+ CODABAR_PARAMS decoderParameters;
81
+ BOOL bRetVal = TRUE;
82
+ BOOL bValueRecognised = TRUE;
83
+ BYTE cCurrentDecoder = (BYTE)*DECODER_CODABAR;
84
+ if (cmp(szPropertyName, L"codabar"))
85
+ {
86
+ // Enable or Disable the Decoder
87
+ if (EnabledValue(szPropertyValue))
88
+ {
89
+ bRetVal = EnableDecoder(cCurrentDecoder);
90
+ }
91
+ else if (DisabledValue(szPropertyValue))
92
+ {
93
+ bRetVal = DisableDecoder(cCurrentDecoder);
94
+ }
95
+ else
96
+ bValueRecognised = FALSE;
97
+ }
98
+ else if (cmp(szPropertyName, L"CodabarRedundancy"))
99
+ {
100
+ // Codabar Redundancy
101
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
102
+ if (cmp(szPropertyValue, L"True"))
103
+ decoderParameters.bRedundancy = TRUE;
104
+ else if (cmp(szPropertyValue, L"False"))
105
+ decoderParameters.bRedundancy = FALSE;
106
+ else
107
+ bValueRecognised = FALSE;
108
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
109
+ }
110
+ else if (cmp(szPropertyName, L"CodabarCLSIEditing"))
111
+ {
112
+ // Codabar CLSI Editing
113
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
114
+ if (cmp(szPropertyValue, L"True"))
115
+ decoderParameters.bClsiEditing = TRUE;
116
+ else if (cmp(szPropertyValue, L"False"))
117
+ decoderParameters.bClsiEditing = FALSE;
118
+ else
119
+ bValueRecognised = FALSE;
120
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
121
+ }
122
+ else if (cmp(szPropertyName, L"CodabarNotisEditing"))
123
+ {
124
+ // Codabar Notis Editing
125
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
126
+ if (cmp(szPropertyValue, L"True"))
127
+ decoderParameters.bNotisEditing = TRUE;
128
+ else if (cmp(szPropertyValue, L"False"))
129
+ decoderParameters.bNotisEditing = FALSE;
130
+ else
131
+ bValueRecognised = FALSE;
132
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
133
+ }
134
+ else if (cmp(szPropertyName, L"CodabarMinLength"))
135
+ {
136
+ // Codabar Min Length
137
+ int iMin = StringToInt(szPropertyValue);
138
+ if (iMin >= MINIMUM_CODABAR_LENGTH && iMin <= MAXIMUM_CODABAR_LENGTH)
139
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
140
+ else
141
+ {
142
+ LOG(WARNING) + L"Codabar Minimum Length is out of Range";
143
+ bRetVal = FALSE;
144
+ }
145
+ }
146
+ else if (cmp(szPropertyName, L"CodabarMaxLength"))
147
+ {
148
+ // Codabar Max Length
149
+ int iMax = StringToInt(szPropertyValue);
150
+ if (iMax >= MINIMUM_CODABAR_LENGTH && iMax <= MAXIMUM_CODABAR_LENGTH)
151
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
152
+ else
153
+ {
154
+ LOG(WARNING) + L"Codabar Maximum Length is out of Range";
155
+ bRetVal = FALSE;
156
+ }
157
+ }
158
+ else
159
+ bRetVal = FALSE;
160
+
161
+ if (bRetVal && bValueRecognised)
162
+ {
163
+ // Cancel any pending scanner reads to enable these new settings
164
+ lpfn_SCAN_Flush(m_hScanner);
165
+ }
166
+ else
167
+ {
168
+ // Failed to apply setting
169
+ WCHAR tcLog[MAXLOG];
170
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
171
+ szPropertyName, szPropertyValue);
172
+ LOG(WARNING) + tcLog;
173
+ }
174
+ return bRetVal;
175
+ }
176
+
177
+
178
+ BOOL CScanner::Set_code128_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
179
+ {
180
+ CODE128_PARAMS decoderParameters;
181
+ BOOL bRetVal = TRUE;
182
+ BOOL bValueRecognised = TRUE;
183
+ BYTE cCurrentDecoder = (BYTE)*DECODER_CODE128;
184
+ if (cmp(szPropertyName, L"code128"))
185
+ {
186
+ // Enable or Disable the Decoder
187
+ if (EnabledValue(szPropertyValue))
188
+ {
189
+ bRetVal = EnableDecoder(cCurrentDecoder);
190
+ }
191
+ else if (DisabledValue(szPropertyValue))
192
+ {
193
+ bRetVal = DisableDecoder(cCurrentDecoder);
194
+ }
195
+ else
196
+ bValueRecognised = FALSE;
197
+ }
198
+ else if (cmp(szPropertyName, L"Code128Redundancy"))
199
+ {
200
+ // Code 128 Redundancy
201
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
202
+ if (cmp(szPropertyValue, L"True"))
203
+ decoderParameters.bRedundancy = TRUE;
204
+ else if (cmp(szPropertyValue, L"False"))
205
+ decoderParameters.bRedundancy = FALSE;
206
+ else
207
+ bValueRecognised = FALSE;
208
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
209
+ }
210
+ else if (cmp(szPropertyName, L"Code128ean128"))
211
+ {
212
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
213
+ if (cmp(szPropertyValue, L"True"))
214
+ decoderParameters.bEAN128 = TRUE;
215
+ else if (cmp(szPropertyValue, L"False"))
216
+ decoderParameters.bEAN128 = FALSE;
217
+ else
218
+ bValueRecognised = FALSE;
219
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
220
+ }
221
+ else if (cmp(szPropertyName, L"Code128isBt128"))
222
+ {
223
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
224
+ if (cmp(szPropertyValue, L"True"))
225
+ decoderParameters.bISBT128 = TRUE;
226
+ else if (cmp(szPropertyValue, L"False"))
227
+ decoderParameters.bISBT128 = FALSE;
228
+ else
229
+ bValueRecognised = FALSE;
230
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
231
+ }
232
+ else if (cmp(szPropertyName, L"Code128Other128"))
233
+ {
234
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
235
+ if (cmp(szPropertyValue, L"True"))
236
+ decoderParameters.bOther128 = TRUE;
237
+ else if (cmp(szPropertyValue, L"False"))
238
+ decoderParameters.bOther128 = FALSE;
239
+ else
240
+ bValueRecognised = FALSE;
241
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
242
+ }
243
+ else if (cmp(szPropertyName, L"Code128checkIsBtTable"))
244
+ {
245
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
246
+ if (cmp(szPropertyValue, L"True"))
247
+ decoderParameters.bCheckISBTTable = TRUE;
248
+ else if (cmp(szPropertyValue, L"False"))
249
+ decoderParameters.bCheckISBTTable = FALSE;
250
+ else
251
+ bValueRecognised = FALSE;
252
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
253
+ }
254
+ else if (cmp(szPropertyName, L"Code128isBt128ConcatMode"))
255
+ {
256
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
257
+ if (cmp(szPropertyValue, L"never"))
258
+ decoderParameters.dwISBT128ConcatMode = ISBT128_CONCAT_MODE_NEVER;
259
+ else if (cmp(szPropertyValue, L"always"))
260
+ decoderParameters.dwISBT128ConcatMode = ISBT128_CONCAT_MODE_ALWAYS;
261
+ else if (cmp(szPropertyValue, L"auto"))
262
+ decoderParameters.dwISBT128ConcatMode = ISBT128_CONCAT_MODE_AUTO;
263
+ else
264
+ bValueRecognised = FALSE;
265
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
266
+ }
267
+ else if (cmp(szPropertyName, L"Code128SecurityLevel"))
268
+ {
269
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
270
+ int iValue = StringToInt(szPropertyValue);
271
+ if (iValue >= MINIMUM_CODE128_SECURITY_LEVEL && iValue <= MAXIMUM_CODE128_SECURITY_LEVEL)
272
+ {
273
+ decoderParameters.dwSecurityLevel = iValue;
274
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
275
+ }
276
+ else
277
+ {
278
+ LOG(WARNING) + L"Code 128 Security Level is out of Range";
279
+ bValueRecognised = FALSE;
280
+ }
281
+ }
282
+ else if (cmp(szPropertyName, L"Code128MinLength"))
283
+ {
284
+ int iMin = StringToInt(szPropertyValue);
285
+ if (iMin >= MINIMUM_CODE128_LENGTH && iMin <= MAXIMUM_CODE128_LENGTH)
286
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
287
+ else
288
+ {
289
+ LOG(WARNING) + L"Code128 Minimum Length is out of Range";
290
+ bRetVal = FALSE;
291
+ }
292
+ }
293
+ else if (cmp(szPropertyName, L"Code128MaxLength"))
294
+ {
295
+ int iMax = StringToInt(szPropertyValue);
296
+ if (iMax >= MINIMUM_CODE128_LENGTH && iMax <= MAXIMUM_CODE128_LENGTH)
297
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
298
+ else
299
+ {
300
+ LOG(WARNING) + L"Code 128 Maximum Length is out of Range";
301
+ bRetVal = FALSE;
302
+ }
303
+ }
304
+ else
305
+ bRetVal = FALSE;
306
+
307
+ if (bRetVal && bValueRecognised)
308
+ {
309
+ // Cancel any pending scanner reads to enable these new settings
310
+ lpfn_SCAN_Flush(m_hScanner);
311
+ }
312
+ else
313
+ {
314
+ // Failed to apply setting
315
+ WCHAR tcLog[MAXLOG];
316
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
317
+ szPropertyName, szPropertyValue);
318
+ LOG(WARNING) + tcLog;
319
+ }
320
+
321
+ return bRetVal;
322
+ }
323
+
324
+ BOOL CScanner::Set_code11_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
325
+ {
326
+ CODE11_PARAMS decoderParameters;
327
+ BOOL bRetVal = TRUE;
328
+ BOOL bValueRecognised = TRUE;
329
+ BYTE cCurrentDecoder = (BYTE)*DECODER_CODE11;
330
+ if (cmp(szPropertyName, L"code11"))
331
+ {
332
+ // Enable or Disable the Decoder
333
+ if (EnabledValue(szPropertyValue))
334
+ {
335
+ bRetVal = EnableDecoder(cCurrentDecoder);
336
+ }
337
+ else if (DisabledValue(szPropertyValue))
338
+ {
339
+ bRetVal = DisableDecoder(cCurrentDecoder);
340
+ }
341
+ else
342
+ bValueRecognised = FALSE;
343
+ }
344
+ else if (cmp(szPropertyName, L"Code11Redundancy"))
345
+ {
346
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
347
+ if (cmp(szPropertyValue, L"True"))
348
+ decoderParameters.bRedundancy = TRUE;
349
+ else if (cmp(szPropertyValue, L"False"))
350
+ decoderParameters.bRedundancy = FALSE;
351
+ else
352
+ bValueRecognised = FALSE;
353
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
354
+ }
355
+ else if (cmp(szPropertyName, L"Code11ReportCheckDigit"))
356
+ {
357
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
358
+ if (cmp(szPropertyValue, L"True"))
359
+ decoderParameters.bReportCheckDigit = TRUE;
360
+ else if (cmp(szPropertyValue, L"False"))
361
+ decoderParameters.bReportCheckDigit = FALSE;
362
+ else
363
+ bValueRecognised = FALSE;
364
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
365
+ }
366
+ else if (cmp(szPropertyName, L"Code11CheckDigitCount"))
367
+ {
368
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
369
+ if (cmp(szPropertyValue, L"none"))
370
+ decoderParameters.dwCheckDigitCount = CODE11_NO_CHECK_DIGIT;
371
+ else if (cmp(szPropertyValue, L"one"))
372
+ decoderParameters.dwCheckDigitCount = CODE11_ONE_CHECK_DIGIT;
373
+ else if (cmp(szPropertyValue, L"two"))
374
+ decoderParameters.dwCheckDigitCount = CODE11_TWO_CHECK_DIGIT;
375
+ else
376
+ bValueRecognised = FALSE;
377
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
378
+ }
379
+ else if (cmp(szPropertyName, L"Code11MinLength"))
380
+ {
381
+ int iMin = StringToInt(szPropertyValue);
382
+ if (iMin >= MINIMUM_CODE11_LENGTH && iMin <= MAXIMUM_CODE11_LENGTH)
383
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
384
+ else
385
+ {
386
+ LOG(WARNING) + L"Code11 Minimum Length is out of Range";
387
+ bRetVal = FALSE;
388
+ }
389
+ }
390
+ else if (cmp(szPropertyName, L"Code11MaxLength"))
391
+ {
392
+ int iMax = StringToInt(szPropertyValue);
393
+ if (iMax >= MINIMUM_CODE11_LENGTH && iMax <= MAXIMUM_CODE11_LENGTH)
394
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
395
+ else
396
+ {
397
+ LOG(WARNING) + L"Code 11 Maximum Length is out of Range";
398
+ bRetVal = FALSE;
399
+ }
400
+ }
401
+ else
402
+ bRetVal = FALSE;
403
+
404
+ if (bRetVal && bValueRecognised)
405
+ {
406
+ // Cancel any pending scanner reads to enable these new settings
407
+ lpfn_SCAN_Flush(m_hScanner);
408
+ }
409
+ else
410
+ {
411
+ // Failed to apply setting
412
+ WCHAR tcLog[MAXLOG];
413
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
414
+ szPropertyName, szPropertyValue);
415
+ LOG(WARNING) + tcLog;
416
+ }
417
+
418
+ return bRetVal;
419
+ }
420
+
421
+ BOOL CScanner::Set_code39_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
422
+ {
423
+ CODE39_PARAMS decoderParameters;
424
+ BOOL bRetVal = TRUE;
425
+ BOOL bValueRecognised = TRUE;
426
+ BYTE cCurrentDecoder = (BYTE)*DECODER_CODE39;
427
+ if (cmp(szPropertyName, L"code39"))
428
+ {
429
+ // Enable or Disable the Decoder
430
+ if (EnabledValue(szPropertyValue))
431
+ {
432
+ bRetVal = EnableDecoder(cCurrentDecoder);
433
+ }
434
+ else if (DisabledValue(szPropertyValue))
435
+ {
436
+ bRetVal = DisableDecoder(cCurrentDecoder);
437
+ }
438
+ else
439
+ bValueRecognised = FALSE;
440
+ }
441
+ else if (cmp(szPropertyName, L"Code39Redundancy"))
442
+ {
443
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
444
+ if (cmp(szPropertyValue, L"True"))
445
+ decoderParameters.bRedundancy = TRUE;
446
+ else if (cmp(szPropertyValue, L"False"))
447
+ decoderParameters.bRedundancy = FALSE;
448
+ else
449
+ bValueRecognised = FALSE;
450
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
451
+ }
452
+ else if (cmp(szPropertyName, L"Code39ReportCheckDigit"))
453
+ {
454
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
455
+ if (cmp(szPropertyValue, L"True"))
456
+ decoderParameters.bReportCheckDigit = TRUE;
457
+ else if (cmp(szPropertyValue, L"False"))
458
+ decoderParameters.bReportCheckDigit = FALSE;
459
+ else
460
+ bValueRecognised = FALSE;
461
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
462
+ }
463
+ else if (cmp(szPropertyName, L"Code39VerifyCheckDigit"))
464
+ {
465
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
466
+ if (cmp(szPropertyValue, L"True"))
467
+ decoderParameters.bVerifyCheckDigit = TRUE;
468
+ else if (cmp(szPropertyValue, L"False"))
469
+ decoderParameters.bVerifyCheckDigit = FALSE;
470
+ else
471
+ bValueRecognised = FALSE;
472
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
473
+ }
474
+ else if (cmp(szPropertyName, L"Code39Code32Prefix"))
475
+ {
476
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
477
+ if (cmp(szPropertyValue, L"True"))
478
+ decoderParameters.bCode32Prefix = TRUE;
479
+ else if (cmp(szPropertyValue, L"False"))
480
+ decoderParameters.bCode32Prefix = FALSE;
481
+ else
482
+ bValueRecognised = FALSE;
483
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
484
+ }
485
+ else if (cmp(szPropertyName, L"Code39Concatenation"))
486
+ {
487
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
488
+ if (cmp(szPropertyValue, L"True"))
489
+ decoderParameters.bConcatenation = TRUE;
490
+ else if (cmp(szPropertyValue, L"False"))
491
+ decoderParameters.bConcatenation = FALSE;
492
+ else
493
+ bValueRecognised = FALSE;
494
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
495
+ }
496
+ else if (cmp(szPropertyName, L"Code39ConvertToCode32"))
497
+ {
498
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
499
+ if (cmp(szPropertyValue, L"True"))
500
+ decoderParameters.bConvertToCode32 = TRUE;
501
+ else if (cmp(szPropertyValue, L"False"))
502
+ decoderParameters.bConvertToCode32 = FALSE;
503
+ else
504
+ bValueRecognised = FALSE;
505
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
506
+ }
507
+ else if (cmp(szPropertyName, L"Code39FullAscii"))
508
+ {
509
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
510
+ if (cmp(szPropertyValue, L"True"))
511
+ decoderParameters.bFullAscii = TRUE;
512
+ else if (cmp(szPropertyValue, L"False"))
513
+ decoderParameters.bFullAscii = FALSE;
514
+ else
515
+ bValueRecognised = FALSE;
516
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
517
+ }
518
+ else if (cmp(szPropertyName, L"code39securityLevel"))
519
+ {
520
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
521
+ int iValue = StringToInt(szPropertyValue);
522
+ if (iValue >= MINIMUM_CODE39_SECURITY_LEVEL && iValue <= MAXIMUM_CODE39_SECURITY_LEVEL)
523
+ {
524
+ decoderParameters.dwSecurityLevel = iValue;
525
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
526
+ }
527
+ else
528
+ {
529
+ LOG(WARNING) + L"Code 39 Security Level is out of Range";
530
+ bValueRecognised = FALSE;
531
+ }
532
+ }
533
+ else if (cmp(szPropertyName, L"Code39MinLength"))
534
+ {
535
+ int iMin = StringToInt(szPropertyValue);
536
+ if (iMin >= MINIMUM_CODE39_LENGTH && iMin <= MAXIMUM_CODE39_LENGTH)
537
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
538
+ else
539
+ {
540
+ LOG(WARNING) + L"Code39 Minimum Length is out of Range";
541
+ bRetVal = FALSE;
542
+ }
543
+ }
544
+ else if (cmp(szPropertyName, L"Code39MaxLength"))
545
+ {
546
+ int iMax = StringToInt(szPropertyValue);
547
+ if (iMax >= MINIMUM_CODE39_LENGTH && iMax <= MAXIMUM_CODE39_LENGTH)
548
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
549
+ else
550
+ {
551
+ LOG(WARNING) + L"Code39 Maximum Length is out of Range";
552
+ bRetVal = FALSE;
553
+ }
554
+ }
555
+ else
556
+ bRetVal = FALSE;
557
+
558
+ if (bRetVal && bValueRecognised)
559
+ {
560
+ // Cancel any pending scanner reads to enable these new settings
561
+ lpfn_SCAN_Flush(m_hScanner);
562
+ }
563
+ else
564
+ {
565
+ // Failed to apply setting
566
+ WCHAR tcLog[MAXLOG];
567
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
568
+ szPropertyName, szPropertyValue);
569
+ LOG(WARNING) + tcLog;
570
+ }
571
+
572
+ return bRetVal;
573
+ }
574
+
575
+
576
+ BOOL CScanner::Set_code93_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
577
+ {
578
+ CODE93_PARAMS decoderParameters;
579
+ BOOL bRetVal = TRUE;
580
+ BOOL bValueRecognised = TRUE;
581
+ BYTE cCurrentDecoder = (BYTE)*DECODER_CODE93;
582
+ if (cmp(szPropertyName, L"code93"))
583
+ {
584
+ // Enable or Disable the Decoder
585
+ if (EnabledValue(szPropertyValue))
586
+ {
587
+ bRetVal = EnableDecoder(cCurrentDecoder);
588
+ }
589
+ else if (DisabledValue(szPropertyValue))
590
+ {
591
+ bRetVal = DisableDecoder(cCurrentDecoder);
592
+ }
593
+ else
594
+ bValueRecognised = FALSE;
595
+ }
596
+ else if (cmp(szPropertyName, L"Code93Redundancy"))
597
+ {
598
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
599
+ if (cmp(szPropertyValue, L"True"))
600
+ decoderParameters.bRedundancy = TRUE;
601
+ else if (cmp(szPropertyValue, L"False"))
602
+ decoderParameters.bRedundancy = FALSE;
603
+ else
604
+ bValueRecognised = FALSE;
605
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
606
+ }
607
+ else if (cmp(szPropertyName, L"Code93MinLength"))
608
+ {
609
+ int iMin = StringToInt(szPropertyValue);
610
+ if (iMin >= MINIMUM_CODE93_LENGTH && iMin <= MAXIMUM_CODE93_LENGTH)
611
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
612
+ else
613
+ {
614
+ LOG(WARNING) + L"Code93 Minimum Length is out of Range";
615
+ bRetVal = FALSE;
616
+ }
617
+ }
618
+ else if (cmp(szPropertyName, L"Code93MaxLength"))
619
+ {
620
+ int iMax = StringToInt(szPropertyValue);
621
+ if (iMax >= MINIMUM_CODE93_LENGTH && iMax <= MAXIMUM_CODE93_LENGTH)
622
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
623
+ else
624
+ {
625
+ LOG(WARNING) + L"Code93 Maximum Length is out of Range";
626
+ bRetVal = FALSE;
627
+ }
628
+ }
629
+ else
630
+ bRetVal = FALSE;
631
+
632
+ if (bRetVal && bValueRecognised)
633
+ {
634
+ // Cancel any pending scanner reads to enable these new settings
635
+ lpfn_SCAN_Flush(m_hScanner);
636
+ }
637
+ else
638
+ {
639
+ // Failed to apply setting
640
+ WCHAR tcLog[MAXLOG];
641
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
642
+ szPropertyName, szPropertyValue);
643
+ LOG(WARNING) + tcLog;
644
+ }
645
+
646
+ return bRetVal;
647
+ }
648
+
649
+
650
+ BOOL CScanner::Set_d2of5_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
651
+ {
652
+ D2OF5_PARAMS decoderParameters;
653
+ BOOL bRetVal = TRUE;
654
+ BOOL bValueRecognised = TRUE;
655
+ BYTE cCurrentDecoder = (BYTE)*DECODER_D2OF5;
656
+ if (cmp(szPropertyName, L"d2of5"))
657
+ {
658
+ // Enable or Disable the Decoder
659
+ if (EnabledValue(szPropertyValue))
660
+ {
661
+ bRetVal = EnableDecoder(cCurrentDecoder);
662
+ }
663
+ else if (DisabledValue(szPropertyValue))
664
+ {
665
+ bRetVal = DisableDecoder(cCurrentDecoder);
666
+ }
667
+ else
668
+ bValueRecognised = FALSE;
669
+ }
670
+ else if (cmp(szPropertyName, L"D2of5Redundancy"))
671
+ {
672
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
673
+ if (cmp(szPropertyValue, L"True"))
674
+ decoderParameters.bRedundancy = TRUE;
675
+ else if (cmp(szPropertyValue, L"False"))
676
+ decoderParameters.bRedundancy = FALSE;
677
+ else
678
+ bValueRecognised = FALSE;
679
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
680
+ }
681
+ else if (cmp(szPropertyName, L"D2of5Minlength"))
682
+ {
683
+ int iMin = StringToInt(szPropertyValue);
684
+ if (iMin >= MINIMUM_D2OF5_LENGTH && iMin <= MAXIMUM_D2OF5_LENGTH)
685
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
686
+ else
687
+ {
688
+ LOG(WARNING) + L"D2of5 Minimum Length is out of Range";
689
+ bValueRecognised = FALSE;
690
+ }
691
+ }
692
+ else if (cmp(szPropertyName, L"D2of5Maxlength"))
693
+ {
694
+ int iMax = StringToInt(szPropertyValue);
695
+ if (iMax >= MINIMUM_D2OF5_LENGTH && iMax <= MAXIMUM_D2OF5_LENGTH)
696
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
697
+ else
698
+ {
699
+ LOG(WARNING) + L"D2of5 Maximum Length is out of Range";
700
+ bValueRecognised = FALSE;
701
+ }
702
+ }
703
+ else
704
+ bRetVal = FALSE;
705
+
706
+ if (bRetVal && bValueRecognised)
707
+ {
708
+ // Cancel any pending scanner reads to enable these new settings
709
+ lpfn_SCAN_Flush(m_hScanner);
710
+ }
711
+ else
712
+ {
713
+ // Failed to apply setting
714
+ WCHAR tcLog[MAXLOG];
715
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
716
+ szPropertyName, szPropertyValue);
717
+ LOG(WARNING) + tcLog;
718
+ }
719
+
720
+ return bRetVal;
721
+ }
722
+
723
+
724
+ BOOL CScanner::Set_ean8_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
725
+ {
726
+ EAN8_PARAMS decoderParameters;
727
+ BOOL bRetVal = TRUE;
728
+ BOOL bValueRecognised = TRUE;
729
+ BYTE cCurrentDecoder = (BYTE)*DECODER_EAN8;
730
+ if (cmp(szPropertyName, L"ean8"))
731
+ {
732
+ // Enable or Disable the Decoder
733
+ if (EnabledValue(szPropertyValue))
734
+ {
735
+ bRetVal = EnableDecoder(cCurrentDecoder);
736
+ }
737
+ else if (DisabledValue(szPropertyValue))
738
+ {
739
+ bRetVal = DisableDecoder(cCurrentDecoder);
740
+ }
741
+ else
742
+ bValueRecognised = FALSE;
743
+ }
744
+ else if (cmp(szPropertyName, L"ean8ConvertToEan13"))
745
+ {
746
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
747
+ if (cmp(szPropertyValue, L"True"))
748
+ decoderParameters.bConvertToEAN13 = TRUE;
749
+ else if (cmp(szPropertyValue, L"False"))
750
+ decoderParameters.bConvertToEAN13 = FALSE;
751
+ else
752
+ bValueRecognised = FALSE;
753
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
754
+ }
755
+ else
756
+ bRetVal = FALSE;
757
+
758
+ if (bRetVal && bValueRecognised)
759
+ {
760
+ // Cancel any pending scanner reads to enable these new settings
761
+ lpfn_SCAN_Flush(m_hScanner);
762
+ }
763
+ else
764
+ {
765
+ // Failed to apply setting
766
+ WCHAR tcLog[MAXLOG];
767
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
768
+ szPropertyName, szPropertyValue);
769
+ LOG(WARNING) + tcLog;
770
+ }
771
+
772
+ return bRetVal;
773
+ }
774
+
775
+
776
+ BOOL CScanner::Set_i2of5_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
777
+ {
778
+ I2OF5_PARAMS decoderParameters;
779
+ BOOL bRetVal = TRUE;
780
+ BOOL bValueRecognised = TRUE;
781
+ BYTE cCurrentDecoder = (BYTE)*DECODER_I2OF5;
782
+ if (cmp(szPropertyName, L"i2of5"))
783
+ {
784
+ // Enable or Disable the Decoder
785
+ if (EnabledValue(szPropertyValue))
786
+ {
787
+ bRetVal = EnableDecoder(cCurrentDecoder);
788
+ }
789
+ else if (DisabledValue(szPropertyValue))
790
+ {
791
+ bRetVal = DisableDecoder(cCurrentDecoder);
792
+ }
793
+ else
794
+ bValueRecognised = FALSE;
795
+ }
796
+ else if (cmp(szPropertyName, L"I2of5Redundancy"))
797
+ {
798
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
799
+ if (cmp(szPropertyValue, L"True"))
800
+ decoderParameters.bRedundancy = TRUE;
801
+ else if (cmp(szPropertyValue, L"False"))
802
+ decoderParameters.bRedundancy = FALSE;
803
+ else
804
+ bValueRecognised = FALSE;
805
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
806
+ }
807
+ else if (cmp(szPropertyName, L"I2of5ConvertToEAN13"))
808
+ {
809
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
810
+ if (cmp(szPropertyValue, L"True"))
811
+ decoderParameters.bConvertToEAN13 = TRUE;
812
+ else if (cmp(szPropertyValue, L"False"))
813
+ decoderParameters.bConvertToEAN13 = FALSE;
814
+ else
815
+ bValueRecognised = FALSE;
816
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
817
+ }
818
+ else if (cmp(szPropertyName, L"I2of5ReportCheckDigit"))
819
+ {
820
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
821
+ if (cmp(szPropertyValue, L"True"))
822
+ decoderParameters.bReportCheckDigit = TRUE;
823
+ else if (cmp(szPropertyValue, L"False"))
824
+ decoderParameters.bReportCheckDigit = FALSE;
825
+ else
826
+ bValueRecognised = FALSE;
827
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
828
+ }
829
+ else if (cmp(szPropertyName, L"I2of5VerifyCheckDigit"))
830
+ {
831
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
832
+ if (cmp(szPropertyValue, L"none"))
833
+ decoderParameters.dwVerifyCheckDigit = I2OF5_NO_CHECK_DIGIT;
834
+ else if (cmp(szPropertyValue, L"uss"))
835
+ decoderParameters.dwVerifyCheckDigit = I2OF5_USS_CHECK_DIGIT;
836
+ else if (cmp(szPropertyValue, L"opcc"))
837
+ decoderParameters.dwVerifyCheckDigit = I2OF5_OPCC_CHECK_DIGIT;
838
+ else
839
+ bValueRecognised = FALSE;
840
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
841
+ }
842
+ else if (cmp(szPropertyName, L"I2of5Minlength"))
843
+ {
844
+ int iMin = StringToInt(szPropertyValue);
845
+ if (iMin >= MINIMUM_I2OF5_LENGTH && iMin <= MAXIMUM_I2OF5_LENGTH)
846
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
847
+ else
848
+ {
849
+ LOG(WARNING) + L"I2of5 Minimum Length is out of Range";
850
+ bRetVal = FALSE;
851
+ }
852
+ }
853
+ else if (cmp(szPropertyName, L"I2of5Maxlength"))
854
+ {
855
+ int iMax = StringToInt(szPropertyValue);
856
+ if (iMax >= MINIMUM_I2OF5_LENGTH && iMax <= MAXIMUM_I2OF5_LENGTH)
857
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
858
+ else
859
+ {
860
+ LOG(WARNING) + L"I2of5 Maximum Length is out of Range";
861
+ bRetVal = FALSE;
862
+ }
863
+ }
864
+ else
865
+ bRetVal = FALSE;
866
+
867
+ if (bRetVal && bValueRecognised)
868
+ {
869
+ // Cancel any pending scanner reads to enable these new settings
870
+ lpfn_SCAN_Flush(m_hScanner);
871
+ }
872
+ else
873
+ {
874
+ // Failed to apply setting
875
+ WCHAR tcLog[MAXLOG];
876
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
877
+ szPropertyName, szPropertyValue);
878
+ LOG(WARNING) + tcLog;
879
+ }
880
+
881
+ return bRetVal;
882
+ }
883
+
884
+
885
+ BOOL CScanner::Set_msi_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
886
+ {
887
+ MSI_PARAMS decoderParameters;
888
+ BOOL bRetVal = TRUE;
889
+ BOOL bValueRecognised = TRUE;
890
+ BYTE cCurrentDecoder = (BYTE)*DECODER_MSI;
891
+ if (cmp(szPropertyName, L"msi"))
892
+ {
893
+ // Enable or Disable the Decoder
894
+ if (EnabledValue(szPropertyValue))
895
+ {
896
+ bRetVal = EnableDecoder(cCurrentDecoder);
897
+ }
898
+ else if (DisabledValue(szPropertyValue))
899
+ {
900
+ bRetVal = DisableDecoder(cCurrentDecoder);
901
+ }
902
+ else
903
+ bValueRecognised = FALSE;
904
+ }
905
+ else if (cmp(szPropertyName, L"msiCheckDigits"))
906
+ {
907
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
908
+ if (cmp(szPropertyValue, L"one"))
909
+ decoderParameters.dwCheckDigits = MSI_ONE_CHECK_DIGIT;
910
+ else if (cmp(szPropertyValue, L"two"))
911
+ decoderParameters.dwCheckDigits = MSI_TWO_CHECK_DIGIT;
912
+ else
913
+ bValueRecognised = FALSE;
914
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
915
+ }
916
+ else if (cmp(szPropertyName, L"msiCheckDigitScheme"))
917
+ {
918
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
919
+ if (cmp(szPropertyValue, L"mod_11_10") || cmp(szPropertyValue, L"mod11"))
920
+ decoderParameters.dwCheckDigitScheme = MSI_CHKDGT_MOD_11_10;
921
+ else if (cmp(szPropertyValue, L"mod_10_10") || cmp(szPropertyValue, L"mod10"))
922
+ decoderParameters.dwCheckDigitScheme = MSI_CHKDGT_MOD_10_10;
923
+ else
924
+ bValueRecognised = FALSE;
925
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
926
+ }
927
+ else if (cmp(szPropertyName, L"msiRedundancy"))
928
+ {
929
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
930
+ if (cmp(szPropertyValue, L"True"))
931
+ decoderParameters.bRedundancy = TRUE;
932
+ else if (cmp(szPropertyValue, L"False"))
933
+ decoderParameters.bRedundancy = FALSE;
934
+ else
935
+ bValueRecognised = FALSE;
936
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
937
+ }
938
+ else if (cmp(szPropertyName, L"msiReportCheckDigit"))
939
+ {
940
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
941
+ if (cmp(szPropertyValue, L"True"))
942
+ decoderParameters.bReportCheckDigit = TRUE;
943
+ else if (cmp(szPropertyValue, L"False"))
944
+ decoderParameters.bReportCheckDigit = FALSE;
945
+ else
946
+ bValueRecognised = FALSE;
947
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
948
+ }
949
+ else if (cmp(szPropertyName, L"msiMinLength"))
950
+ {
951
+ int iMin = StringToInt(szPropertyValue);
952
+ if (iMin >= MINIMUM_MSI_LENGTH && iMin <= MAXIMUM_MSI_LENGTH)
953
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
954
+ else
955
+ {
956
+ LOG(WARNING) + L"msi Minimum Length is out of Range";
957
+ bRetVal = FALSE;
958
+ }
959
+ }
960
+ else if (cmp(szPropertyName, L"msiMaxLength"))
961
+ {
962
+ int iMax = StringToInt(szPropertyValue);
963
+ if (iMax >= MINIMUM_MSI_LENGTH && iMax <= MAXIMUM_MSI_LENGTH)
964
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
965
+ else
966
+ {
967
+ LOG(WARNING) + L"msi Maximum Length is out of Range";
968
+ bRetVal = FALSE;
969
+ }
970
+ }
971
+ else
972
+ bRetVal = FALSE;
973
+
974
+ if (bRetVal && bValueRecognised)
975
+ {
976
+ // Cancel any pending scanner reads to enable these new settings
977
+ lpfn_SCAN_Flush(m_hScanner);
978
+ }
979
+ else
980
+ {
981
+ // Failed to apply setting
982
+ WCHAR tcLog[MAXLOG];
983
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
984
+ szPropertyName, szPropertyValue);
985
+ LOG(WARNING) + tcLog;
986
+ }
987
+
988
+ return bRetVal;
989
+ }
990
+
991
+ BOOL CScanner::Set_trioptic39_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
992
+ {
993
+ TRIOPTIC39_PARAMS decoderParameters;
994
+ BOOL bRetVal = TRUE;
995
+ BOOL bValueRecognised = TRUE;
996
+ BYTE cCurrentDecoder = (BYTE)*DECODER_TRIOPTIC39;
997
+ if (cmp(szPropertyName, L"Trioptic39"))
998
+ {
999
+ // Enable or Disable the Decoder
1000
+ if (EnabledValue(szPropertyValue))
1001
+ {
1002
+ bRetVal = EnableDecoder(cCurrentDecoder);
1003
+ }
1004
+ else if (DisabledValue(szPropertyValue))
1005
+ {
1006
+ bRetVal = DisableDecoder(cCurrentDecoder);
1007
+ }
1008
+ else
1009
+ bValueRecognised = FALSE;
1010
+ }
1011
+ else if (cmp(szPropertyName, L"trioptic39Redundancy"))
1012
+ {
1013
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1014
+ if (cmp(szPropertyValue, L"True"))
1015
+ decoderParameters.bRedundancy = TRUE;
1016
+ else if (cmp(szPropertyValue, L"False"))
1017
+ decoderParameters.bRedundancy = FALSE;
1018
+ else
1019
+ bValueRecognised = FALSE;
1020
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1021
+ }
1022
+ else
1023
+ bRetVal = FALSE;
1024
+
1025
+ if (bRetVal && bValueRecognised)
1026
+ {
1027
+ // Cancel any pending scanner reads to enable these new settings
1028
+ lpfn_SCAN_Flush(m_hScanner);
1029
+ }
1030
+ else
1031
+ {
1032
+ // Failed to apply setting
1033
+ WCHAR tcLog[MAXLOG];
1034
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1035
+ szPropertyName, szPropertyValue);
1036
+ LOG(WARNING) + tcLog;
1037
+ }
1038
+
1039
+ return bRetVal;
1040
+ }
1041
+
1042
+ BOOL CScanner::Set_upc_ean_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1043
+ {
1044
+ BOOL bRetVal = TRUE;
1045
+ BOOL bValueRecognised = TRUE;
1046
+ UPC_EAN_PARAMS upceanParams;
1047
+ // Since there is not enable / disable of upc_ean we can retrieve the
1048
+ // current parameters at the top level
1049
+ RetrieveUPCEANParams(&upceanParams);
1050
+
1051
+ if (cmp(szPropertyName, L"upc_eanbookland") ||
1052
+ cmp(szPropertyName, L"upceanbookland"))
1053
+ {
1054
+ if (cmp(szPropertyValue, L"True"))
1055
+ upceanParams.bBookland = TRUE;
1056
+ else if (cmp(szPropertyValue, L"False"))
1057
+ upceanParams.bBookland = FALSE;
1058
+ else
1059
+ bValueRecognised = FALSE;
1060
+ }
1061
+ else if (cmp(szPropertyName, L"upc_eanCoupon") ||
1062
+ cmp(szPropertyName, L"upceanCoupon"))
1063
+ {
1064
+ if (cmp(szPropertyValue, L"True"))
1065
+ upceanParams.bCoupon = TRUE;
1066
+ else if (cmp(szPropertyValue, L"False"))
1067
+ upceanParams.bCoupon = FALSE;
1068
+ else
1069
+ bValueRecognised = FALSE;
1070
+ }
1071
+ else if (cmp(szPropertyName, L"upc_eanLinearDecode") ||
1072
+ cmp(szPropertyName, L"upceanLinearDecode"))
1073
+ {
1074
+ if (cmp(szPropertyValue, L"True"))
1075
+ upceanParams.bLinearDecode = TRUE;
1076
+ else if (cmp(szPropertyValue, L"False"))
1077
+ upceanParams.bLinearDecode = FALSE;
1078
+ else
1079
+ bValueRecognised = FALSE;
1080
+ }
1081
+ else if (cmp(szPropertyName, L"upc_eanRandomWeightCheckDigit") ||
1082
+ cmp(szPropertyName, L"upceanRandomWeightCheckDigit"))
1083
+ {
1084
+ if (cmp(szPropertyValue, L"True"))
1085
+ upceanParams.bRandomWeightCheckDigit = TRUE;
1086
+ else if (cmp(szPropertyValue, L"False"))
1087
+ upceanParams.bRandomWeightCheckDigit = FALSE;
1088
+ else
1089
+ bValueRecognised = FALSE;
1090
+ }
1091
+ else if (cmp(szPropertyName, L"upc_eanSupplemental2") ||
1092
+ cmp(szPropertyName, L"upceanSupplemental2"))
1093
+ {
1094
+ if (cmp(szPropertyValue, L"True"))
1095
+ upceanParams.bSupplemental2 = TRUE;
1096
+ else if (cmp(szPropertyValue, L"False"))
1097
+ upceanParams.bSupplemental2 = FALSE;
1098
+ else
1099
+ bValueRecognised = FALSE;
1100
+ }
1101
+ else if (cmp(szPropertyName, L"upc_eanSupplemental5") ||
1102
+ cmp(szPropertyName, L"upceanSupplemental5"))
1103
+ {
1104
+ if (cmp(szPropertyValue, L"True"))
1105
+ upceanParams.bSupplemental5 = TRUE;
1106
+ else if (cmp(szPropertyValue, L"False"))
1107
+ upceanParams.bSupplemental5 = FALSE;
1108
+ else
1109
+ bValueRecognised = FALSE;
1110
+ }
1111
+ else if (cmp(szPropertyName, L"upc_eanConvertRSSToUpcean") ||
1112
+ cmp(szPropertyName, L"upceanConvertRSSToUpcean") ||
1113
+ cmp(szPropertyName, L"upcEanConvertGs1dataBarToUpcEan"))
1114
+ {
1115
+ if (cmp(szPropertyValue, L"True"))
1116
+ upceanParams.bConvertRSSToUPCEAN = TRUE;
1117
+ else if (cmp(szPropertyValue, L"False"))
1118
+ upceanParams.bConvertRSSToUPCEAN = FALSE;
1119
+ else
1120
+ bValueRecognised = FALSE;
1121
+ }
1122
+ else if (cmp(szPropertyName, L"upc_eanRetryCount") ||
1123
+ cmp(szPropertyName, L"upceanRetryCount"))
1124
+ {
1125
+ int iValue = StringToInt(szPropertyValue);
1126
+ if (iValue >= MINIMUM_UPCEAN_RETRY_COUNT && iValue <= MAXIMUM_UPCEAN_RETRY_COUNT)
1127
+ upceanParams.dwRetryCount = iValue;
1128
+ else
1129
+ {
1130
+ LOG(WARNING) + L"UPC EAN Retry Count is out of Range";
1131
+ bValueRecognised = FALSE;
1132
+ }
1133
+ }
1134
+ else if (cmp(szPropertyName, L"upc_eanSecurityLevel") ||
1135
+ cmp(szPropertyName, L"upceanSecurityLevel"))
1136
+ {
1137
+ // None, Ambiguous and All have been deprecated in the EMDK and replaced by numbers
1138
+ if (cmp(szPropertyValue, L"none"))
1139
+ upceanParams.dwSecurityLevel = UPCEAN_SECURITY_NONE;
1140
+ else if (cmp(szPropertyValue, L"ambiguous"))
1141
+ upceanParams.dwSecurityLevel = UPCEAN_SECURITY_AMBIGUOUS;
1142
+ else if (cmp(szPropertyValue, L"all"))
1143
+ upceanParams.dwSecurityLevel = UPCEAN_SECURITY_ALL;
1144
+ else
1145
+ {
1146
+ int iValue = StringToInt(szPropertyValue);
1147
+ if (iValue >= MINIMUM_UPC_EAN_SECURITY_LEVEL && iValue <= MAXIMUM_UPC_EAN_SECURITY_LEVEL)
1148
+ upceanParams.dwSecurityLevel = iValue;
1149
+ else
1150
+ {
1151
+ LOG(WARNING) + L"UPC EAN Security Level is out of Range";
1152
+ bValueRecognised = FALSE;
1153
+ }
1154
+ }
1155
+ }
1156
+ else if (cmp(szPropertyName, L"upc_eanSupplementalMode") ||
1157
+ cmp(szPropertyName, L"upceanSupplementalMode"))
1158
+ {
1159
+ if (cmp(szPropertyValue, L"none"))
1160
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_NONE;
1161
+ else if (cmp(szPropertyValue, L"always"))
1162
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_ALWAYS;
1163
+ else if (cmp(szPropertyValue, L"auto"))
1164
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_AUTO;
1165
+ else if (cmp(szPropertyValue, L"smart"))
1166
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_SMART;
1167
+ else if (cmp(szPropertyValue, L"378or379"))
1168
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_378_379;
1169
+ else if (cmp(szPropertyValue, L"978"))
1170
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_978;
1171
+ else if (cmp(szPropertyValue, L"978or979"))
1172
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_978_979;
1173
+ else if (cmp(szPropertyValue, L"977"))
1174
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_977;
1175
+ else if (cmp(szPropertyValue, L"414or419or434or439"))
1176
+ upceanParams.dwSupplementalMode = SUPPLEMENTALS_414_419_434_439;
1177
+ else
1178
+ bValueRecognised = FALSE;
1179
+ }
1180
+ else if (cmp(szPropertyName, L"upc_eanBooklandFormat") ||
1181
+ cmp(szPropertyName, L"upceanBooklandFormat"))
1182
+ {
1183
+ if (cmp(szPropertyValue, L"isbn10"))
1184
+ upceanParams.dwBooklandFormat = BOOKLAND_FORMAT_ISBN_10;
1185
+ else if (cmp(szPropertyValue, L"isbn13"))
1186
+ upceanParams.dwBooklandFormat = BOOKLAND_FORMAT_ISBN_13;
1187
+ else
1188
+ bValueRecognised = FALSE;
1189
+ }
1190
+ else
1191
+ bRetVal = FALSE;
1192
+
1193
+ if (bRetVal && bValueRecognised)
1194
+ {
1195
+ SetUPCEANParams(&upceanParams);
1196
+ // Cancel any pending scanner reads to enable these new settings
1197
+ lpfn_SCAN_Flush(m_hScanner);
1198
+ }
1199
+ else
1200
+ {
1201
+ // Failed to apply setting
1202
+ WCHAR tcLog[MAXLOG];
1203
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1204
+ szPropertyName, szPropertyValue);
1205
+ LOG(WARNING) + tcLog;
1206
+ }
1207
+
1208
+ return bRetVal;
1209
+ }
1210
+
1211
+
1212
+ BOOL CScanner::Set_upca_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1213
+ {
1214
+ UPCA_PARAMS decoderParameters;
1215
+ BOOL bRetVal = TRUE;
1216
+ BOOL bValueRecognised = TRUE;
1217
+ BYTE cCurrentDecoder = (BYTE)*DECODER_UPCA;
1218
+ if (cmp(szPropertyName, L"upca"))
1219
+ {
1220
+ // Parameter is UPCA, Enable or Disable the Decoder
1221
+ if (EnabledValue(szPropertyValue))
1222
+ {
1223
+ bRetVal = EnableDecoder(cCurrentDecoder);
1224
+ }
1225
+ else if (DisabledValue(szPropertyValue))
1226
+ {
1227
+ bRetVal = DisableDecoder(cCurrentDecoder);
1228
+ }
1229
+ else
1230
+ bValueRecognised = FALSE;
1231
+ }
1232
+ else if (cmp(szPropertyName, L"upcaPreamble"))
1233
+ {
1234
+ // UPCA Preamble
1235
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1236
+ if (cmp(szPropertyValue, L"None"))
1237
+ decoderParameters.dwPreamble = PREAMBLE_NONE;
1238
+ else if (cmp(szPropertyValue, L"System_Char") || cmp(szPropertyValue, L"systemChar"))
1239
+ decoderParameters.dwPreamble = PREAMBLE_SYSTEM_CHAR;
1240
+ else if (cmp(szPropertyValue, L"Country_And_System_Chars") || cmp(szPropertyValue, L"countryAndSystemChars"))
1241
+ decoderParameters.dwPreamble = PREAMBLE_COUNTRY_AND_SYSTEM_CHARS;
1242
+ else
1243
+ bValueRecognised = FALSE;
1244
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1245
+ }
1246
+ else if (cmp(szPropertyName, L"upcaReportCheckDigit"))
1247
+ {
1248
+ // UPCA Report Check Digit
1249
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1250
+ if (cmp(szPropertyValue, L"True"))
1251
+ decoderParameters.bReportCheckDigit = TRUE;
1252
+ else if (cmp(szPropertyValue, L"False"))
1253
+ decoderParameters.bReportCheckDigit = FALSE;
1254
+ else
1255
+ bValueRecognised = FALSE;
1256
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1257
+ }
1258
+ else
1259
+ bRetVal = FALSE;
1260
+
1261
+ if (bRetVal && bValueRecognised)
1262
+ {
1263
+ // Cancel any pending scanner reads to enable these new settings
1264
+ lpfn_SCAN_Flush(m_hScanner);
1265
+ }
1266
+ else
1267
+ {
1268
+ // Failed to apply setting
1269
+ WCHAR tcLog[MAXLOG];
1270
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1271
+ szPropertyName, szPropertyValue);
1272
+ LOG(WARNING) + tcLog;
1273
+ }
1274
+ return bRetVal;
1275
+ }
1276
+
1277
+
1278
+ BOOL CScanner::Set_upce0_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1279
+ {
1280
+ UPCE0_PARAMS decoderParameters;
1281
+ BOOL bRetVal = TRUE;
1282
+ BOOL bValueRecognised = TRUE;
1283
+ BYTE cCurrentDecoder = (BYTE)*DECODER_UPCE0;
1284
+ if (cmp(szPropertyName, L"upce0"))
1285
+ {
1286
+ if (EnabledValue(szPropertyValue))
1287
+ {
1288
+ bRetVal = EnableDecoder(cCurrentDecoder);
1289
+ }
1290
+ else if (DisabledValue(szPropertyValue))
1291
+ {
1292
+ bRetVal = DisableDecoder(cCurrentDecoder);
1293
+ }
1294
+ else
1295
+ bValueRecognised = FALSE;
1296
+ }
1297
+ else if (cmp(szPropertyName, L"upce0Preamble"))
1298
+ {
1299
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1300
+ if (cmp(szPropertyValue, L"None"))
1301
+ decoderParameters.dwPreamble = PREAMBLE_NONE;
1302
+ else if (cmp(szPropertyValue, L"System_Char") || cmp(szPropertyValue, L"systemChar"))
1303
+ decoderParameters.dwPreamble = PREAMBLE_SYSTEM_CHAR;
1304
+ else if (cmp(szPropertyValue, L"Country_And_System_Chars") || cmp(szPropertyValue, L"countryAndSystemChars"))
1305
+ decoderParameters.dwPreamble = PREAMBLE_COUNTRY_AND_SYSTEM_CHARS;
1306
+ else
1307
+ bValueRecognised = FALSE;
1308
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1309
+ }
1310
+ else if (cmp(szPropertyName, L"upce0ReportCheckDigit"))
1311
+ {
1312
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1313
+ if (cmp(szPropertyValue, L"True"))
1314
+ decoderParameters.bReportCheckDigit = TRUE;
1315
+ else if (cmp(szPropertyValue, L"False"))
1316
+ decoderParameters.bReportCheckDigit = FALSE;
1317
+ else
1318
+ bValueRecognised = FALSE;
1319
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1320
+ }
1321
+ else if (cmp(szPropertyName, L"upce0ConvertToUPCA"))
1322
+ {
1323
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1324
+ if (cmp(szPropertyValue, L"True"))
1325
+ decoderParameters.bConvertToUPCA = TRUE;
1326
+ else if (cmp(szPropertyValue, L"False"))
1327
+ decoderParameters.bConvertToUPCA = FALSE;
1328
+ else
1329
+ bValueRecognised = FALSE;
1330
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1331
+ }
1332
+ else
1333
+ bRetVal = FALSE;
1334
+
1335
+ if (bRetVal && bValueRecognised)
1336
+ {
1337
+ // Cancel any pending scanner reads to enable these new settings
1338
+ lpfn_SCAN_Flush(m_hScanner);
1339
+ }
1340
+ else
1341
+ {
1342
+ // Failed to apply setting
1343
+ WCHAR tcLog[MAXLOG];
1344
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1345
+ szPropertyName, szPropertyValue);
1346
+ LOG(WARNING) + tcLog;
1347
+ }
1348
+ return bRetVal;
1349
+ }
1350
+
1351
+
1352
+ BOOL CScanner::Set_upce1_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1353
+ {
1354
+ UPCE1_PARAMS decoderParameters;
1355
+ BOOL bRetVal = TRUE;
1356
+ BOOL bValueRecognised = TRUE;
1357
+ BYTE cCurrentDecoder = (BYTE)*DECODER_UPCE1;
1358
+ if (cmp(szPropertyName, L"upce1"))
1359
+ {
1360
+ if (EnabledValue(szPropertyValue))
1361
+ {
1362
+ bRetVal = EnableDecoder(cCurrentDecoder);
1363
+ }
1364
+ else if (DisabledValue(szPropertyValue))
1365
+ {
1366
+ bRetVal = DisableDecoder(cCurrentDecoder);
1367
+ }
1368
+ else
1369
+ bValueRecognised = FALSE;
1370
+ }
1371
+ else if (cmp(szPropertyName, L"upce1Preamble"))
1372
+ {
1373
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1374
+ if (cmp(szPropertyValue, L"None"))
1375
+ decoderParameters.dwPreamble = PREAMBLE_NONE;
1376
+ else if (cmp(szPropertyValue, L"System_Char") || cmp(szPropertyValue, L"systemChar"))
1377
+ decoderParameters.dwPreamble = PREAMBLE_SYSTEM_CHAR;
1378
+ else if (cmp(szPropertyValue, L"Country_And_System_Chars") || cmp(szPropertyValue, L"countryAndSystemChars"))
1379
+ decoderParameters.dwPreamble = PREAMBLE_COUNTRY_AND_SYSTEM_CHARS;
1380
+ else
1381
+ bValueRecognised = FALSE;
1382
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1383
+ }
1384
+ else if (cmp(szPropertyName, L"upce1ReportCheckDigit"))
1385
+ {
1386
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1387
+ if (cmp(szPropertyValue, L"True"))
1388
+ decoderParameters.bReportCheckDigit = TRUE;
1389
+ else if (cmp(szPropertyValue, L"False"))
1390
+ decoderParameters.bReportCheckDigit = FALSE;
1391
+ else
1392
+ bValueRecognised = FALSE;
1393
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1394
+ }
1395
+ else if (cmp(szPropertyName, L"upce1ConvertToUPCA"))
1396
+ {
1397
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1398
+ if (cmp(szPropertyValue, L"True"))
1399
+ decoderParameters.bConvertToUPCA = TRUE;
1400
+ else if (cmp(szPropertyValue, L"False"))
1401
+ decoderParameters.bConvertToUPCA = FALSE;
1402
+ else
1403
+ bValueRecognised = FALSE;
1404
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1405
+ }
1406
+ else
1407
+ bRetVal = FALSE;
1408
+
1409
+ if (bRetVal && bValueRecognised)
1410
+ {
1411
+ // Cancel any pending scanner reads to enable these new settings
1412
+ lpfn_SCAN_Flush(m_hScanner);
1413
+ }
1414
+ else
1415
+ {
1416
+ // Failed to apply setting
1417
+ WCHAR tcLog[MAXLOG];
1418
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1419
+ szPropertyName, szPropertyValue);
1420
+ LOG(WARNING) + tcLog;
1421
+ }
1422
+ return bRetVal;
1423
+ }
1424
+
1425
+ // Abstract Decoders which only have Enabled / Disabled to worry about (No Parameters)
1426
+ BOOL CScanner::SetSimpleDecoder(BYTE cCurrentDecoder, LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1427
+ {
1428
+ BOOL bRetVal = FALSE;
1429
+ if (EnabledValue(szPropertyValue))
1430
+ {
1431
+ bRetVal = EnableDecoder(cCurrentDecoder);
1432
+ }
1433
+ else if (DisabledValue(szPropertyValue))
1434
+ {
1435
+ bRetVal = DisableDecoder(cCurrentDecoder);
1436
+ }
1437
+
1438
+ if (bRetVal)
1439
+ {
1440
+ // Cancel any pending scanner reads to enable these new settings
1441
+ lpfn_SCAN_Flush(m_hScanner);
1442
+ }
1443
+ else
1444
+ {
1445
+ // Failed to apply setting
1446
+ WCHAR tcLog[MAXLOG];
1447
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1448
+ szPropertyName, szPropertyValue);
1449
+ LOG(WARNING) + tcLog;
1450
+ }
1451
+ return bRetVal;
1452
+ }
1453
+
1454
+ #pragma region PostalMetaProcs
1455
+
1456
+ BOOL CScanner::Set_auspostal_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1457
+ {
1458
+ return SetSimpleDecoder((BYTE)*DECODER_AUSPOSTAL, szPropertyName, szPropertyValue);
1459
+ }
1460
+
1461
+
1462
+ BOOL CScanner::Set_canpostal_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1463
+ {
1464
+ return SetSimpleDecoder((BYTE)*DECODER_CANPOSTAL, szPropertyName, szPropertyValue);
1465
+ }
1466
+
1467
+ BOOL CScanner::Set_dutchpostal_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1468
+ {
1469
+ return SetSimpleDecoder((BYTE)*DECODER_DUTCHPOSTAL, szPropertyName, szPropertyValue);
1470
+ }
1471
+
1472
+
1473
+ BOOL CScanner::Set_jappostal_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1474
+ {
1475
+ return SetSimpleDecoder((BYTE)*DECODER_JAPPOSTAL, szPropertyName, szPropertyValue);
1476
+ }
1477
+
1478
+ BOOL CScanner::Set_ukpostal_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1479
+ {
1480
+ return SetSimpleDecoder((BYTE)*DECODER_UKPOSTAL, szPropertyName, szPropertyValue);
1481
+ }
1482
+
1483
+
1484
+ BOOL CScanner::Set_uspostnet_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1485
+ {
1486
+ return SetSimpleDecoder((BYTE)*DECODER_USPOSTNET, szPropertyName, szPropertyValue);
1487
+ }
1488
+
1489
+ #pragma endregion
1490
+
1491
+
1492
+ BOOL CScanner::Set_composit_ab_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1493
+ {
1494
+ COMPOSITE_AB_PARAMS decoderParameters;
1495
+ BOOL bRetVal = TRUE;
1496
+ BOOL bValueRecognised = TRUE;
1497
+ BYTE cCurrentDecoder = (BYTE)*DECODER_COMPOSITE_AB;
1498
+ if (cmp(szPropertyName, L"composit_ab") ||
1499
+ cmp(szPropertyName, L"compositeAb"))
1500
+ {
1501
+ if (EnabledValue(szPropertyValue))
1502
+ {
1503
+ bRetVal = EnableDecoder(cCurrentDecoder);
1504
+ }
1505
+ else if (DisabledValue(szPropertyValue))
1506
+ {
1507
+ bRetVal = DisableDecoder(cCurrentDecoder);
1508
+ }
1509
+ else
1510
+ bValueRecognised = FALSE;
1511
+ }
1512
+ else if (cmp(szPropertyName, L"compositeAbUseUpcPreambleCheckDigitRules"))
1513
+ {
1514
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1515
+ if (cmp(szPropertyValue, L"True"))
1516
+ decoderParameters.bUseUPCPreambleCheckDigitRules = TRUE;
1517
+ else if (cmp(szPropertyValue, L"False"))
1518
+ decoderParameters.bUseUPCPreambleCheckDigitRules = FALSE;
1519
+ else
1520
+ bValueRecognised = FALSE;
1521
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1522
+ }
1523
+ else if (cmp(szPropertyName, L"compositeAbUccLinkMode"))
1524
+ {
1525
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1526
+ if (cmp(szPropertyValue, L"never"))
1527
+ decoderParameters.dwUCCLinkMode = UCC_NEVER;
1528
+ else if (cmp(szPropertyValue, L"always"))
1529
+ decoderParameters.dwUCCLinkMode = UCC_ALWAYS;
1530
+ else if (cmp(szPropertyValue, L"auto"))
1531
+ decoderParameters.dwUCCLinkMode = UCC_AUTO;
1532
+ else
1533
+ bValueRecognised = FALSE;
1534
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1535
+ }
1536
+ else
1537
+ bRetVal = FALSE;
1538
+
1539
+ if (bRetVal && bValueRecognised)
1540
+ {
1541
+ // Cancel any pending scanner reads to enable these new settings
1542
+ lpfn_SCAN_Flush(m_hScanner);
1543
+ }
1544
+ else
1545
+ {
1546
+ // Failed to apply setting
1547
+ WCHAR tcLog[MAXLOG];
1548
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1549
+ szPropertyName, szPropertyValue);
1550
+ LOG(WARNING) + tcLog;
1551
+ }
1552
+ return bRetVal;
1553
+ }
1554
+
1555
+ BOOL CScanner::Set_composit_c_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1556
+ {
1557
+ return SetSimpleDecoder((BYTE)*DECODER_COMPOSITE_C, szPropertyName, szPropertyValue);
1558
+ }
1559
+
1560
+ BOOL CScanner::Set_datamatrix_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1561
+ {
1562
+ return SetSimpleDecoder((BYTE)*DECODER_DATAMATRIX, szPropertyName, szPropertyValue);
1563
+ }
1564
+
1565
+
1566
+ BOOL CScanner::Set_pdf417_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1567
+ {
1568
+ return SetSimpleDecoder((BYTE)*DECODER_PDF417, szPropertyName, szPropertyValue);
1569
+ }
1570
+
1571
+ BOOL CScanner::Set_ean13_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1572
+ {
1573
+ return SetSimpleDecoder((BYTE)*DECODER_EAN13, szPropertyName, szPropertyValue);
1574
+ }
1575
+
1576
+
1577
+ BOOL CScanner::Set_macromicropdf_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1578
+ {
1579
+ MACROMICROPDF_PARAMS decoderParameters;
1580
+ BOOL bRetVal = TRUE;
1581
+ BOOL bValueRecognised = TRUE;
1582
+ BYTE cCurrentDecoder = (BYTE)*DECODER_MACROMICROPDF;
1583
+ if (cmp(szPropertyName, L"macroMicroPdf"))
1584
+ {
1585
+ if (EnabledValue(szPropertyValue))
1586
+ {
1587
+ bRetVal = EnableDecoder(cCurrentDecoder);
1588
+ }
1589
+ else if (DisabledValue(szPropertyValue))
1590
+ {
1591
+ bRetVal = DisableDecoder(cCurrentDecoder);
1592
+ }
1593
+ else
1594
+ bValueRecognised = FALSE;
1595
+ }
1596
+ else if (cmp(szPropertyName, L"macroMicroPdfReportAppendInfo"))
1597
+ {
1598
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1599
+ if (cmp(szPropertyValue, L"True"))
1600
+ decoderParameters.bReportAppendInfo = TRUE;
1601
+ else if (cmp(szPropertyValue, L"False"))
1602
+ decoderParameters.bReportAppendInfo = FALSE;
1603
+ else
1604
+ bValueRecognised = FALSE;
1605
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1606
+ }
1607
+ else if (cmp(szPropertyName, L"macroMicroPdfBufferLabels"))
1608
+ {
1609
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1610
+ if (cmp(szPropertyValue, L"True"))
1611
+ decoderParameters.bBufferLabels = TRUE;
1612
+ else if (cmp(szPropertyValue, L"false"))
1613
+ decoderParameters.bBufferLabels = FALSE;
1614
+ else
1615
+ bValueRecognised = FALSE;
1616
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1617
+ }
1618
+ else if (cmp(szPropertyName, L"macroMicroPdfExclusive"))
1619
+ {
1620
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1621
+ if (cmp(szPropertyValue, L"True"))
1622
+ decoderParameters.bExclusive = TRUE;
1623
+ else if (cmp(szPropertyValue, L"false"))
1624
+ decoderParameters.bExclusive = FALSE;
1625
+ else
1626
+ bValueRecognised = FALSE;
1627
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1628
+ }
1629
+ else if (cmp(szPropertyName, L"macroMicroPdfConvertToMicroPdf"))
1630
+ {
1631
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1632
+ if (cmp(szPropertyValue, L"True"))
1633
+ decoderParameters.bConvertToMicroPDF = TRUE;
1634
+ else if (cmp(szPropertyValue, L"false"))
1635
+ decoderParameters.bConvertToMicroPDF = FALSE;
1636
+ else
1637
+ bValueRecognised = FALSE;
1638
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1639
+ }
1640
+ else
1641
+ bRetVal = FALSE;
1642
+
1643
+ if (bRetVal && bValueRecognised)
1644
+ {
1645
+ // Cancel any pending scanner reads to enable these new settings
1646
+ lpfn_SCAN_Flush(m_hScanner);
1647
+ }
1648
+ else
1649
+ {
1650
+ // Failed to apply setting
1651
+ WCHAR tcLog[MAXLOG];
1652
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1653
+ szPropertyName, szPropertyValue);
1654
+ LOG(WARNING) + tcLog;
1655
+ }
1656
+ return bRetVal;
1657
+ }
1658
+
1659
+
1660
+ BOOL CScanner::Set_macropdf_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1661
+ {
1662
+ MACROPDF_PARAMS decoderParameters;
1663
+ BOOL bRetVal = TRUE;
1664
+ BOOL bValueRecognised = TRUE;
1665
+ BYTE cCurrentDecoder = (BYTE)*DECODER_MACROPDF;
1666
+ if (cmp(szPropertyName, L"macroPdf"))
1667
+ {
1668
+ if (EnabledValue(szPropertyValue))
1669
+ {
1670
+ bRetVal = EnableDecoder(cCurrentDecoder);
1671
+ }
1672
+ else if (DisabledValue(szPropertyValue))
1673
+ {
1674
+ bRetVal = DisableDecoder(cCurrentDecoder);
1675
+ }
1676
+ else
1677
+ bValueRecognised = FALSE;
1678
+ }
1679
+ else if (cmp(szPropertyName, L"macroPdfBufferLabels"))
1680
+ {
1681
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1682
+ if (cmp(szPropertyValue, L"True"))
1683
+ decoderParameters.bBufferLabels = TRUE;
1684
+ else if (cmp(szPropertyValue, L"False"))
1685
+ decoderParameters.bBufferLabels = FALSE;
1686
+ else
1687
+ bValueRecognised = FALSE;
1688
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1689
+ }
1690
+ else if (cmp(szPropertyName, L"macroPdfExclusive"))
1691
+ {
1692
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1693
+ if (cmp(szPropertyValue, L"True"))
1694
+ decoderParameters.bExclusive = TRUE;
1695
+ else if (cmp(szPropertyValue, L"false"))
1696
+ decoderParameters.bExclusive = FALSE;
1697
+ else
1698
+ bValueRecognised = FALSE;
1699
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1700
+ }
1701
+ else if (cmp(szPropertyName, L"macroPdfConvertToPdf417"))
1702
+ {
1703
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1704
+ if (cmp(szPropertyValue, L"True"))
1705
+ decoderParameters.bConvertToPDF417 = TRUE;
1706
+ else if (cmp(szPropertyValue, L"false"))
1707
+ decoderParameters.bConvertToPDF417 = FALSE;
1708
+ else
1709
+ bValueRecognised = FALSE;
1710
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1711
+ }
1712
+ else
1713
+ bRetVal = FALSE;
1714
+
1715
+ if (bRetVal && bValueRecognised)
1716
+ {
1717
+ // Cancel any pending scanner reads to enable these new settings
1718
+ lpfn_SCAN_Flush(m_hScanner);
1719
+ }
1720
+ else
1721
+ {
1722
+ // Failed to apply setting
1723
+ WCHAR tcLog[MAXLOG];
1724
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1725
+ szPropertyName, szPropertyValue);
1726
+ LOG(WARNING) + tcLog;
1727
+ }
1728
+ return bRetVal;
1729
+ }
1730
+
1731
+
1732
+ BOOL CScanner::Set_maxicode_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1733
+ {
1734
+ return SetSimpleDecoder((BYTE)*DECODER_MAXICODE, szPropertyName, szPropertyValue);
1735
+ }
1736
+
1737
+
1738
+ BOOL CScanner::Set_micropdf_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1739
+ {
1740
+ return SetSimpleDecoder((BYTE)*DECODER_MICROPDF, szPropertyName, szPropertyValue);
1741
+ }
1742
+
1743
+ BOOL CScanner::Set_qrcode_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1744
+ {
1745
+ return SetSimpleDecoder((BYTE)*DECODER_QRCODE, szPropertyName, szPropertyValue);
1746
+ }
1747
+
1748
+ BOOL CScanner::Set_rss14_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1749
+ {
1750
+ return SetSimpleDecoder((BYTE)*DECODER_RSS14, szPropertyName, szPropertyValue);
1751
+ }
1752
+
1753
+ BOOL CScanner::Set_rssexp_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1754
+ {
1755
+ return SetSimpleDecoder((BYTE)*DECODER_RSSEXP, szPropertyName, szPropertyValue);
1756
+ }
1757
+
1758
+ BOOL CScanner::Set_rsslim_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1759
+ {
1760
+ return SetSimpleDecoder((BYTE)*DECODER_RSSLIM, szPropertyName, szPropertyValue);
1761
+ }
1762
+
1763
+ BOOL CScanner::Set_signature_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1764
+ {
1765
+ SIGNATURE_PARAMS decoderParameters;
1766
+ BOOL bRetVal = TRUE;
1767
+ BOOL bValueRecognised = TRUE;
1768
+ BYTE cCurrentDecoder = (BYTE)*DECODER_SIGNATURE;
1769
+ if (cmp(szPropertyName, L"signature"))
1770
+ {
1771
+ if (EnabledValue(szPropertyValue))
1772
+ {
1773
+ bRetVal = EnableDecoder(cCurrentDecoder);
1774
+ }
1775
+ else if (DisabledValue(szPropertyValue))
1776
+ {
1777
+ bRetVal = DisableDecoder(cCurrentDecoder);
1778
+ }
1779
+ else
1780
+ bValueRecognised = FALSE;
1781
+ }
1782
+ else if (cmp(szPropertyName, L"signatureImageQuality"))
1783
+ {
1784
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1785
+ int iValue = StringToInt(szPropertyValue);
1786
+ if (iValue >= MINIMUM_SIGNATURE_IMAGE_QUALITY && iValue <= MAXIMUM_SIGNATURE_IMAGE_QUALITY)
1787
+ {
1788
+ decoderParameters.dwJpegImageQuality = iValue;
1789
+ decoderParameters.dwJpegImageSize = 0;
1790
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1791
+ }
1792
+ else
1793
+ {
1794
+ LOG(WARNING) + L"Signature Image Quality is out of Range";
1795
+ bValueRecognised = FALSE;
1796
+ }
1797
+ }
1798
+ else if (cmp(szPropertyName, L"signatureImageSize"))
1799
+ {
1800
+ // NOTE: This is not currently supported as it did not function as expected during my testing
1801
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1802
+ int iValue = StringToInt(szPropertyValue);
1803
+ if (iValue >= MINIMUM_SIGNATURE_IMAGE_SIZE)
1804
+ {
1805
+ decoderParameters.dwJpegImageSize = iValue;
1806
+ decoderParameters.dwJpegImageQuality = 0;
1807
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1808
+ }
1809
+ else
1810
+ {
1811
+ LOG(WARNING) + L"Signature Image Size is out of Range";
1812
+ bValueRecognised = FALSE;
1813
+ }
1814
+ }
1815
+ else if (cmp(szPropertyName, L"signatureImageWidth"))
1816
+ {
1817
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1818
+ int iValue = StringToInt(szPropertyValue);
1819
+ if (iValue >= MINIMUM_SIGNATURE_IMAGE_WIDTH)
1820
+ {
1821
+ decoderParameters.dwImageWidth = iValue;
1822
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1823
+ }
1824
+ else
1825
+ {
1826
+ LOG(WARNING) + L"Signature Image Width is out of Range";
1827
+ bValueRecognised = FALSE;
1828
+ }
1829
+ }
1830
+ else if (cmp(szPropertyName, L"SignatureImageHeight"))
1831
+ {
1832
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1833
+ int iValue = StringToInt(szPropertyValue);
1834
+ if (iValue >= MINIMUM_SIGNATURE_IMAGE_HEIGHT)
1835
+ {
1836
+ decoderParameters.dwImageHeight = iValue;
1837
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1838
+ }
1839
+ else
1840
+ {
1841
+ LOG(WARNING) + L"Signature Image Height is out of Range";
1842
+ bValueRecognised = FALSE;
1843
+ }
1844
+ }
1845
+ else
1846
+ bRetVal = FALSE;
1847
+
1848
+ if (bRetVal && bValueRecognised)
1849
+ {
1850
+ // Cancel any pending scanner reads to enable these new settings
1851
+ lpfn_SCAN_Flush(m_hScanner);
1852
+ }
1853
+ else
1854
+ {
1855
+ // Failed to apply setting
1856
+ WCHAR tcLog[MAXLOG];
1857
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1858
+ szPropertyName, szPropertyValue);
1859
+ LOG(WARNING) + tcLog;
1860
+ }
1861
+ return bRetVal;
1862
+ }
1863
+
1864
+ BOOL CScanner::Set_tlc39_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1865
+ {
1866
+ return SetSimpleDecoder((BYTE)*DECODER_TLC39, szPropertyName, szPropertyValue);
1867
+ }
1868
+
1869
+
1870
+ BOOL CScanner::Set_usplanet_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1871
+ {
1872
+ return SetSimpleDecoder((BYTE)*DECODER_USPLANET, szPropertyName, szPropertyValue);
1873
+ }
1874
+
1875
+
1876
+ BOOL CScanner::Set_webcode_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1877
+ {
1878
+ WEBCODE_PARAMS decoderParameters;
1879
+ BOOL bRetVal = TRUE;
1880
+ BOOL bValueRecognised = TRUE;
1881
+ BYTE cCurrentDecoder = (BYTE)*DECODER_WEBCODE;
1882
+ if (cmp(szPropertyName, L"webcode"))
1883
+ {
1884
+ if (EnabledValue(szPropertyValue))
1885
+ {
1886
+ bRetVal = EnableDecoder(cCurrentDecoder);
1887
+ }
1888
+ else if (DisabledValue(szPropertyValue))
1889
+ {
1890
+ bRetVal = DisableDecoder(cCurrentDecoder);
1891
+ }
1892
+ else
1893
+ bValueRecognised = FALSE;
1894
+ }
1895
+ else if (cmp(szPropertyName, L"webcodeDecodeGtSubtype"))
1896
+ {
1897
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1898
+ if (cmp(szPropertyValue, L"True"))
1899
+ decoderParameters.bGTWebcode = TRUE;
1900
+ else if (cmp(szPropertyValue, L"False"))
1901
+ decoderParameters.bGTWebcode = FALSE;
1902
+ else
1903
+ bValueRecognised = FALSE;
1904
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1905
+ }
1906
+ else
1907
+ bRetVal = FALSE;
1908
+
1909
+ if (bRetVal && bValueRecognised)
1910
+ {
1911
+ // Cancel any pending scanner reads to enable these new settings
1912
+ lpfn_SCAN_Flush(m_hScanner);
1913
+ }
1914
+ else
1915
+ {
1916
+ // Failed to apply setting
1917
+ WCHAR tcLog[MAXLOG];
1918
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
1919
+ szPropertyName, szPropertyValue);
1920
+ LOG(WARNING) + tcLog;
1921
+ }
1922
+ return bRetVal;
1923
+ }
1924
+
1925
+ BOOL CScanner::Set_Chinese_2Of5_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1926
+ {
1927
+ return SetSimpleDecoder((BYTE)*DECODER_CHINESE_2OF5, szPropertyName, szPropertyValue);
1928
+ }
1929
+
1930
+ BOOL CScanner::Set_AZTEC_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1931
+ {
1932
+ return SetSimpleDecoder((BYTE)*DECODER_AZTEC, szPropertyName, szPropertyValue);
1933
+ }
1934
+
1935
+ BOOL CScanner::Set_MicroQR_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1936
+ {
1937
+ return SetSimpleDecoder((BYTE)*DECODER_MICROQR, szPropertyName, szPropertyValue);
1938
+ }
1939
+
1940
+ BOOL CScanner::Set_Korean_3Of5_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
1941
+ {
1942
+ KOREAN_3OF5_PARAMS decoderParameters;
1943
+ BOOL bRetVal = TRUE;
1944
+ BOOL bValueRecognised = TRUE;
1945
+ BYTE cCurrentDecoder = (BYTE)*DECODER_KOREAN_3OF5;
1946
+ if (cmp(szPropertyName, L"korean3of5") ||
1947
+ cmp(szPropertyName, L"korean_3of5"))
1948
+ {
1949
+ if (EnabledValue(szPropertyValue))
1950
+ {
1951
+ bRetVal = EnableDecoder(cCurrentDecoder);
1952
+ }
1953
+ else if (DisabledValue(szPropertyValue))
1954
+ {
1955
+ bRetVal = DisableDecoder(cCurrentDecoder);
1956
+ }
1957
+ else
1958
+ bValueRecognised = FALSE;
1959
+ }
1960
+ else if (cmp(szPropertyName, L"korean_3of5Redundancy") ||
1961
+ cmp(szPropertyName, L"korean3of5Redundancy"))
1962
+ {
1963
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1964
+ if (cmp(szPropertyValue, L"True"))
1965
+ decoderParameters.bRedundancy = TRUE;
1966
+ else if (cmp(szPropertyValue, L"False"))
1967
+ decoderParameters.bRedundancy = FALSE;
1968
+ else
1969
+ bValueRecognised = FALSE;
1970
+ SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
1971
+ }
1972
+ else if (cmp(szPropertyName, L"korean_3of5MinLength") ||
1973
+ cmp(szPropertyName, L"korean3of5MinLength"))
1974
+ {
1975
+ int iMin = StringToInt(szPropertyValue);
1976
+ if (iMin >= MINIMUM_KOREAN2OF5_LENGTH && iMin <= MAXIMUM_KOREAN2OF5_LENGTH)
1977
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
1978
+ else
1979
+ {
1980
+ LOG(WARNING) + L"Korean 2of5 Minimum Length is out of Range";
1981
+ bRetVal = FALSE;
1982
+ }
1983
+ }
1984
+ else if (cmp(szPropertyName, L"korean_3of5MaxLength") ||
1985
+ cmp(szPropertyName, L"korean3of5MaxLength"))
1986
+ {
1987
+ int iMax = StringToInt(szPropertyValue);
1988
+ if (iMax >= MINIMUM_KOREAN2OF5_LENGTH && iMax <= MAXIMUM_KOREAN2OF5_LENGTH)
1989
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
1990
+ else
1991
+ {
1992
+ LOG(WARNING) + L"Korean 2of5 Maximum Length is out of Range";
1993
+ bRetVal = FALSE;
1994
+ }
1995
+ } else
1996
+ bRetVal = FALSE;
1997
+
1998
+ if (bRetVal && bValueRecognised)
1999
+ {
2000
+ // Cancel any pending scanner reads to enable these new settings
2001
+ lpfn_SCAN_Flush(m_hScanner);
2002
+ }
2003
+ else
2004
+ {
2005
+ // Failed to apply setting
2006
+ WCHAR tcLog[MAXLOG];
2007
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
2008
+ szPropertyName, szPropertyValue);
2009
+ LOG(WARNING) + tcLog;
2010
+ }
2011
+ return bRetVal;
2012
+ }
2013
+
2014
+ BOOL CScanner::Set_Us4State_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
2015
+ {
2016
+ return SetSimpleDecoder((BYTE)*DECODER_US4STATE, szPropertyName, szPropertyValue);
2017
+ }
2018
+
2019
+ BOOL CScanner::Set_matrix2of5_MetaProc (LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
2020
+ {
2021
+ MATRIX_2OF5_PARAMS decoderParameters;
2022
+ BOOL bRetVal = TRUE;
2023
+ BOOL bValueRecognised = TRUE;
2024
+ BYTE cCurrentDecoder = (BYTE)*DECODER_MATRIX_2OF5;
2025
+ if (cmp(szPropertyName, L"matrix2of5"))
2026
+ {
2027
+ // Enable or Disable the Decoder
2028
+ if (EnabledValue(szPropertyValue))
2029
+ {
2030
+ bRetVal = EnableDecoder(cCurrentDecoder);
2031
+ }
2032
+ else if (DisabledValue(szPropertyValue))
2033
+ {
2034
+ bRetVal = DisableDecoder(cCurrentDecoder);
2035
+ }
2036
+ else
2037
+ bValueRecognised = FALSE;
2038
+ }
2039
+ else if (cmp(szPropertyName, L"Matrix2of5ReportCheckDigit"))
2040
+ {
2041
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
2042
+ if (cmp(szPropertyValue, L"True"))
2043
+ decoderParameters.bReportCheckDigit = TRUE;
2044
+ else if (cmp(szPropertyValue, L"False"))
2045
+ decoderParameters.bReportCheckDigit = FALSE;
2046
+ else
2047
+ bValueRecognised = FALSE;
2048
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
2049
+ }
2050
+ else if (cmp(szPropertyName, L"Matrix2of5VerifyCheckDigit"))
2051
+ {
2052
+ RetrieveDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
2053
+ if (cmp(szPropertyValue, L"True"))
2054
+ decoderParameters.bVerifyCheckDigit = TRUE;
2055
+ else if (cmp(szPropertyValue, L"False"))
2056
+ decoderParameters.bVerifyCheckDigit = FALSE;
2057
+ else
2058
+ bValueRecognised = FALSE;
2059
+ bRetVal = SetDecoderParams(cCurrentDecoder, &decoderParameters, sizeof(decoderParameters));
2060
+ }
2061
+ else if (cmp(szPropertyName, L"Matrix2of5Minlength"))
2062
+ {
2063
+ int iMin = StringToInt(szPropertyValue);
2064
+ if (iMin >= MINIMUM_MATRIX2OF5_LENGTH && iMin <= MAXIMUM_MATRIX2OF5_LENGTH)
2065
+ bRetVal = SetDecoderLengths(cCurrentDecoder, iMin, -1);
2066
+ else
2067
+ {
2068
+ LOG(WARNING) + L"Matrix2of5 Minimum Length is out of Range";
2069
+ bRetVal = FALSE;
2070
+ }
2071
+ }
2072
+ else if (cmp(szPropertyName, L"Matrix2of5Maxlength"))
2073
+ {
2074
+ int iMax = StringToInt(szPropertyValue);
2075
+ if (iMax >= MINIMUM_MATRIX2OF5_LENGTH && iMax <= MAXIMUM_MATRIX2OF5_LENGTH)
2076
+ bRetVal = SetDecoderLengths(cCurrentDecoder, -1, iMax);
2077
+ else
2078
+ {
2079
+ LOG(WARNING) + L"Matrix2of5 Maximum Length is out of Range";
2080
+ bRetVal = FALSE;
2081
+ }
2082
+ }
2083
+ else
2084
+ bRetVal = FALSE;
2085
+
2086
+ if (bRetVal && bValueRecognised)
2087
+ {
2088
+ // Cancel any pending scanner reads to enable these new settings
2089
+ lpfn_SCAN_Flush(m_hScanner);
2090
+ }
2091
+ else
2092
+ {
2093
+ // Failed to apply setting
2094
+ WCHAR tcLog[MAXLOG];
2095
+ wsprintf(tcLog, L"Unable to set Parameter %s to Value %s",
2096
+ szPropertyName, szPropertyValue);
2097
+ LOG(WARNING) + tcLog;
2098
+ }
2099
+
2100
+ return bRetVal;
2101
+ }
2102
+
2103
+ BOOL CScanner::Set_Us4StateFics_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
2104
+ {
2105
+ return SetSimpleDecoder((BYTE)*DECODER_US4STATE_FICS, szPropertyName, szPropertyValue);
2106
+ }