rho-tau-extensions 5.5.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +2 -0
- data/LICENSE +21 -0
- data/README.md +6 -0
- data/Rakefile +90 -0
- data/libs/crosswalk.rb +2 -0
- data/libs/crosswalk/crosswalk.rb +2 -0
- data/libs/crosswalk/ext.yml +21 -0
- data/libs/crosswalk/ext/Crosswalk.xml +27 -0
- data/libs/crosswalk/ext/build +19 -0
- data/libs/crosswalk/ext/build.bat +29 -0
- data/libs/crosswalk/ext/platform/android/AndroidManifest.xml +9 -0
- data/libs/crosswalk/ext/platform/android/Rakefile +141 -0
- data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkcore.so +0 -0
- data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkdummy.so +0 -0
- data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkcore.so +0 -0
- data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkdummy.so +0 -0
- data/libs/crosswalk/ext/platform/android/adds/lib/xwalk_core_library_java.jar +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble_arrow_up.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/color_picker_advanced_select_handle.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/crosswalk.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_down.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_up.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_menu_share_holo_light.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_search.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_warning.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ondemand_overlay.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/verify_checkmark.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-ldpi/crosswalk.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-mdpi/crosswalk.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_borderless_compat.xml +10 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_compat.xml +9 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble_arrow_up.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/color_picker_advanced_select_handle.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/crosswalk.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_down.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_up.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_menu_share_holo_light.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_search.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_warning.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ondemand_overlay.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/verify_checkmark.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_menu_share_holo_light.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_search.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_warning.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/verify_checkmark.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_menu_share_holo_light.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_search.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_warning.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/verify_checkmark.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/autofill_chip_inset.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble_arrow_up.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/button_compat_shape.xml +9 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_button_background.xml +36 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_advanced_select_handle.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_border.xml +12 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_label_color.xml +11 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background.xml +13 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_down.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_up.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_menu_share_holo_light.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_search.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_warning.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/launchscreen_bg.xml +19 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/ondemand_overlay.9.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/drawable/verify_checkmark.png +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-land/date_time_picker_dialog.xml +42 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_keyboard_accessory_item.xml +40 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_suggestion_item.xml +18 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_advanced_component.xml +46 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_content.xml +51 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_title.xml +41 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/date_time_suggestion.xml +35 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/dropdown_item.xml +58 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/multi_field_time_picker_dialog.xml +122 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/two_field_date_picker.xml +38 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/validation_message_bubble.xml +72 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_icon.xml +13 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_item.xml +17 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_suggestion_item.xml +7 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_advanced_component.xml +30 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_content.xml +36 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_title.xml +25 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_picker_dialog.xml +42 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_suggestion.xml +16 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/dropdown_item.xml +34 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/multi_field_time_picker_dialog.xml +50 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/two_field_date_picker.xml +26 -0
- data/libs/crosswalk/ext/platform/android/adds/res/layout/validation_message_bubble.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/menu/select_action_menu.xml +54 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/contacts_api.js +206 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/device_capabilities_api.js +231 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/empty.wav +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/icudtl.dat +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/launch_screen_api.js +9 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/messaging_api.js +359 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/presentation_api.js +144 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/wifidirect_api.js +227 -0
- data/libs/crosswalk/ext/platform/android/adds/res/raw/xwalk.pak +0 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-v14/theme.xml +16 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-v17/styles.xml +19 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-v17/ui_java_styles.xml +41 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-v21/styles.xml +14 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-v21/ui_java_styles.xml +14 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/android_content_strings.xml +15 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/android_ui_strings.xml +47 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/android_xwalk_strings.xml +17 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_attrs.xml +9 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_dimens.xml +31 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_strings.xml +16 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_styles.xml +101 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_app_strings.xml +28 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_attrs.xml +11 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_colors.xml +13 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_internal_java_strings.xml +16 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_java_strings.xml +16 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_dimens.xml +11 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_resources_list.xml +7 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_styles.xml +40 -0
- data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_values.xml +10 -0
- data/libs/crosswalk/ext/platform/android/ext_java.files +14 -0
- data/libs/crosswalk/ext/platform/android/ext_native.files +7 -0
- data/libs/crosswalk/ext/platform/android/jni/Crosswalk_impl.cpp +61 -0
- data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/Crosswalk.java +14 -0
- data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkFactory.java +18 -0
- data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkSingleton.java +24 -0
- data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/CrosswalkExtension.java +16 -0
- data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/RhodesListener.java +18 -0
- data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWResourceClient.java +182 -0
- data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWUIClient.java +125 -0
- data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWalkWebView.java +368 -0
- data/libs/crosswalk/ext/platform/iphone/Crosswalk.xcodeproj/project.pbxproj +368 -0
- data/libs/crosswalk/ext/platform/iphone/Crosswalk_Prefix.pch +7 -0
- data/libs/crosswalk/ext/platform/iphone/Rakefile +73 -0
- data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.h +14 -0
- data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.m +24 -0
- data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkFactorySingleton.m +16 -0
- data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSetup.m +9 -0
- data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.h +17 -0
- data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.m +23 -0
- data/libs/crosswalk/ext/platform/iphone/impl/readme.txt +7 -0
- data/libs/crosswalk/ext/platform/qt/Crosswalk.pro +66 -0
- data/libs/crosswalk/ext/platform/qt/Rakefile +35 -0
- data/libs/crosswalk/ext/platform/qt/src/Crosswalk_impl.cpp +77 -0
- data/libs/crosswalk/ext/platform/wm/Crosswalk.sln +52 -0
- data/libs/crosswalk/ext/platform/wm/Crosswalk.vcproj +714 -0
- data/libs/crosswalk/ext/platform/wm/Crosswalk.vsprops +15 -0
- data/libs/crosswalk/ext/platform/wm/src/Crosswalk_impl.cpp +77 -0
- data/libs/crosswalk/ext/platform/wp8/Crosswalk.props +18 -0
- data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj +170 -0
- data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj.filters +50 -0
- data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.csproj +119 -0
- data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.props +8 -0
- data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.targets +7 -0
- data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.props +18 -0
- data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj +185 -0
- data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj.filters +58 -0
- data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cpp +76 -0
- data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cs +69 -0
- data/libs/crosswalk/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
- data/libs/enterprise-barcode/ext.yml +13 -0
- data/libs/enterprise-barcode/ext/barcode.xml +2144 -0
- data/libs/enterprise-barcode/ext/build +17 -0
- data/libs/enterprise-barcode/ext/build.bat +29 -0
- data/libs/enterprise-barcode/ext/platform/android/AndroidManifest.xml +31 -0
- data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/AUTHORS +58 -0
- data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/CHANGES +266 -0
- data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/COPYING +201 -0
- data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/README +11 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/cancel_icon.png +0 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/ok_icon.png +0 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/retake_icon.png +0 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/cancel_icon.png +0 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/ok_icon.png +0 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/retake_icon.png +0 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/layout/capture.xml +122 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/raw/beep.ogg +0 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/attrs.xml +20 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/colors.xml +42 -0
- data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/ids.xml +31 -0
- data/libs/enterprise-barcode/ext/platform/android/adds/lib/armeabi/liballbarcode.a +0 -0
- data/libs/enterprise-barcode/ext/platform/android/adds/lib/x86/liballbarcode.a +0 -0
- data/libs/enterprise-barcode/ext/platform/android/allbarcode.jar +0 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +524 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Barcode_Prefix.pch +7 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.h +27 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.mm +231 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.h +95 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.m +1017 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.h +7 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +58 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactoryRegister.mm +18 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.h +16 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.mm +32 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.cpp +25 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.h +15 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.mm +159 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Classes/barcode.m +123 -0
- data/libs/enterprise-barcode/ext/platform/iphone/Rakefile +69 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/COPYING +27 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCameraSimulator.h +45 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +111 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +135 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +130 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +34 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1497 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +202 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +528 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/LICENSE +504 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/README +59 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
- data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/libzbar.a +0 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.h +21 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.m +132 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.h +10 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.m +16 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactorySingleton.m +16 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSetup.m +8 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.h +17 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.m +22 -0
- data/libs/enterprise-barcode/ext/platform/iphone/impl/readme.txt +7 -0
- data/libs/enterprise-barcode/ext/platform/wm/Barcode.sln +44 -0
- data/libs/enterprise-barcode/ext/platform/wm/Barcode.vcproj +836 -0
- data/libs/enterprise-barcode/ext/platform/wm/Barcode.vsprops +15 -0
- data/libs/enterprise-barcode/ext/platform/wm/readme.txt +0 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/Barcode_impl.cpp +376 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.cpp +173 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.h +149 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/EMDKInterfaceAbstraction.cpp +476 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/GetDecoderProperties.cpp +1195 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/GetScannerProperties.cpp +553 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.cpp +177 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.h +40 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.cpp +76 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.h +44 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/RSM.cpp +1211 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.cpp +2609 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.h +1099 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/ScannerDefines.h +322 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/SetDecoderProperties.cpp +2106 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/SetScannerProperties.cpp +1060 -0
- data/libs/enterprise-barcode/ext/platform/wm/src/Utilities.cpp +184 -0
- data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.csproj +119 -0
- data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.props +8 -0
- data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.targets +35 -0
- data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.props +18 -0
- data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj +185 -0
- data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj.filters +58 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.winmd +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.xml +4813 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.xml +41 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/OpticalReaderLib.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.XML +68 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.csproj +120 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.sln +34 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml +32 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml.cs +235 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/OpticalReaderTask.cs +182 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/Properties/AssemblyInfo.cs +37 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.xml +341 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.winmd +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.xml +4813 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.xml +41 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/OpticalReaderLib.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.XML +10324 -0
- data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.dll +0 -0
- data/libs/enterprise-barcode/ext/platform/wp8/src/Barcode_impl.cs +630 -0
- data/libs/enterprise-barcode/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
- data/libs/enterprise-barcode/public/api/generated/Rho.Barcode.js +772 -0
- data/libs/ie/rhobrowser.dll +0 -0
- data/libs/nodejs.rb +2 -0
- data/libs/nodejs/ext.yml +25 -0
- data/libs/nodejs/ext/Nodejs.xml +37 -0
- data/libs/nodejs/ext/build +19 -0
- data/libs/nodejs/ext/build.bat +29 -0
- data/libs/nodejs/ext/platform/android/Rakefile +161 -0
- data/libs/nodejs/ext/platform/android/ext_native.files +8 -0
- data/libs/nodejs/ext/platform/android/jxCore/jx.h +134 -0
- data/libs/nodejs/ext/platform/android/jxCore/jx_result.h +221 -0
- data/libs/nodejs/ext/platform/android/jxCore/libcares_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libcares_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libcares_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libjx_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libjx_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libjx_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libopenssl_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libopenssl_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libopenssl_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libuv_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libuv_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libuv_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libv8_base_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libv8_base_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libv8_base_x64.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_arm.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_ia32.a +0 -0
- data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_x64.a +0 -0
- data/libs/nodejs/ext/platform/iphone/Nodejs.xcodeproj/project.pbxproj +350 -0
- data/libs/nodejs/ext/platform/iphone/Nodejs_Prefix.pch +7 -0
- data/libs/nodejs/ext/platform/iphone/Rakefile +73 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/jx.h +134 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/jx_result.h +221 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libcares.a +0 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libchrome_zlib.a +0 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libhttp_parser.a +0 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libjx.a +0 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libmozjs.a +0 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libopenssl.a +0 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libsqlite3.a +0 -0
- data/libs/nodejs/ext/platform/iphone/jxCore/libuv.a +0 -0
- data/libs/nodejs/ext/shared/jxcore/jx.h +134 -0
- data/libs/nodejs/ext/shared/jxcore/jx_result.h +221 -0
- data/libs/nodejs/ext/shared/jxcoretau.cpp +454 -0
- data/libs/nodejs/ext/shared/jxcoretau.h +20 -0
- data/libs/nodejs/ext/shared/nodejs_impl.cpp +106 -0
- data/libs/nodejs/nodejs.rb +2 -0
- data/libs/openssl-edge.rb +2 -0
- data/libs/openssl-edge/ext.yml +4 -0
- data/libs/openssl-edge/ext/Rakefile +145 -0
- data/libs/openssl-edge/ext/android/Rakefile +107 -0
- data/libs/openssl-edge/ext/android/ext_native.files +32 -0
- data/libs/openssl-edge/ext/android/extconf.h +91 -0
- data/libs/openssl-edge/ext/build +12 -0
- data/libs/openssl-edge/ext/build.bat +5 -0
- data/libs/openssl-edge/ext/extconf.rb +141 -0
- data/libs/openssl-edge/ext/openssl.pro +109 -0
- data/libs/openssl-edge/ext/openssl.sln +52 -0
- data/libs/openssl-edge/ext/openssl.vcproj +1010 -0
- data/libs/openssl-edge/ext/openssl_missing.c +1163 -0
- data/libs/openssl-edge/ext/openssl_missing.h +537 -0
- data/libs/openssl-edge/ext/ossl.c +1203 -0
- data/libs/openssl-edge/ext/ossl.h +242 -0
- data/libs/openssl-edge/ext/ossl_asn1.c +2008 -0
- data/libs/openssl-edge/ext/ossl_asn1.h +66 -0
- data/libs/openssl-edge/ext/ossl_bio.c +118 -0
- data/libs/openssl-edge/ext/ossl_bio.h +19 -0
- data/libs/openssl-edge/ext/ossl_bn.c +1153 -0
- data/libs/openssl-edge/ext/ossl_bn.h +23 -0
- data/libs/openssl-edge/ext/ossl_cipher.c +1085 -0
- data/libs/openssl-edge/ext/ossl_cipher.h +20 -0
- data/libs/openssl-edge/ext/ossl_config.c +89 -0
- data/libs/openssl-edge/ext/ossl_config.h +19 -0
- data/libs/openssl-edge/ext/ossl_digest.c +453 -0
- data/libs/openssl-edge/ext/ossl_digest.h +20 -0
- data/libs/openssl-edge/ext/ossl_engine.c +580 -0
- data/libs/openssl-edge/ext/ossl_engine.h +19 -0
- data/libs/openssl-edge/ext/ossl_hmac.c +398 -0
- data/libs/openssl-edge/ext/ossl_hmac.h +18 -0
- data/libs/openssl-edge/ext/ossl_ns_spki.c +406 -0
- data/libs/openssl-edge/ext/ossl_ns_spki.h +19 -0
- data/libs/openssl-edge/ext/ossl_ocsp.c +2013 -0
- data/libs/openssl-edge/ext/ossl_ocsp.h +23 -0
- data/libs/openssl-edge/ext/ossl_pkcs12.c +261 -0
- data/libs/openssl-edge/ext/ossl_pkcs12.h +13 -0
- data/libs/openssl-edge/ext/ossl_pkcs5.c +180 -0
- data/libs/openssl-edge/ext/ossl_pkcs5.h +6 -0
- data/libs/openssl-edge/ext/ossl_pkcs7.c +1157 -0
- data/libs/openssl-edge/ext/ossl_pkcs7.h +20 -0
- data/libs/openssl-edge/ext/ossl_pkey.c +469 -0
- data/libs/openssl-edge/ext/ossl_pkey.h +245 -0
- data/libs/openssl-edge/ext/ossl_pkey_dh.c +650 -0
- data/libs/openssl-edge/ext/ossl_pkey_dsa.c +672 -0
- data/libs/openssl-edge/ext/ossl_pkey_ec.c +1806 -0
- data/libs/openssl-edge/ext/ossl_pkey_rsa.c +768 -0
- data/libs/openssl-edge/ext/ossl_rand.c +238 -0
- data/libs/openssl-edge/ext/ossl_rand.h +18 -0
- data/libs/openssl-edge/ext/ossl_ssl.c +2724 -0
- data/libs/openssl-edge/ext/ossl_ssl.h +41 -0
- data/libs/openssl-edge/ext/ossl_ssl_session.c +352 -0
- data/libs/openssl-edge/ext/ossl_version.h +15 -0
- data/libs/openssl-edge/ext/ossl_x509.c +186 -0
- data/libs/openssl-edge/ext/ossl_x509.h +119 -0
- data/libs/openssl-edge/ext/ossl_x509attr.c +328 -0
- data/libs/openssl-edge/ext/ossl_x509cert.c +863 -0
- data/libs/openssl-edge/ext/ossl_x509crl.c +565 -0
- data/libs/openssl-edge/ext/ossl_x509ext.c +480 -0
- data/libs/openssl-edge/ext/ossl_x509name.c +547 -0
- data/libs/openssl-edge/ext/ossl_x509req.c +492 -0
- data/libs/openssl-edge/ext/ossl_x509revoked.c +279 -0
- data/libs/openssl-edge/ext/ossl_x509store.c +846 -0
- data/libs/openssl-edge/ext/ruby_missing.h +32 -0
- data/libs/openssl-edge/openssl-edge.rb +2 -0
- data/libs/openssl-edge/openssl.rb +24 -0
- data/libs/openssl-edge/openssl/bn.rb +35 -0
- data/libs/openssl-edge/openssl/buffering.rb +341 -0
- data/libs/openssl-edge/openssl/cipher.rb +65 -0
- data/libs/openssl-edge/openssl/digest.rb +61 -0
- data/libs/openssl-edge/openssl/ssl-internal.rb +180 -0
- data/libs/openssl-edge/openssl/ssl.rb +1 -0
- data/libs/openssl-edge/openssl/x509-internal.rb +153 -0
- data/libs/openssl-edge/openssl/x509.rb +1 -0
- data/libs/openssl.so-edge.rb +2 -0
- data/libs/openssl.so-edge/ext.yml +8 -0
- data/libs/openssl.so-edge/ext/Rakefile +140 -0
- data/libs/openssl.so-edge/ext/android/armeabi/libcrypto.a +0 -0
- data/libs/openssl.so-edge/ext/android/armeabi/libssl.a +0 -0
- data/libs/openssl.so-edge/ext/android/x86/libcrypto.a +0 -0
- data/libs/openssl.so-edge/ext/android/x86/libssl.a +0 -0
- data/libs/openssl.so-edge/ext/build +12 -0
- data/libs/openssl.so-edge/ext/build.bat +1 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dh/dh_locl.h +56 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dsa/dsa_locl.h +76 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/evp/evp_locl.h +66 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/hmac/hmac_lcl.h +33 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/asn1_int.h +94 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/async.h +14 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_conf.h +28 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_dh.h +17 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_int.h +82 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_srp.h +32 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/chacha.h +49 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib.h +81 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib_int.h +31 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/dso_conf.h +16 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/engine.h +20 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/err_int.h +17 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/evp_int.h +382 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/md32_common.h +383 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/objects.h +12 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/poly1305.h +19 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/rand.h +20 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/x509_int.h +267 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/ocsp/ocsp_lcl.h +216 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/rsa/rsa_locl.h +96 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/x509/x509_lcl.h +142 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/e_os.h +520 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/bio.h +26 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/comp.h +12 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/conf.h +32 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/constant_time_locl.h +185 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dane.h +103 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dso.h +216 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/err.h +15 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/numbers.h +68 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_dir.h +63 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_str.h +17 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/thread_once.h +42 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_EPILOGUE.H +16 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_PROLOGUE.H +20 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/aes.h +92 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1.h +1096 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1_mac.h +10 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1t.h +924 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/async.h +98 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bio.h +854 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/blowfish.h +61 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bn.h +575 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/buffer.h +76 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/camellia.h +83 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cast.h +53 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cmac.h +41 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cms.h +512 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/comp.h +72 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf.h +216 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf_api.h +40 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/crypto.h +463 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ct.h +518 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/des.h +174 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dh.h +343 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dsa.h +282 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dtls1.h +56 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/e_os2.h +311 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ebcdic.h +33 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ec.h +1581 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdh.h +10 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdsa.h +10 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/engine.h +842 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/err.h +259 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/evp.h +1586 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/hmac.h +49 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/idea.h +64 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/kdf.h +75 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/lhash.h +204 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md2.h +44 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md4.h +51 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md5.h +50 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/mdc2.h +42 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/modes.h +203 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/obj_mac.h +4577 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/objects.h +1097 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ocsp.h +409 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h +169 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h.in +141 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslv.h +105 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ossl_typ.h +190 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem.h +501 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem2.h +20 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs12.h +282 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs7.h +404 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rand.h +89 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc2.h +51 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc4.h +36 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc5.h +63 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ripemd.h +47 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rsa.h +588 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/safestack.h +164 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/seed.h +98 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/sha.h +119 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srp.h +131 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srtp.h +50 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl.h +2527 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl2.h +24 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl3.h +307 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/stack.h +78 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/symhacks.h +52 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/tls1.h +972 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ts.h +643 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/txt_db.h +57 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ui.h +368 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/whrlpool.h +48 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509.h +1123 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509_vfy.h +539 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509v3.h +1005 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/packet_locl.h +555 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record.h +240 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record_locl.h +114 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/ssl_locl.h +2127 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem.h +123 -0
- data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem_locl.h +124 -0
- data/libs/openssl.so-edge/openssl.so.rb +2 -0
- data/libs/webkit.rb +2 -0
- data/libs/webkit/ext.yml +4 -0
- data/libs/webkit/ext/build +12 -0
- data/libs/webkit/ext/build.bat +7 -0
- data/libs/webkit/ext/wm/Rakefile +61 -0
- data/libs/webkit/ext/wm/RhoMsgs.cpp +17 -0
- data/libs/webkit/ext/wm/RhoMsgs.h +14 -0
- data/libs/webkit/ext/wm/RhoWKBrowserEngine.cpp +736 -0
- data/libs/webkit/ext/wm/RhoWKBrowserEngine.h +105 -0
- data/libs/webkit/ext/wm/lib/npapi/rhobridge.dll +0 -0
- data/libs/webkit/ext/wm/lib/rhoengine_defs.h +80 -0
- data/libs/webkit/ext/wm/lib/rhowebkit.dll +0 -0
- data/libs/webkit/ext/wm/webkit.sln +36 -0
- data/libs/webkit/ext/wm/webkit.suo +0 -0
- data/libs/webkit/ext/wm/webkit.vcproj +800 -0
- data/libs/webkit/ext/wm/webkit.vsprops +20 -0
- data/libs/webkit/webkit.rb +2 -0
- data/rho-tau-extensions.gemspec +23 -0
- data/version +1 -0
- metadata +705 -0
@@ -0,0 +1,177 @@
|
|
1
|
+
#pragma once
|
2
|
+
#include "KeyInjector.h"
|
3
|
+
#include "sipapi.h"
|
4
|
+
#include "keybd.h"
|
5
|
+
|
6
|
+
CKeyInjector::CKeyInjector()
|
7
|
+
{}
|
8
|
+
|
9
|
+
CKeyInjector::~CKeyInjector()
|
10
|
+
{}
|
11
|
+
|
12
|
+
|
13
|
+
// Original Author: Dave Sheppard
|
14
|
+
// Original Date: 2/3/2005
|
15
|
+
void CKeyInjector::SendKey(TCHAR cKey)
|
16
|
+
{
|
17
|
+
BOOL bEscape = FALSE;
|
18
|
+
int nHex = 0;
|
19
|
+
BYTE bHex = 0;
|
20
|
+
BOOL bVirtual = FALSE;
|
21
|
+
const BYTE CharToVk[256] =
|
22
|
+
{
|
23
|
+
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
24
|
+
/*0*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x09,0x00,0x00,0x00,0x0D,0x00,0x00,
|
25
|
+
/*1*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x00,0x00,0x00,0x00,
|
26
|
+
/*2*/ 0x20,0x31,0xDE,0x33,0x34,0x35,0x37,0xDE,0x39,0x30,0x38,0xBB,0xBC,0xBD,0xBE,0xBF,
|
27
|
+
/*3*/ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xBA,0xBA,0xBC,0xBB,0xBE,0xBF,
|
28
|
+
/*4*/ 0x32,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
|
29
|
+
/*5*/ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xDB,0x5C,0xDD,0x36,0xBD,
|
30
|
+
/*6*/ 0x60,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
|
31
|
+
/*7*/ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xDB,0x5C,0xDD,0x60,0x60,
|
32
|
+
/*8*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
33
|
+
/*9*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
34
|
+
/*A*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
35
|
+
/*B*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
36
|
+
/*C*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
37
|
+
/*D*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
38
|
+
/*E*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
39
|
+
/*F*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
40
|
+
};
|
41
|
+
|
42
|
+
// Legacy
|
43
|
+
bool l_bEscape = FALSE;
|
44
|
+
if ( l_bEscape )
|
45
|
+
{
|
46
|
+
if ( cKey == ESCAPE_CHAR )
|
47
|
+
{
|
48
|
+
bEscape = !bEscape;
|
49
|
+
|
50
|
+
if ( bEscape )
|
51
|
+
{
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
if ( bEscape )
|
58
|
+
{
|
59
|
+
bEscape = FALSE;
|
60
|
+
switch(cKey)
|
61
|
+
{
|
62
|
+
case TEXT('b'):
|
63
|
+
cKey = TEXT('\b');
|
64
|
+
break;
|
65
|
+
case TEXT('f'):
|
66
|
+
cKey = TEXT('\f');
|
67
|
+
break;
|
68
|
+
case TEXT('n'):
|
69
|
+
cKey = TEXT('\n');;
|
70
|
+
break;
|
71
|
+
case TEXT('r'):
|
72
|
+
cKey = TEXT('\r');;
|
73
|
+
break;
|
74
|
+
case TEXT('t'):
|
75
|
+
cKey = TEXT('\t');
|
76
|
+
break;
|
77
|
+
case TEXT('x'):
|
78
|
+
bVirtual = FALSE;
|
79
|
+
nHex = 1;
|
80
|
+
bHex = 0;
|
81
|
+
return;
|
82
|
+
case TEXT('v'):
|
83
|
+
bVirtual = TRUE;
|
84
|
+
nHex = 1;
|
85
|
+
bHex = 0;
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
switch(nHex)
|
91
|
+
{
|
92
|
+
case 1:
|
93
|
+
case 2:
|
94
|
+
if ( iswxdigit(cKey) )
|
95
|
+
{
|
96
|
+
bHex *= 16;
|
97
|
+
if ( iswdigit(cKey) )
|
98
|
+
{
|
99
|
+
bHex += (BYTE) ( cKey & 0xF );
|
100
|
+
}
|
101
|
+
else
|
102
|
+
{
|
103
|
+
bHex += (BYTE)( ( cKey &0xF ) + 9 );
|
104
|
+
}
|
105
|
+
|
106
|
+
if ( nHex == 1 )
|
107
|
+
{
|
108
|
+
nHex++;
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
else
|
112
|
+
{
|
113
|
+
nHex = 0;
|
114
|
+
cKey = (TCHAR)bHex;
|
115
|
+
break;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
119
|
+
nHex = 0;
|
120
|
+
bVirtual = FALSE;
|
121
|
+
return;
|
122
|
+
default:
|
123
|
+
break;
|
124
|
+
}
|
125
|
+
|
126
|
+
if ( bVirtual )
|
127
|
+
{
|
128
|
+
UINT State1[1] = {KeyStateDownFlag|KeyShiftNoCharacterFlag};
|
129
|
+
UINT State2[1] = {KeyStateToggledFlag|KeyShiftNoCharacterFlag};
|
130
|
+
UINT Shift1[1] = {KeyStateDownFlag|KeyShiftNoCharacterFlag};
|
131
|
+
UINT Shift2[1] = {KeyShiftNoCharacterFlag};
|
132
|
+
UINT Key1[1] = {0};
|
133
|
+
UINT Key2[1] = {0};
|
134
|
+
BYTE bVK;
|
135
|
+
bVK = (BYTE)cKey;
|
136
|
+
|
137
|
+
PostKeybdMessage((HWND) -1, bVK, State1[0], 0, Shift1, Key1);
|
138
|
+
PostKeybdMessage((HWND) -1, bVK, State2[0], 0, Shift2, Key2);
|
139
|
+
}
|
140
|
+
else
|
141
|
+
{
|
142
|
+
UINT State1[1] = {KeyStateDownFlag};
|
143
|
+
UINT State2[1] = {KeyStateToggledFlag|KeyShiftNoCharacterFlag};
|
144
|
+
UINT Shift1[1] = {KeyStateDownFlag};
|
145
|
+
UINT Shift2[1] = {KeyShiftNoCharacterFlag};
|
146
|
+
UINT Key1[1] = {cKey};
|
147
|
+
UINT Key2[1] = {0};
|
148
|
+
BYTE bVK;
|
149
|
+
|
150
|
+
bVK = CharToVk[(BYTE)cKey];
|
151
|
+
|
152
|
+
PostKeybdMessage((HWND) -1, bVK, State1[0], 1, Shift1, Key1);
|
153
|
+
PostKeybdMessage((HWND) -1, bVK, State2[0], 1, Shift2, Key2);
|
154
|
+
}
|
155
|
+
|
156
|
+
bVirtual = FALSE;
|
157
|
+
}
|
158
|
+
|
159
|
+
// Original Author: Dave Sheppard
|
160
|
+
// Original Date: 2/3/2005
|
161
|
+
void CKeyInjector::SendString(LPCTSTR lpszString)
|
162
|
+
{
|
163
|
+
DWORD i;
|
164
|
+
|
165
|
+
HWND hWndFocus = GetForegroundWindow();
|
166
|
+
|
167
|
+
if ( lpszString == NULL )
|
168
|
+
{
|
169
|
+
return;
|
170
|
+
}
|
171
|
+
|
172
|
+
for(i=0;i<wcslen(lpszString);i++)
|
173
|
+
{
|
174
|
+
SendKey(lpszString[i]);
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
/**
|
2
|
+
* \file KeyInjector.h
|
3
|
+
* \brief Interface for the CKeyInjector class.
|
4
|
+
* This class provides gives the ability to inject keys into the operating system
|
5
|
+
* to allow 'Wedge' type behaviour.
|
6
|
+
* \author Darryn Campbell (DCC)
|
7
|
+
* \date January 2012 (DCC, Initial Port from RhoElements 1 Code)
|
8
|
+
*/
|
9
|
+
#pragma once
|
10
|
+
#include <windows.h>
|
11
|
+
#define ESCAPE_CHAR L'\\' ///< Definition of the escape character
|
12
|
+
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Class to inject keys into the operating system to allow 'Wedge' type behaviour.
|
16
|
+
* This class is a cut down version of the RhoElements 1.x CSIP.
|
17
|
+
* \author Darryn Campbell (DCC, JRQ768)
|
18
|
+
* \date January 2012, Initial Creation, DCC
|
19
|
+
*/
|
20
|
+
class CKeyInjector
|
21
|
+
{
|
22
|
+
public:
|
23
|
+
CKeyInjector(); ///< Constructor, no implementation.
|
24
|
+
~CKeyInjector(); ///< Destructor, no implementation.
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Repeatedly calls the SendKey to send an entire data
|
28
|
+
* string to the keyboard buffer.
|
29
|
+
* \param lpszString String to send
|
30
|
+
*/
|
31
|
+
void SendString(LPCTSTR lpszString);
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Sends the Keystroke to the keyboard buffer. Used by the
|
35
|
+
* scanner to 'fake' keystrokes from the input device.
|
36
|
+
* \param cKey Key to send (character)
|
37
|
+
*/
|
38
|
+
void SendKey(TCHAR cKey);
|
39
|
+
|
40
|
+
};
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#include "NotificationLoader.h"
|
2
|
+
|
3
|
+
CBarcodeBeeper::CBarcodeBeeper()
|
4
|
+
{
|
5
|
+
m_hNotificationDLL = NULL;
|
6
|
+
lpfn_Notify_FindClose = NULL;
|
7
|
+
lpfn_Notify_FindFirst = NULL;
|
8
|
+
lpfn_Notify_FindNext = NULL;
|
9
|
+
lpfn_Notify_SetCycleInfo = NULL;
|
10
|
+
lpfn_Notify_GetCycleInfo = NULL;
|
11
|
+
lpfn_Notify_SetState = NULL;
|
12
|
+
lpfn_Notify_GetState = NULL;
|
13
|
+
}
|
14
|
+
|
15
|
+
CBarcodeBeeper::~CBarcodeBeeper()
|
16
|
+
{
|
17
|
+
UnloadNotificationDLL();
|
18
|
+
}
|
19
|
+
|
20
|
+
// Loading Notification DLL dynamically
|
21
|
+
BOOL CBarcodeBeeper::LoadNotificationDLL()
|
22
|
+
{
|
23
|
+
m_hNotificationDLL = LoadLibrary(NOTIFY_DLL);
|
24
|
+
if (!m_hNotificationDLL)
|
25
|
+
{
|
26
|
+
// Log(SCANNER_LOG_WARNING, L"Unable to load EMDK Notification driver, scanner will not support 'beeping'",
|
27
|
+
// _T(__FUNCTION__), __LINE__);
|
28
|
+
return FALSE;
|
29
|
+
}
|
30
|
+
// Map the function pointers to functions exported from the DLL
|
31
|
+
lpfn_Notify_FindClose = (LPFN_NOTIFY_FINDCLOSE_T)GetProcAddress
|
32
|
+
(m_hNotificationDLL, L"NOTIFY_FindClose");
|
33
|
+
lpfn_Notify_FindNext = (LPFN_NOTIFY_FINDNEXT_T)GetProcAddress
|
34
|
+
(m_hNotificationDLL, L"NOTIFY_FindNext");
|
35
|
+
lpfn_Notify_FindFirst = (LPFN_NOTIFY_FINDFIRST_T)GetProcAddress
|
36
|
+
(m_hNotificationDLL, L"NOTIFY_FindFirst");
|
37
|
+
lpfn_Notify_SetCycleInfo = (LPFN_NOTIFY_SETCYCLEINFO_T)GetProcAddress
|
38
|
+
(m_hNotificationDLL, L"NOTIFY_SetCycleInfo");
|
39
|
+
lpfn_Notify_GetCycleInfo = (LPFN_NOTIFY_GETCYCLEINFO_T)GetProcAddress
|
40
|
+
(m_hNotificationDLL, L"NOTIFY_GetCycleInfo");
|
41
|
+
lpfn_Notify_SetState = (LPFN_NOTIFY_SETSTATE_T)GetProcAddress
|
42
|
+
(m_hNotificationDLL, L"NOTIFY_SetState");
|
43
|
+
lpfn_Notify_GetState = (LPFN_NOTIFY_GETSTATE_T)GetProcAddress
|
44
|
+
(m_hNotificationDLL, L"NOTIFY_GetState");
|
45
|
+
|
46
|
+
if (lpfn_Notify_FindClose == NULL ||
|
47
|
+
lpfn_Notify_FindNext == NULL ||
|
48
|
+
lpfn_Notify_FindFirst == NULL ||
|
49
|
+
lpfn_Notify_SetCycleInfo== NULL ||
|
50
|
+
lpfn_Notify_GetCycleInfo== NULL ||
|
51
|
+
lpfn_Notify_SetState == NULL ||
|
52
|
+
lpfn_Notify_GetState == NULL)
|
53
|
+
{
|
54
|
+
m_hNotificationDLL = NULL;
|
55
|
+
return FALSE;
|
56
|
+
}
|
57
|
+
else
|
58
|
+
return TRUE;
|
59
|
+
}
|
60
|
+
|
61
|
+
BOOL CBarcodeBeeper::UnloadNotificationDLL()
|
62
|
+
{
|
63
|
+
if (m_hNotificationDLL)
|
64
|
+
{
|
65
|
+
FreeLibrary(m_hNotificationDLL);
|
66
|
+
m_hNotificationDLL = NULL;
|
67
|
+
lpfn_Notify_FindClose = NULL;
|
68
|
+
lpfn_Notify_FindNext = NULL;
|
69
|
+
lpfn_Notify_FindFirst = NULL;
|
70
|
+
lpfn_Notify_SetCycleInfo= NULL;
|
71
|
+
lpfn_Notify_GetCycleInfo= NULL;
|
72
|
+
lpfn_Notify_SetState = NULL;
|
73
|
+
lpfn_Notify_GetState = NULL;
|
74
|
+
}
|
75
|
+
return TRUE;
|
76
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
#pragma once
|
2
|
+
#include <windows.h>
|
3
|
+
#include "ntfycapi.h"
|
4
|
+
|
5
|
+
// Dynamically Loading the Notification DLL (This code is shared by the Scanner and
|
6
|
+
// Device / Application DLLs
|
7
|
+
// Definitions of Methods exported from the EMDK Notifications
|
8
|
+
#define NOTIFY_DLL L"NtfyAPI32.dll" ///< Name of the EMDK Notification Library
|
9
|
+
typedef DWORD (WINAPI* LPFN_NOTIFY_FINDCLOSE_T) (HANDLE);
|
10
|
+
typedef DWORD (WINAPI* LPFN_NOTIFY_FINDNEXT_T) (LPNOTIFY_FINDINFO lpNotifyFindInfo, HANDLE hFindHandle);
|
11
|
+
typedef DWORD (WINAPI* LPFN_NOTIFY_FINDFIRST_T) (LPNOTIFY_FINDINFO lpNotifyFindInfo, LPHANDLE lphFindHandle);
|
12
|
+
typedef DWORD (WINAPI* LPFN_NOTIFY_SETCYCLEINFO_T) (DWORD dwIndex, LPCYCLE_INFO lpCycleInfo);
|
13
|
+
typedef DWORD (WINAPI* LPFN_NOTIFY_GETCYCLEINFO_T) (DWORD dwIndex, LPCYCLE_INFO lpCycleInfo);
|
14
|
+
typedef DWORD (WINAPI* LPFN_NOTIFY_SETSTATE_T) (DWORD dwIndex, DWORD dwState);
|
15
|
+
typedef DWORD (WINAPI* LPFN_NOTIFY_GETSTATE_T) (DWORD dwIndex, LPDWORD lpdwState);
|
16
|
+
|
17
|
+
class CBarcodeBeeper
|
18
|
+
{
|
19
|
+
public:
|
20
|
+
|
21
|
+
HMODULE m_hNotificationDLL; ///< HMODULE of the loaded EMDK Notification DLL
|
22
|
+
LPFN_NOTIFY_FINDCLOSE_T lpfn_Notify_FindClose; ///< function pointer to EMDK Notify API
|
23
|
+
LPFN_NOTIFY_FINDFIRST_T lpfn_Notify_FindFirst; ///< function pointer to EMDK Notify API
|
24
|
+
LPFN_NOTIFY_FINDNEXT_T lpfn_Notify_FindNext; ///< function pointer to EMDK Notify API
|
25
|
+
LPFN_NOTIFY_SETCYCLEINFO_T lpfn_Notify_SetCycleInfo; ///< function pointer to EMDK Notify API
|
26
|
+
LPFN_NOTIFY_GETCYCLEINFO_T lpfn_Notify_GetCycleInfo; ///< function pointer to EMDK Notify API
|
27
|
+
LPFN_NOTIFY_SETSTATE_T lpfn_Notify_SetState; ///< function pointer to EMDK Notify API
|
28
|
+
LPFN_NOTIFY_GETSTATE_T lpfn_Notify_GetState; ///< function pointer to EMDK Notify API
|
29
|
+
|
30
|
+
CBarcodeBeeper();
|
31
|
+
~CBarcodeBeeper();
|
32
|
+
|
33
|
+
/**
|
34
|
+
* The Scanner is dependant on the EMDK Notification API for generating
|
35
|
+
* good and bad decode 'beeps'. Load the Notification DLL dynamically
|
36
|
+
* to avoid catastrophic failure if we try and launch the scanner on
|
37
|
+
* a non-Symbol device (remember this DLL is loaded by the license
|
38
|
+
* screen and also in the default config's preloads)
|
39
|
+
* \return Whether or not the Notification DLL could be loaded
|
40
|
+
*/
|
41
|
+
BOOL LoadNotificationDLL();
|
42
|
+
BOOL UnloadNotificationDLL();
|
43
|
+
|
44
|
+
};
|
@@ -0,0 +1,1211 @@
|
|
1
|
+
#pragma once
|
2
|
+
|
3
|
+
#include "Scanner.h"
|
4
|
+
|
5
|
+
#pragma region RSM_EMML_Parser
|
6
|
+
|
7
|
+
// Meta tag handler for RSM tags
|
8
|
+
BOOL CScanner::rsm_MetaProc(LPCTSTR szPropertyName, LPCTSTR szPropertyValue)
|
9
|
+
{
|
10
|
+
BOOL bRetVal;
|
11
|
+
// Consider the 'Set' methods
|
12
|
+
if (cmp(szPropertyName, L"rsmBluetoothAuthentication") &&
|
13
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
14
|
+
{
|
15
|
+
bRetVal = SetRSMValue(ATTR_BT_AUTHENTICATION, szPropertyValue);
|
16
|
+
}
|
17
|
+
else if (cmp(szPropertyName, L"rsmBluetoothEncryption") &&
|
18
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
19
|
+
{
|
20
|
+
bRetVal = SetRSMValue(ATTR_BT_ENCRYPTION, szPropertyValue);
|
21
|
+
}
|
22
|
+
else if (cmp(szPropertyName, L"rsmBluetoothPinCode") &&
|
23
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
24
|
+
{
|
25
|
+
bRetVal = SetRSMValue(ATTR_BT_PINCODE, szPropertyValue);
|
26
|
+
}
|
27
|
+
else if (cmp(szPropertyName, L"rsmBluetoothPinCodeType") &&
|
28
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
29
|
+
{
|
30
|
+
bRetVal = SetRSMValue(ATTR_PIN_CODE_TYPE, szPropertyValue);
|
31
|
+
}
|
32
|
+
else if (cmp(szPropertyName, L"rsmBluetoothReconnectionAttempts") &&
|
33
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
34
|
+
{
|
35
|
+
bRetVal = SetRSMValue(ATTR_RECONNECT_ATTEMPTS, szPropertyValue);
|
36
|
+
}
|
37
|
+
else if (cmp(szPropertyName, L"rsmBluetoothBeepOnReconnectAttempt") &&
|
38
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
39
|
+
{
|
40
|
+
bRetVal = SetRSMValue(ATTR_BEEP_ON_RECON_ATTEMPT, szPropertyValue);
|
41
|
+
}
|
42
|
+
else if (cmp(szPropertyName, L"rsmBluetoothHIDAutoReconnect") &&
|
43
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
44
|
+
{
|
45
|
+
bRetVal = SetRSMValue(ATTR_HID_AUTO_RECON, szPropertyValue);
|
46
|
+
}
|
47
|
+
else if (cmp(szPropertyName, L"rsmBluetoothFriendlyName") &&
|
48
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
49
|
+
{
|
50
|
+
bRetVal = SetRSMValue(ATTR_BT_FRIENDLY_NAME, szPropertyValue);
|
51
|
+
}
|
52
|
+
else if (cmp(szPropertyName, L"rsmBluetoothInquiryMode") &&
|
53
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
54
|
+
{
|
55
|
+
bRetVal = SetRSMValue(ATTR_BT_INQUIRY_MODE, szPropertyValue);
|
56
|
+
}
|
57
|
+
else if (cmp(szPropertyName, L"rsmBluetoothAutoReconnect") &&
|
58
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
59
|
+
{
|
60
|
+
bRetVal = SetRSMValue(ATTR_BLUETOOTH_AUTO_RECON, szPropertyValue);
|
61
|
+
}
|
62
|
+
else if (cmp(szPropertyName, L"rsmForceSavePairingBarcode") &&
|
63
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
64
|
+
{
|
65
|
+
bRetVal = SetRSMValue(ATTR_FORCE_PAIRING_SAVE, szPropertyValue);
|
66
|
+
}
|
67
|
+
else if (cmp(szPropertyName, L"rsmLowBatteryIndication") &&
|
68
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
69
|
+
{
|
70
|
+
bRetVal = SetRSMValue(ATTR_LOW_BATTERY_IND_EN, szPropertyValue);
|
71
|
+
}
|
72
|
+
else if (cmp(szPropertyName, L"rsmLowBatteryIndicationCycle") &&
|
73
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
74
|
+
{
|
75
|
+
bRetVal = SetRSMValue(ATTR_LOW_BATTERY_IND_CYCLE, szPropertyValue);
|
76
|
+
}
|
77
|
+
else if (cmp(szPropertyName, L"rsmScanLineWidth") &&
|
78
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
79
|
+
{
|
80
|
+
bRetVal = SetRSMValue(ATTR_SCANLINE_WIDTH, szPropertyValue);
|
81
|
+
}
|
82
|
+
else if (cmp(szPropertyName, L"rsmGoodScansDelay") &&
|
83
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
84
|
+
{
|
85
|
+
bRetVal = SetRSMValue(ATTR_GOOD_SCANS_DELAY, szPropertyValue);
|
86
|
+
}
|
87
|
+
else if (cmp(szPropertyName, L"rsmDecodeFeedback") &&
|
88
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
89
|
+
{
|
90
|
+
bRetVal = SetRSMValue(ATTR_DISABLE_GOOD_DECODE_LED_BEEP, szPropertyValue);
|
91
|
+
}
|
92
|
+
else if (cmp(szPropertyName, L"rsmIgnoreCode128USPS") &&
|
93
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
94
|
+
{
|
95
|
+
bRetVal = SetRSMValue(ATTR_EXCLUSIVE_CODE128_EN, szPropertyValue);
|
96
|
+
}
|
97
|
+
else if (cmp(szPropertyName, L"rsmScanTriggerWakeup") &&
|
98
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
99
|
+
{
|
100
|
+
bRetVal = SetRSMValue(ATTR_SCAN_TRIG_WAKEUP_EN, szPropertyValue);
|
101
|
+
}
|
102
|
+
else if (cmp(szPropertyName, L"rsmMems") &&
|
103
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
104
|
+
{
|
105
|
+
bRetVal = SetRSMValue(ATTR_MEMS_ENABLE, szPropertyValue);
|
106
|
+
}
|
107
|
+
else if (cmp(szPropertyName, L"rsmProximityEnable") &&
|
108
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
109
|
+
{
|
110
|
+
bRetVal = SetRSMValue(ATTR_PROXIMITY_ENABLE, szPropertyValue);
|
111
|
+
}
|
112
|
+
else if (cmp(szPropertyName, L"rsmProximityContinuous") &&
|
113
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
114
|
+
{
|
115
|
+
bRetVal = SetRSMValue(ATTR_PROXIMITY_CONTINUOUS_EN, szPropertyValue);
|
116
|
+
}
|
117
|
+
else if (cmp(szPropertyName, L"rsmProximityDistance") &&
|
118
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
119
|
+
{
|
120
|
+
bRetVal = SetRSMValue(ATTR_PROXIMITY_DISTANCE, szPropertyValue);
|
121
|
+
}
|
122
|
+
else if (cmp(szPropertyName, L"rsmPagingEnable") &&
|
123
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
124
|
+
{
|
125
|
+
bRetVal = SetRSMValue(ATTR_PAGING_ENABLE, szPropertyValue);
|
126
|
+
}
|
127
|
+
else if (cmp(szPropertyName, L"rsmPagingBeepSequence") &&
|
128
|
+
szPropertyValue && wcslen(szPropertyValue) > 0)
|
129
|
+
{
|
130
|
+
bRetVal = SetRSMValue(ATTR_PAGING_BEEP_SEQ, szPropertyValue);
|
131
|
+
}
|
132
|
+
|
133
|
+
if (!bRetVal)
|
134
|
+
{
|
135
|
+
// Failed to process RSM setting
|
136
|
+
WCHAR tcLog[MAXLOG];
|
137
|
+
if (szPropertyValue && wcslen(szPropertyValue) > 0)
|
138
|
+
{
|
139
|
+
wsprintf(tcLog, L"Unable to process RSM property with Parameter: %s and Value: %s",
|
140
|
+
szPropertyName, szPropertyValue);
|
141
|
+
}
|
142
|
+
else
|
143
|
+
{
|
144
|
+
wsprintf(tcLog, L"Unable to process RSM method with Parameter: %s",
|
145
|
+
szPropertyName);
|
146
|
+
}
|
147
|
+
LOG(WARNING) + tcLog;
|
148
|
+
}
|
149
|
+
return bRetVal;
|
150
|
+
}
|
151
|
+
|
152
|
+
BOOL CScanner::CommandRemoteScanner(const WCHAR* szCommand)
|
153
|
+
{
|
154
|
+
BOOL bRetVal = FALSE;
|
155
|
+
if (cmp(szCommand, L"StartPaging"))
|
156
|
+
{
|
157
|
+
bRetVal = SetRSMValue(ATTR_PAGING_ACTIVATE, L"Start");
|
158
|
+
}
|
159
|
+
else if (cmp(szCommand, L"StopPaging"))
|
160
|
+
{
|
161
|
+
bRetVal = SetRSMValue(ATTR_PAGING_ACTIVATE, L"Stop");
|
162
|
+
}
|
163
|
+
else if (cmp(szCommand, L"Disconnect"))
|
164
|
+
{
|
165
|
+
bRetVal = SetRSMValue(ATTR_BT_DISCONNECT, NULL);
|
166
|
+
}
|
167
|
+
else if (cmp(szCommand, L"Unpair"))
|
168
|
+
{
|
169
|
+
bRetVal = SetRSMValue(ATTR_BT_UNPAIR, NULL);
|
170
|
+
}
|
171
|
+
|
172
|
+
if (!bRetVal)
|
173
|
+
{
|
174
|
+
// Failed to process RSM setting
|
175
|
+
LOG(WARNING) + L"Unable to Command BT Scanner with instruction " + szCommand +
|
176
|
+
", that command is unrecognised";
|
177
|
+
}
|
178
|
+
return bRetVal;
|
179
|
+
}
|
180
|
+
|
181
|
+
int CScanner::rsm_GetPropertyValue(LPCTSTR szPropertyName, WCHAR* szPropertyValue)
|
182
|
+
{
|
183
|
+
int iRetVal = -1;
|
184
|
+
RSM_ATTRIB rsmAttribute;
|
185
|
+
memset(&rsmAttribute, 0, sizeof(RSM_ATTRIB));
|
186
|
+
SI_INIT(&rsmAttribute);
|
187
|
+
if (cmp(szPropertyName, L"rsmModelNumber"))
|
188
|
+
{
|
189
|
+
rsmAttribute.eNumber = ATTR_MODEL_NUMBER;
|
190
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
191
|
+
}
|
192
|
+
else if (cmp(szPropertyName, L"rsmSerialNumber"))
|
193
|
+
{
|
194
|
+
rsmAttribute.eNumber = ATTR_SERIAL_NUMBER;
|
195
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
196
|
+
}
|
197
|
+
else if(cmp(szPropertyName, L"rsmDateOfManufacture"))
|
198
|
+
{
|
199
|
+
rsmAttribute.eNumber = ATTR_DATE_OF_MANUFACTURE;
|
200
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
201
|
+
}
|
202
|
+
else if (cmp(szPropertyName, L"rsmDateOfService"))
|
203
|
+
{
|
204
|
+
rsmAttribute.eNumber = ATTR_DATE_OF_SERVICE;
|
205
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
206
|
+
}
|
207
|
+
else if (cmp(szPropertyName, L"rsmBluetoothAddress"))
|
208
|
+
{
|
209
|
+
rsmAttribute.eNumber = ATTR_BT_ADDR;
|
210
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
211
|
+
}
|
212
|
+
else if (cmp(szPropertyName, L"rsmFirmwareVersion"))
|
213
|
+
{
|
214
|
+
rsmAttribute.eNumber = ATTR_FIRM_VERSION;
|
215
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
216
|
+
}
|
217
|
+
else if (cmp(szPropertyName, L"rsmDeviceClass"))
|
218
|
+
{
|
219
|
+
rsmAttribute.eNumber = ATTR_DEVICE_CLASS;
|
220
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
221
|
+
}
|
222
|
+
else if (cmp(szPropertyName, L"rsmBatteryStatus"))
|
223
|
+
{
|
224
|
+
rsmAttribute.eNumber = ATTR_BATTERY_STATUS;
|
225
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
226
|
+
}
|
227
|
+
else if (cmp(szPropertyName, L"rsmBatteryCapacity"))
|
228
|
+
{
|
229
|
+
rsmAttribute.eNumber = ATTR_BATTERY_CAPACITY;
|
230
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
231
|
+
}
|
232
|
+
else if (cmp(szPropertyName, L"rsmBatteryID"))
|
233
|
+
{
|
234
|
+
rsmAttribute.eNumber = ATTR_BATTERY_ID;
|
235
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
236
|
+
}
|
237
|
+
else if (cmp(szPropertyName, L"rsmBluetoothAuthentication"))
|
238
|
+
{
|
239
|
+
rsmAttribute.eNumber = ATTR_BT_AUTHENTICATION;
|
240
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
241
|
+
}
|
242
|
+
else if (cmp(szPropertyName, L"rsmBluetoothEncryption"))
|
243
|
+
{
|
244
|
+
rsmAttribute.eNumber = ATTR_BT_ENCRYPTION;
|
245
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
246
|
+
}
|
247
|
+
else if (cmp(szPropertyName, L"rsmBluetoothPINCode"))
|
248
|
+
{
|
249
|
+
rsmAttribute.eNumber = ATTR_BT_PINCODE;
|
250
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
251
|
+
}
|
252
|
+
else if (cmp(szPropertyName, L"rsmBluetoothPINCodeType"))
|
253
|
+
{
|
254
|
+
rsmAttribute.eNumber = ATTR_PIN_CODE_TYPE;
|
255
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
256
|
+
}
|
257
|
+
else if (cmp(szPropertyName, L"rsmBluetoothReconnectionAttempts"))
|
258
|
+
{
|
259
|
+
rsmAttribute.eNumber = ATTR_RECONNECT_ATTEMPTS;
|
260
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
261
|
+
}
|
262
|
+
else if (cmp(szPropertyName, L"rsmBluetoothBeepOnReconnectAttempt"))
|
263
|
+
{
|
264
|
+
rsmAttribute.eNumber = ATTR_BEEP_ON_RECON_ATTEMPT;
|
265
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
266
|
+
}
|
267
|
+
else if (cmp(szPropertyName, L"rsmBluetoothHIDAutoReconnect"))
|
268
|
+
{
|
269
|
+
rsmAttribute.eNumber = ATTR_HID_AUTO_RECON;
|
270
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
271
|
+
}
|
272
|
+
else if (cmp(szPropertyName, L"rsmBluetoothFriendlyName"))
|
273
|
+
{
|
274
|
+
rsmAttribute.eNumber = ATTR_BT_FRIENDLY_NAME;
|
275
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
276
|
+
}
|
277
|
+
else if (cmp(szPropertyName, L"rsmBluetoothInquiryMode"))
|
278
|
+
{
|
279
|
+
rsmAttribute.eNumber = ATTR_BT_INQUIRY_MODE;
|
280
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
281
|
+
}
|
282
|
+
else if (cmp(szPropertyName, L"rsmBluetoothAutoReconnect"))
|
283
|
+
{
|
284
|
+
rsmAttribute.eNumber = ATTR_BLUETOOTH_AUTO_RECON;
|
285
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
286
|
+
}
|
287
|
+
else if (cmp(szPropertyName, L"rsmForceSavePairingBarcode"))
|
288
|
+
{
|
289
|
+
rsmAttribute.eNumber = ATTR_FORCE_PAIRING_SAVE;
|
290
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
291
|
+
}
|
292
|
+
else if (cmp(szPropertyName, L"rsmLowBatteryIndication"))
|
293
|
+
{
|
294
|
+
rsmAttribute.eNumber = ATTR_LOW_BATTERY_IND_EN;
|
295
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
296
|
+
}
|
297
|
+
else if (cmp(szPropertyName, L"rsmLowBatteryIndicationCycle"))
|
298
|
+
{
|
299
|
+
rsmAttribute.eNumber = ATTR_LOW_BATTERY_IND_CYCLE;
|
300
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
301
|
+
}
|
302
|
+
else if (cmp(szPropertyName, L"rsmScanLineWidth"))
|
303
|
+
{
|
304
|
+
rsmAttribute.eNumber = ATTR_SCANLINE_WIDTH;
|
305
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
306
|
+
}
|
307
|
+
else if (cmp(szPropertyName, L"rsmGoodScansDelay"))
|
308
|
+
{
|
309
|
+
rsmAttribute.eNumber = ATTR_GOOD_SCANS_DELAY;
|
310
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
311
|
+
}
|
312
|
+
else if (cmp(szPropertyName, L"rsmDecodeFeedback"))
|
313
|
+
{
|
314
|
+
rsmAttribute.eNumber = ATTR_DISABLE_GOOD_DECODE_LED_BEEP;
|
315
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
316
|
+
}
|
317
|
+
else if (cmp(szPropertyName, L"rsmIgnoreCode128USPS"))
|
318
|
+
{
|
319
|
+
rsmAttribute.eNumber = ATTR_EXCLUSIVE_CODE128_EN;
|
320
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
321
|
+
}
|
322
|
+
else if (cmp(szPropertyName, L"rsmScanTriggerWakeup"))
|
323
|
+
{
|
324
|
+
rsmAttribute.eNumber = ATTR_SCAN_TRIG_WAKEUP_EN;
|
325
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
326
|
+
}
|
327
|
+
else if (cmp(szPropertyName, L"rsmMems"))
|
328
|
+
{
|
329
|
+
rsmAttribute.eNumber = ATTR_MEMS_ENABLE;
|
330
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
331
|
+
}
|
332
|
+
else if (cmp(szPropertyName, L"rsmProximityEnable"))
|
333
|
+
{
|
334
|
+
rsmAttribute.eNumber = ATTR_PROXIMITY_ENABLE;
|
335
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
336
|
+
}
|
337
|
+
else if (cmp(szPropertyName, L"rsmProximityContinuous"))
|
338
|
+
{
|
339
|
+
rsmAttribute.eNumber = ATTR_PROXIMITY_CONTINUOUS_EN;
|
340
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
341
|
+
}
|
342
|
+
else if (cmp(szPropertyName, L"rsmProximityDistance"))
|
343
|
+
{
|
344
|
+
rsmAttribute.eNumber = ATTR_PROXIMITY_DISTANCE;
|
345
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
346
|
+
}
|
347
|
+
else if (cmp(szPropertyName, L"rsmPagingEnable"))
|
348
|
+
{
|
349
|
+
rsmAttribute.eNumber = ATTR_PAGING_ENABLE;
|
350
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
351
|
+
}
|
352
|
+
else if (cmp(szPropertyName, L"rsmPagingBeepSequence"))
|
353
|
+
{
|
354
|
+
rsmAttribute.eNumber = ATTR_PAGING_BEEP_SEQ;
|
355
|
+
iRetVal = RetrieveRSMAttributeValue(&rsmAttribute, szPropertyValue);
|
356
|
+
}
|
357
|
+
return iRetVal;
|
358
|
+
}
|
359
|
+
|
360
|
+
#pragma endregion
|
361
|
+
|
362
|
+
#pragma region RSM_Functions
|
363
|
+
|
364
|
+
BOOL CScanner::RSMGetSupportedAttributes()
|
365
|
+
{
|
366
|
+
BOOL bReturnValue = FALSE;
|
367
|
+
// Check the Scanner supports RSM functionality
|
368
|
+
// Don't log if we don't supported it as we would have already logged that earlier
|
369
|
+
if(lpfn_SCAN_RSMGetSupportedAttributes && m_hScanner)
|
370
|
+
{
|
371
|
+
// Populate the member variable array rsmSupportedAttributes with
|
372
|
+
// the attributes supported by this device
|
373
|
+
delete[] m_rsmSupportedAttributes;
|
374
|
+
m_rsmSupportedAttributes = NULL;
|
375
|
+
|
376
|
+
// Find out how many attributes are supported by the connected RSM device
|
377
|
+
// This (calling getSupportedAttributes with NULL)
|
378
|
+
// doesn't seem to work on CE6 devices with the
|
379
|
+
// release build, though it does work with the debug build and on WM devices.
|
380
|
+
// Time is short therefore just defaulting to a maximum of 100 supported attributes.
|
381
|
+
// DWORD dwRSMAttributeCount = 0;
|
382
|
+
// DWORD dwResult = lpfn_SCAN_RSMGetSupportedAttributes(m_hScanner, NULL, &dwRSMAttributeCount);
|
383
|
+
// if (dwResult == E_SCN_SUCCESS)
|
384
|
+
// {
|
385
|
+
// m_iCountOfSupportedRSMAttributes = dwRSMAttributeCount;
|
386
|
+
|
387
|
+
// dwAttributeCount now contains the number of attributes available on
|
388
|
+
// the scanner
|
389
|
+
DWORD dwRSMAttributeCount2 = 100;
|
390
|
+
m_rsmSupportedAttributes = new ATTRIB_NUMBER[100];
|
391
|
+
DWORD dwResult = lpfn_SCAN_RSMGetSupportedAttributes(m_hScanner,
|
392
|
+
m_rsmSupportedAttributes,
|
393
|
+
&dwRSMAttributeCount2);
|
394
|
+
m_iCountOfSupportedRSMAttributes = dwRSMAttributeCount2;
|
395
|
+
//}
|
396
|
+
bReturnValue = (dwResult == E_SCN_SUCCESS);
|
397
|
+
if (!bReturnValue)
|
398
|
+
{
|
399
|
+
WCHAR szLogMessage[1024];
|
400
|
+
wsprintf(szLogMessage, L"Unable to retrieve supported RSM attributes, this scanner does not support RSM (%u)",
|
401
|
+
dwResult);
|
402
|
+
m_iCountOfSupportedRSMAttributes = 0;
|
403
|
+
// Removed this log as it was causing confusion with Customers, thinking something had gone wrong.
|
404
|
+
//Log(SCANNER_LOG_INFO, szLogMessage,
|
405
|
+
// _T(__FUNCTION__), __LINE__);
|
406
|
+
}
|
407
|
+
}
|
408
|
+
return bReturnValue;
|
409
|
+
|
410
|
+
}
|
411
|
+
|
412
|
+
|
413
|
+
/*
|
414
|
+
BOOL CScanner::MarkRSMForRetrieval(ATTRIB_NUMBER attribute)
|
415
|
+
{
|
416
|
+
// Check the Scanner supports RSM functionality
|
417
|
+
if(!lpfn_SCAN_RSMGetSupportedAttributes)
|
418
|
+
{
|
419
|
+
LOG(WARNING) + L"Attempted to mark an RSM Attribute for retrieval but Scanner does not support RSM";
|
420
|
+
return FALSE;
|
421
|
+
}
|
422
|
+
else
|
423
|
+
{
|
424
|
+
return WriteMsgQueue(m_hRSMMsgQWrite,
|
425
|
+
&attribute,
|
426
|
+
sizeof(attribute),
|
427
|
+
INFINITE, 0);
|
428
|
+
}
|
429
|
+
}
|
430
|
+
*/
|
431
|
+
|
432
|
+
// Perform checks to ensure the attribute is appropriate to retrieve and populate the
|
433
|
+
// m_szRSMValuesToReturn array with 'unsupported' or 'failed to get' if it is not appropriate
|
434
|
+
// to retrieve the value. If the value is retrievable the function RetrieveRSMAttributeValueAsString
|
435
|
+
// is called.
|
436
|
+
int CScanner::RetrieveRSMAttributeValue(LPRSM_ATTRIB rsmAttribute, WCHAR* szValueBuffer)
|
437
|
+
{
|
438
|
+
int iRetVal = -1;
|
439
|
+
if (m_iCountOfMarkedRSMAttributes >= MAX_RSM_READABLE_ATTRIBUTES)
|
440
|
+
{
|
441
|
+
// We are being asked to retrieve more than the maximum number of RSM attributes
|
442
|
+
LOG(WARNING) + L"Unable to mark RSM Attribute for retrieval, please retrieve attributes";
|
443
|
+
return FALSE;
|
444
|
+
}
|
445
|
+
|
446
|
+
// Check the specified attribute is supported by the Scanner
|
447
|
+
if (!m_rsmSupportedAttributes == NULL)
|
448
|
+
{
|
449
|
+
BOOL bSupported = FALSE;
|
450
|
+
for(int attribute = 0; attribute < m_iCountOfSupportedRSMAttributes; attribute++)
|
451
|
+
{
|
452
|
+
if (m_rsmSupportedAttributes[attribute] == rsmAttribute->eNumber)
|
453
|
+
{
|
454
|
+
// We have found the attribute in the list of supported
|
455
|
+
// attributes
|
456
|
+
bSupported = TRUE;
|
457
|
+
break;
|
458
|
+
}
|
459
|
+
}
|
460
|
+
|
461
|
+
// Log if the attribute is not supported
|
462
|
+
if (!bSupported)
|
463
|
+
{
|
464
|
+
LOG(INFO) + L"Unable to get RSM attribute, not supported";
|
465
|
+
m_szRSMValuesToReturn[m_iCountOfMarkedRSMAttributes] =
|
466
|
+
new TCHAR[MAX_RSM_STRING_LENGTH];
|
467
|
+
wcscpy(m_szRSMValuesToReturn[m_iCountOfMarkedRSMAttributes++],
|
468
|
+
L"Unsupported Attribute");
|
469
|
+
}
|
470
|
+
else
|
471
|
+
{
|
472
|
+
// The attribute is supported by the Scanner,
|
473
|
+
// We only want to
|
474
|
+
// read the attribute if it is not an 'Action' attribute.
|
475
|
+
if (rsmAttribute->eType != ATTRIB_ACTION)
|
476
|
+
{
|
477
|
+
// set appropriate fields and zero the rest
|
478
|
+
SI_SET_FIELD(rsmAttribute, eType, ATTRIB_UNTYPED);
|
479
|
+
// Retrieve the current value from the Scanner
|
480
|
+
DWORD dwResult = lpfn_SCAN_RSMGetAttribute(m_hScanner,
|
481
|
+
VALUE_TYPE_CURRENT,
|
482
|
+
rsmAttribute);
|
483
|
+
|
484
|
+
// If the type of the attribute is a string or an array then
|
485
|
+
// E_SCN_BUFFERTOOSMALL is returned, this indicates that memory
|
486
|
+
// needs to be allocated for the string / array, the size specified
|
487
|
+
// as part of the instantiated attribute.
|
488
|
+
if (dwResult == E_SCN_BUFFERTOOSMALL)
|
489
|
+
{
|
490
|
+
WORD wSize;
|
491
|
+
// Allocate memory for string or array
|
492
|
+
if (rsmAttribute->eType == ATTRIB_STRING)
|
493
|
+
{
|
494
|
+
// Attribute is a String, it's size is stored in wStrLength
|
495
|
+
wSize = rsmAttribute->Value.StringVal.wStrLength;
|
496
|
+
rsmAttribute->Value.StringVal.pszVal = new WCHAR[wSize];
|
497
|
+
memset(rsmAttribute->Value.StringVal.pszVal, 0, wSize * sizeof(WCHAR));
|
498
|
+
SI_SET_FIELD(rsmAttribute, eType, ATTRIB_STRING);
|
499
|
+
// Retry retrieving the attribute
|
500
|
+
dwResult = lpfn_SCAN_RSMGetAttribute(m_hScanner,
|
501
|
+
VALUE_TYPE_CURRENT,
|
502
|
+
rsmAttribute);
|
503
|
+
}
|
504
|
+
else if (rsmAttribute->eType == ATTRIB_ARRAY)
|
505
|
+
{
|
506
|
+
// Attribute is an Array
|
507
|
+
wSize = rsmAttribute->Value.ArrayVal.wArrayLength;
|
508
|
+
rsmAttribute->Value.ArrayVal.pArrayVal = new BYTE[wSize];
|
509
|
+
SI_SET_FIELD(rsmAttribute, eType, ATTRIB_ARRAY);
|
510
|
+
// Retry retrieving the attribute
|
511
|
+
dwResult = lpfn_SCAN_RSMGetAttribute(m_hScanner,
|
512
|
+
VALUE_TYPE_CURRENT,
|
513
|
+
rsmAttribute);
|
514
|
+
}
|
515
|
+
else
|
516
|
+
{
|
517
|
+
// Unexpected : Attribute is not a string or an array
|
518
|
+
LOG(WARNING) + L"Unable to get RSM Attribute, Memory Error";
|
519
|
+
}
|
520
|
+
}
|
521
|
+
|
522
|
+
if (dwResult == E_SCN_SUCCESS)
|
523
|
+
{
|
524
|
+
// rsmAttribute now contains the retrieved value.
|
525
|
+
iRetVal = RetrieveRSMAttributeValueAsString(rsmAttribute, szValueBuffer);
|
526
|
+
}
|
527
|
+
else
|
528
|
+
{
|
529
|
+
m_szRSMValuesToReturn[m_iCountOfMarkedRSMAttributes] =
|
530
|
+
new TCHAR[MAX_RSM_STRING_LENGTH];
|
531
|
+
wcscpy(m_szRSMValuesToReturn[m_iCountOfMarkedRSMAttributes++],
|
532
|
+
L"Failed to get Attribute");
|
533
|
+
}
|
534
|
+
|
535
|
+
// Delete associated memory with Strings and Arrays
|
536
|
+
if (rsmAttribute->eType == ATTRIB_STRING)
|
537
|
+
delete[] rsmAttribute->Value.StringVal.pszVal;
|
538
|
+
else if (rsmAttribute->eType == ATTRIB_ARRAY)
|
539
|
+
delete[] rsmAttribute->Value.ArrayVal.pArrayVal;
|
540
|
+
|
541
|
+
// If the code reaches here either:
|
542
|
+
// * The attribute value has been
|
543
|
+
// successfully obtained and a navigation has been
|
544
|
+
// performed if appropriate.
|
545
|
+
// * We have failed to retrieve the attribute for the reason
|
546
|
+
// contained in dwResult
|
547
|
+
|
548
|
+
} // End If attribute is of type ATTRIB_ACTION
|
549
|
+
} // End If attribute not supported by the Scanner
|
550
|
+
}
|
551
|
+
return iRetVal;
|
552
|
+
}
|
553
|
+
|
554
|
+
// Add the specified attribute's value to m_szRSMValuesToReturn
|
555
|
+
int CScanner::RetrieveRSMAttributeValueAsString(LPRSM_ATTRIB rsmAttribute, WCHAR* szRSMValue)
|
556
|
+
{
|
557
|
+
int iRetVal = -1;
|
558
|
+
int iLength;
|
559
|
+
// Character array which will store the string to return to the user
|
560
|
+
TCHAR tcParameterValue[MAX_URL];
|
561
|
+
memset(tcParameterValue, 0, sizeof(tcParameterValue));
|
562
|
+
|
563
|
+
// Converting the attribute's value to a string depends on the type
|
564
|
+
// of the attribute:
|
565
|
+
switch (rsmAttribute->eType)
|
566
|
+
{
|
567
|
+
case ATTRIB_BYTE:
|
568
|
+
// A number of attributes are stored as bytes. Interpret these bytes
|
569
|
+
// to mean something useful to the application
|
570
|
+
switch (rsmAttribute->eNumber)
|
571
|
+
{
|
572
|
+
case ATTR_SCANLINE_WIDTH:
|
573
|
+
// 0 : Wide
|
574
|
+
// 1 : Narrow
|
575
|
+
if (rsmAttribute->Value.ByteVal == 0)
|
576
|
+
wsprintf(tcParameterValue, L"wide");
|
577
|
+
else if (rsmAttribute->Value.ByteVal == 2)
|
578
|
+
wsprintf(tcParameterValue, L"narrow");
|
579
|
+
break;
|
580
|
+
case ATTR_HID_AUTO_RECON:
|
581
|
+
// 0 : Never Reconnect
|
582
|
+
// 1 : Reconnect On Data
|
583
|
+
// 2 : Reconnect Immediately
|
584
|
+
if (rsmAttribute->Value.ByteVal == 0)
|
585
|
+
wsprintf(tcParameterValue, L"neverReconnect");
|
586
|
+
else if (rsmAttribute->Value.ByteVal == 1)
|
587
|
+
wsprintf(tcParameterValue, L"reconnectOnData");
|
588
|
+
else if (rsmAttribute->Value.ByteVal == 2)
|
589
|
+
wsprintf(tcParameterValue, L"reconnectImmediately");
|
590
|
+
break;
|
591
|
+
case ATTR_PROXIMITY_DISTANCE:
|
592
|
+
// 0 : Short
|
593
|
+
// 1 : Medium
|
594
|
+
// 2 : Long
|
595
|
+
if (rsmAttribute->Value.ByteVal == 0)
|
596
|
+
wsprintf(tcParameterValue, L"short");
|
597
|
+
else if (rsmAttribute->Value.ByteVal == 1)
|
598
|
+
wsprintf(tcParameterValue, L"medium");
|
599
|
+
else if (rsmAttribute->Value.ByteVal == 2)
|
600
|
+
wsprintf(tcParameterValue, L"long");
|
601
|
+
break;
|
602
|
+
case ATTR_PAGING_BEEP_SEQ:
|
603
|
+
// 0 to 15 : String representation of number
|
604
|
+
wsprintf(tcParameterValue, L"%u", rsmAttribute->Value.ByteVal);
|
605
|
+
break;
|
606
|
+
case ATTR_BLUETOOTH_AUTO_RECON:
|
607
|
+
// 0 : None
|
608
|
+
// 1 : On Power
|
609
|
+
// 2 : On Out Of Range
|
610
|
+
// 3 : On Power Out Of Range
|
611
|
+
if (rsmAttribute->Value.ByteVal == 0)
|
612
|
+
wsprintf(tcParameterValue, L"none");
|
613
|
+
else if (rsmAttribute->Value.ByteVal == 1)
|
614
|
+
wsprintf(tcParameterValue, L"onPower");
|
615
|
+
else if (rsmAttribute->Value.ByteVal == 2)
|
616
|
+
wsprintf(tcParameterValue, L"onOutOfRange");
|
617
|
+
else if (rsmAttribute->Value.ByteVal == 3)
|
618
|
+
wsprintf(tcParameterValue, L"onPowerOutOfRange");
|
619
|
+
break;
|
620
|
+
case ATTR_LOW_BATTERY_IND_CYCLE:
|
621
|
+
// 0 : 15 seconds
|
622
|
+
// 1 : 30 seconds
|
623
|
+
// 2 : 60 seconds
|
624
|
+
// 3 : 90 seconds
|
625
|
+
// 4 : 120 seconds
|
626
|
+
if (rsmAttribute->Value.ByteVal == 0)
|
627
|
+
wsprintf(tcParameterValue, L"15");
|
628
|
+
else if (rsmAttribute->Value.ByteVal == 1)
|
629
|
+
wsprintf(tcParameterValue, L"30");
|
630
|
+
else if (rsmAttribute->Value.ByteVal == 2)
|
631
|
+
wsprintf(tcParameterValue, L"60");
|
632
|
+
else if (rsmAttribute->Value.ByteVal == 3)
|
633
|
+
wsprintf(tcParameterValue, L"90");
|
634
|
+
else if (rsmAttribute->Value.ByteVal == 4)
|
635
|
+
wsprintf(tcParameterValue, L"120");
|
636
|
+
break;
|
637
|
+
case ATTR_GOOD_SCANS_DELAY:
|
638
|
+
// 0 to 150 : String representation of number, multiply by 100 to
|
639
|
+
// get the value in milliseconds.
|
640
|
+
wsprintf(tcParameterValue, L"%u", rsmAttribute->Value.ByteVal * 100);
|
641
|
+
break;
|
642
|
+
case ATTR_BATTERY_STATUS:
|
643
|
+
// 0 : Unknown
|
644
|
+
// 1 : Full
|
645
|
+
// 2 : Medium
|
646
|
+
// 3 : Empty
|
647
|
+
// 4 : Charging - Full Rate
|
648
|
+
// 5 : Charging - Half Rate
|
649
|
+
// 6 : Charging - Trickle
|
650
|
+
// 7 : Discharging
|
651
|
+
if (rsmAttribute->Value.ByteVal == 0)
|
652
|
+
wsprintf(tcParameterValue, L"unknown");
|
653
|
+
else if (rsmAttribute->Value.ByteVal == 1)
|
654
|
+
wsprintf(tcParameterValue, L"full");
|
655
|
+
else if (rsmAttribute->Value.ByteVal == 2)
|
656
|
+
wsprintf(tcParameterValue, L"medium");
|
657
|
+
else if (rsmAttribute->Value.ByteVal == 3)
|
658
|
+
wsprintf(tcParameterValue, L"empty");
|
659
|
+
else if (rsmAttribute->Value.ByteVal == 4)
|
660
|
+
wsprintf(tcParameterValue, L"chargingFullRate");
|
661
|
+
else if (rsmAttribute->Value.ByteVal == 5)
|
662
|
+
wsprintf(tcParameterValue, L"chargingHalfRate");
|
663
|
+
else if (rsmAttribute->Value.ByteVal == 6)
|
664
|
+
wsprintf(tcParameterValue, L"chargingTrickle");
|
665
|
+
else if (rsmAttribute->Value.ByteVal == 7)
|
666
|
+
wsprintf(tcParameterValue, L"discharging");
|
667
|
+
break;
|
668
|
+
case ATTR_BATTERY_ID:
|
669
|
+
// 0 : Simple
|
670
|
+
// 1 : Double
|
671
|
+
// 2 : Cabled
|
672
|
+
// 9999 : Unknown
|
673
|
+
if (rsmAttribute->Value.ByteVal == 0)
|
674
|
+
wsprintf(tcParameterValue, L"simple");
|
675
|
+
else if (rsmAttribute->Value.ByteVal == 1)
|
676
|
+
wsprintf(tcParameterValue, L"double");
|
677
|
+
else if (rsmAttribute->Value.ByteVal == 2)
|
678
|
+
wsprintf(tcParameterValue, L"cabled");
|
679
|
+
else
|
680
|
+
wsprintf(tcParameterValue, L"unknown");
|
681
|
+
break;
|
682
|
+
default:
|
683
|
+
// Unrecognised attribute with a value of type BYTE
|
684
|
+
LOG(WARNING) + L"Unrecognised attribute of type BYTE";
|
685
|
+
}
|
686
|
+
break;
|
687
|
+
case ATTRIB_FLAG:
|
688
|
+
// A number of attributes are stored as flags. Interpret these flags
|
689
|
+
// to mean something useful to the application
|
690
|
+
switch (rsmAttribute->eNumber)
|
691
|
+
{
|
692
|
+
case ATTR_BT_AUTHENTICATION:
|
693
|
+
case ATTR_BT_ENCRYPTION:
|
694
|
+
case ATTR_BEEP_ON_RECON_ATTEMPT:
|
695
|
+
case ATTR_MEMS_ENABLE:
|
696
|
+
case ATTR_PROXIMITY_ENABLE:
|
697
|
+
case ATTR_PAGING_ENABLE:
|
698
|
+
case ATTR_LOW_BATTERY_IND_EN:
|
699
|
+
case ATTR_SCAN_TRIG_WAKEUP_EN:
|
700
|
+
case ATTR_EXCLUSIVE_CODE128_EN:
|
701
|
+
case ATTR_PROXIMITY_CONTINUOUS_EN:
|
702
|
+
case ATTR_FORCE_PAIRING_SAVE:
|
703
|
+
// These attributes are either 'True' or 'False'
|
704
|
+
if (rsmAttribute->Value.FlagVal)
|
705
|
+
{
|
706
|
+
wsprintf(tcParameterValue, L"true");
|
707
|
+
}
|
708
|
+
else
|
709
|
+
{
|
710
|
+
wsprintf(tcParameterValue, L"false");
|
711
|
+
}
|
712
|
+
break;
|
713
|
+
case ATTR_PIN_CODE_TYPE:
|
714
|
+
// This attribute is either 'PromptUser' or 'UseStored'
|
715
|
+
if (rsmAttribute->Value.FlagVal)
|
716
|
+
{
|
717
|
+
wsprintf(tcParameterValue, L"useStored");
|
718
|
+
}
|
719
|
+
else
|
720
|
+
{
|
721
|
+
wsprintf(tcParameterValue, L"promptUser");
|
722
|
+
}
|
723
|
+
break;
|
724
|
+
case ATTR_BT_INQUIRY_MODE:
|
725
|
+
// This attribute is either 'General' or 'Limited'
|
726
|
+
if (rsmAttribute->Value.FlagVal)
|
727
|
+
{
|
728
|
+
wsprintf(tcParameterValue, L"limited");
|
729
|
+
}
|
730
|
+
else
|
731
|
+
{
|
732
|
+
wsprintf(tcParameterValue, L"general");
|
733
|
+
}
|
734
|
+
break;
|
735
|
+
case ATTR_DISABLE_GOOD_DECODE_LED_BEEP:
|
736
|
+
// These attributes are either 'Enabled' or 'Disabled'
|
737
|
+
if (!rsmAttribute->Value.FlagVal)
|
738
|
+
{
|
739
|
+
wsprintf(tcParameterValue, L"true");
|
740
|
+
}
|
741
|
+
else
|
742
|
+
{
|
743
|
+
wsprintf(tcParameterValue, L"false");
|
744
|
+
}
|
745
|
+
break;
|
746
|
+
default:
|
747
|
+
LOG(WARNING) + L"Unrecognised attribute of type FLAGS";
|
748
|
+
}
|
749
|
+
break;
|
750
|
+
case ATTRIB_USHORT:
|
751
|
+
// A number of attributes are stored as ushorts. Interpret these numbers
|
752
|
+
// to mean something useful to the application
|
753
|
+
if (rsmAttribute->eNumber == ATTR_RECONNECT_ATTEMPTS ||
|
754
|
+
rsmAttribute->eNumber == ATTR_BATTERY_CAPACITY)
|
755
|
+
{
|
756
|
+
if (rsmAttribute->eNumber == ATTR_BATTERY_CAPACITY)
|
757
|
+
{
|
758
|
+
if (rsmAttribute->Value.UShortVal <= 100)
|
759
|
+
{
|
760
|
+
// The attribute is battery capacity and between 0 and 100,
|
761
|
+
// copy the numeric value.
|
762
|
+
wsprintf(tcParameterValue, L"%u", rsmAttribute->Value.UShortVal);
|
763
|
+
}
|
764
|
+
else
|
765
|
+
{
|
766
|
+
// ATTR_BATTERY_CAPICITY not between 0 and 100.
|
767
|
+
wsprintf(tcParameterValue, L"unknown");
|
768
|
+
}
|
769
|
+
}
|
770
|
+
else
|
771
|
+
{
|
772
|
+
// Parameter is ATTR_RECONNECT_ATTEMPTS, return
|
773
|
+
// value is 5 x greater than value stored in UShortVal
|
774
|
+
wsprintf(tcParameterValue, L"%u", rsmAttribute->Value.UShortVal * 5);
|
775
|
+
}
|
776
|
+
}
|
777
|
+
else
|
778
|
+
{
|
779
|
+
// Unrecognised attribute with a value of type ushort
|
780
|
+
LOG(WARNING) + L"Unrecognised attribute of type USHORT";
|
781
|
+
}
|
782
|
+
break;
|
783
|
+
case ATTRIB_ARRAY:
|
784
|
+
// Only expect the Bluetooth address to be received in the form of
|
785
|
+
// an array
|
786
|
+
if (rsmAttribute->eNumber == ATTR_BT_ADDR &&
|
787
|
+
rsmAttribute->Value.ArrayVal.wArrayLength > 0)
|
788
|
+
{
|
789
|
+
// The Bluetooth Address array is of length 6 with each index
|
790
|
+
// providing 16 bits of address, these are formatted into a string
|
791
|
+
// in the form FF:FF:FF:FF:FF:FF. Though the code below will cope
|
792
|
+
// with arrays of any reasonable length.
|
793
|
+
TCHAR temp[MAXURL];
|
794
|
+
wsprintf(temp, L"%.2X", rsmAttribute->Value.ArrayVal.pArrayVal[0]);
|
795
|
+
wcscpy(tcParameterValue, temp);
|
796
|
+
int paramCopy;
|
797
|
+
for(paramCopy = 1; paramCopy < rsmAttribute->Value.ArrayVal.wArrayLength; paramCopy++)
|
798
|
+
{
|
799
|
+
wsprintf(temp, L":%.2X", rsmAttribute->Value.ArrayVal.pArrayVal[paramCopy]);
|
800
|
+
wcscat(tcParameterValue, temp);
|
801
|
+
}
|
802
|
+
}
|
803
|
+
else
|
804
|
+
{
|
805
|
+
LOG(WARNING) + L"Unrecognised Array attribute";
|
806
|
+
}
|
807
|
+
break;
|
808
|
+
case ATTRIB_STRING:
|
809
|
+
// Copy the string representing the value if it is not too large
|
810
|
+
// RS507 adds trailing spaces to the value we specified, remove
|
811
|
+
// these before returning to user
|
812
|
+
iLength = rsmAttribute->Value.StringVal.wStrLength - 1;
|
813
|
+
for (int i = rsmAttribute->Value.StringVal.wStrLength - 2; i>0; i--)
|
814
|
+
{
|
815
|
+
if (rsmAttribute->Value.StringVal.pszVal[i] != ' ')
|
816
|
+
break;
|
817
|
+
else
|
818
|
+
iLength--;
|
819
|
+
}
|
820
|
+
if (rsmAttribute->Value.StringVal.wStrLength < MAX_URL)
|
821
|
+
{
|
822
|
+
wcsncpy(tcParameterValue, rsmAttribute->Value.StringVal.pszVal, iLength);
|
823
|
+
tcParameterValue[iLength] = '\0';
|
824
|
+
}
|
825
|
+
break;
|
826
|
+
default:
|
827
|
+
// Do not expect any of the attributes to be of other types
|
828
|
+
// Log error
|
829
|
+
LOG(WARNING) + L"Unable to perform RSM navigate, Unrecognised attribuite format";
|
830
|
+
break;
|
831
|
+
}
|
832
|
+
|
833
|
+
// Check the value was copied OK
|
834
|
+
if (tcParameterValue[0] != NULL)
|
835
|
+
{
|
836
|
+
// Value was successfully copied, navigate.
|
837
|
+
iRetVal = wcslen(tcParameterValue) + 1;
|
838
|
+
if (szRSMValue)
|
839
|
+
if (wcscpy_s(szRSMValue, iRetVal, tcParameterValue) == EINVAL)
|
840
|
+
iRetVal = -1;
|
841
|
+
}
|
842
|
+
return iRetVal;
|
843
|
+
}
|
844
|
+
|
845
|
+
BOOL CScanner::SetRSMValue(ATTRIB_NUMBER rsmAttributeID, LPCTSTR szValue)
|
846
|
+
{
|
847
|
+
BOOL bReturnValue = TRUE;
|
848
|
+
RSM_ATTRIB rsmAttribute;
|
849
|
+
memset(&rsmAttribute, 0, sizeof(RSM_ATTRIB));
|
850
|
+
SI_INIT(&rsmAttribute);
|
851
|
+
BOOL bSupportedAttribute = FALSE;
|
852
|
+
|
853
|
+
// Prevent the crash if the m_rsmSupportedAttributes is null
|
854
|
+
// usually cleared as a part of close scanner, whne the app looses focus
|
855
|
+
// and subsequently when a property is attempted to be set
|
856
|
+
if (NULL == m_rsmSupportedAttributes)
|
857
|
+
{
|
858
|
+
LOG(ERROR) + L"RSM Attribute table is empty!!!. The scanner could have been closed";
|
859
|
+
}
|
860
|
+
else
|
861
|
+
{
|
862
|
+
// Check the Scanner supports the selected Attribute
|
863
|
+
for (int i = 0; i < m_iCountOfSupportedRSMAttributes; i++)
|
864
|
+
{
|
865
|
+
if (m_rsmSupportedAttributes[i] == rsmAttributeID)
|
866
|
+
{
|
867
|
+
bSupportedAttribute = TRUE;
|
868
|
+
break;
|
869
|
+
}
|
870
|
+
}
|
871
|
+
}
|
872
|
+
|
873
|
+
if (!bSupportedAttribute)
|
874
|
+
{
|
875
|
+
// The attribute is not supported
|
876
|
+
LOG(WARNING) + L"Unable to set RSM Attribute, it is not a supported attribute";
|
877
|
+
bReturnValue = FALSE;
|
878
|
+
}
|
879
|
+
else
|
880
|
+
{
|
881
|
+
// Get the current value of the Attribute, for Write Only attributes this is not
|
882
|
+
// possible to we populate those separately.
|
883
|
+
DWORD dwResult = E_SCN_SUCCESS;
|
884
|
+
if (rsmAttributeID == ATTR_PAGING_ACTIVATE ||
|
885
|
+
rsmAttributeID == ATTR_BT_DISCONNECT ||
|
886
|
+
rsmAttributeID == ATTR_BT_UNPAIR)
|
887
|
+
{
|
888
|
+
// WRITE ONLY attributes
|
889
|
+
rsmAttribute.eType = ATTRIB_ACTION;
|
890
|
+
rsmAttribute.eNumber = rsmAttributeID;
|
891
|
+
rsmAttribute.Property = ATTRIB_PROPERTY_WRITABLE;
|
892
|
+
}
|
893
|
+
else if (rsmAttributeID == ATTR_BT_PINCODE ||
|
894
|
+
rsmAttributeID == ATTR_BT_FRIENDLY_NAME)
|
895
|
+
{
|
896
|
+
// READ / WRITE String attributes. We don't retrieve these
|
897
|
+
// to avoid having to allocate a buffer to store the
|
898
|
+
// retrieved data
|
899
|
+
rsmAttribute.eType = ATTRIB_STRING;
|
900
|
+
rsmAttribute.eNumber = rsmAttributeID;
|
901
|
+
rsmAttribute.Property = ATTRIB_PROPERTY_WRITABLE & ATTRIB_PROPERTY_READABLE;
|
902
|
+
}
|
903
|
+
else
|
904
|
+
{
|
905
|
+
// Attribute is readable, retrieve the current value
|
906
|
+
// Note: If Read / Write Array attributes are ever introduced (currently
|
907
|
+
// only array attribute, is the BT Address and that's read only) an
|
908
|
+
// exception will have to be made similar to the exception made for
|
909
|
+
// strings above, because we don't allocate the buffer here.
|
910
|
+
SI_SET_FIELD(&rsmAttribute, eType, ATTRIB_UNTYPED);
|
911
|
+
SI_SET_FIELD(&rsmAttribute, eNumber, rsmAttributeID);
|
912
|
+
dwResult = lpfn_SCAN_RSMGetAttribute(m_hScanner,
|
913
|
+
VALUE_TYPE_CURRENT,
|
914
|
+
&rsmAttribute);
|
915
|
+
}
|
916
|
+
if (dwResult != E_SCN_SUCCESS)
|
917
|
+
{
|
918
|
+
// Unsuccessful at retrieving the current value
|
919
|
+
WCHAR szLogMessage[1024];
|
920
|
+
wsprintf(szLogMessage,
|
921
|
+
L"Unable to set RSM Attribute, error retrieving current value. Error Code: %i", dwResult);
|
922
|
+
LOG(WARNING) + szLogMessage;
|
923
|
+
bReturnValue = FALSE;
|
924
|
+
}
|
925
|
+
else
|
926
|
+
{
|
927
|
+
switch (rsmAttributeID)
|
928
|
+
{
|
929
|
+
// Byte Values
|
930
|
+
case ATTR_SCANLINE_WIDTH:
|
931
|
+
if (cmp(szValue, L"Wide"))
|
932
|
+
rsmAttribute.Value.ByteVal = 0;
|
933
|
+
else if (cmp(szValue, L"Narrow"))
|
934
|
+
rsmAttribute.Value.ByteVal = 2;
|
935
|
+
else
|
936
|
+
bReturnValue = FALSE;
|
937
|
+
break;
|
938
|
+
case ATTR_HID_AUTO_RECON:
|
939
|
+
if (cmp(szValue, L"NeverReconnect"))
|
940
|
+
rsmAttribute.Value.ByteVal = 0;
|
941
|
+
else if (cmp(szValue, L"ReconnectOnData"))
|
942
|
+
rsmAttribute.Value.ByteVal = 1;
|
943
|
+
else if (cmp(szValue, L"ReconnectImmediately"))
|
944
|
+
rsmAttribute.Value.ByteVal = 2;
|
945
|
+
else
|
946
|
+
bReturnValue = FALSE;
|
947
|
+
break;
|
948
|
+
case ATTR_PROXIMITY_DISTANCE:
|
949
|
+
if (cmp(szValue ,L"Short"))
|
950
|
+
rsmAttribute.Value.ByteVal = 0;
|
951
|
+
else if (cmp(szValue ,L"Medium"))
|
952
|
+
rsmAttribute.Value.ByteVal = 1;
|
953
|
+
else if (cmp(szValue , L"Long"))
|
954
|
+
rsmAttribute.Value.ByteVal = 2;
|
955
|
+
else
|
956
|
+
bReturnValue = FALSE;
|
957
|
+
break;
|
958
|
+
case ATTR_BLUETOOTH_AUTO_RECON:
|
959
|
+
if (cmp(szValue , L"OnPowerOutOfRange"))
|
960
|
+
rsmAttribute.Value.ByteVal = 3;
|
961
|
+
else if (cmp(szValue , L"None"))
|
962
|
+
rsmAttribute.Value.ByteVal = 0;
|
963
|
+
else if (cmp(szValue , L"OnPower"))
|
964
|
+
rsmAttribute.Value.ByteVal = 1;
|
965
|
+
else if (cmp(szValue , L"OnOutOfRange"))
|
966
|
+
rsmAttribute.Value.ByteVal = 2;
|
967
|
+
else
|
968
|
+
bReturnValue = FALSE;
|
969
|
+
break;
|
970
|
+
// Flag Values with parameters other than True / False
|
971
|
+
case ATTR_PIN_CODE_TYPE:
|
972
|
+
// Flag: Either 'PromptUser' (0) or 'UseStored' (1)
|
973
|
+
if (cmp(szValue ,L"PromptUser"))
|
974
|
+
rsmAttribute.Value.FlagVal = 0;
|
975
|
+
else if (cmp(szValue ,L"UseStored"))
|
976
|
+
rsmAttribute.Value.FlagVal = 1;
|
977
|
+
else
|
978
|
+
bReturnValue = FALSE;
|
979
|
+
break;
|
980
|
+
case ATTR_BT_INQUIRY_MODE:
|
981
|
+
if (cmp(szValue ,L"General"))
|
982
|
+
rsmAttribute.Value.FlagVal = 0;
|
983
|
+
else if (cmp(szValue ,L"Limited"))
|
984
|
+
rsmAttribute.Value.FlagVal = 1;
|
985
|
+
else
|
986
|
+
bReturnValue = FALSE;
|
987
|
+
break;
|
988
|
+
// Flag Values (Enabled / Disabled)
|
989
|
+
case ATTR_EXCLUSIVE_CODE128_EN:
|
990
|
+
case ATTR_MEMS_ENABLE:
|
991
|
+
case ATTR_PROXIMITY_ENABLE:
|
992
|
+
case ATTR_PAGING_ENABLE:
|
993
|
+
case ATTR_LOW_BATTERY_IND_EN:
|
994
|
+
case ATTR_SCAN_TRIG_WAKEUP_EN:
|
995
|
+
case ATTR_PROXIMITY_CONTINUOUS_EN:
|
996
|
+
case ATTR_FORCE_PAIRING_SAVE:
|
997
|
+
case ATTR_BT_AUTHENTICATION:
|
998
|
+
case ATTR_BT_ENCRYPTION:
|
999
|
+
case ATTR_BEEP_ON_RECON_ATTEMPT:
|
1000
|
+
if (EnabledValue(szValue))
|
1001
|
+
rsmAttribute.Value.FlagVal = 1;
|
1002
|
+
else if (DisabledValue(szValue))
|
1003
|
+
rsmAttribute.Value.FlagVal = 0;
|
1004
|
+
else
|
1005
|
+
bReturnValue = FALSE;
|
1006
|
+
break;
|
1007
|
+
// String Values
|
1008
|
+
case ATTR_BT_PINCODE:
|
1009
|
+
case ATTR_BT_FRIENDLY_NAME:
|
1010
|
+
{
|
1011
|
+
int iLen = wcslen(szValue) + 1;
|
1012
|
+
rsmAttribute.Value.StringVal.wStrLength = iLen;
|
1013
|
+
rsmAttribute.Value.StringVal.pszVal = new TCHAR[iLen];
|
1014
|
+
wcscpy(rsmAttribute.Value.StringVal.pszVal, szValue);
|
1015
|
+
}
|
1016
|
+
break;
|
1017
|
+
case ATTR_DISABLE_GOOD_DECODE_LED_BEEP:
|
1018
|
+
// ATTR_DISABLE_GOOD_DECODE_LED_BEEP
|
1019
|
+
// Flags : Enable / Disable (other way round to the other RSM flags, to make it easier
|
1020
|
+
// to understand on our interface)
|
1021
|
+
if (EnabledValue(szValue))
|
1022
|
+
rsmAttribute.Value.FlagVal = 0;
|
1023
|
+
else if (DisabledValue(szValue))
|
1024
|
+
rsmAttribute.Value.FlagVal = 1;
|
1025
|
+
else
|
1026
|
+
bReturnValue = FALSE;
|
1027
|
+
break;
|
1028
|
+
// Numberic Parameters
|
1029
|
+
case ATTR_RECONNECT_ATTEMPTS:
|
1030
|
+
{
|
1031
|
+
int iRequestedValue = _wtoi(szValue);
|
1032
|
+
// Value associated with ATTR_RECONNECT_ATTEMPTS must be
|
1033
|
+
// divisible by 5 as the value given to the EMDK API is in
|
1034
|
+
// multiples of 5 seconds
|
1035
|
+
if (iRequestedValue % 5 == 0 && iRequestedValue >= MINIMUM_RSM_BT_RECONNECT_ATTEMPTS
|
1036
|
+
&& iRequestedValue <= MAXIMUM_RSM_BT_RECONNECT_ATTEMPTS)
|
1037
|
+
rsmAttribute.Value.ShortVal = iRequestedValue / 5;
|
1038
|
+
else
|
1039
|
+
bReturnValue = FALSE;
|
1040
|
+
}
|
1041
|
+
break;
|
1042
|
+
case ATTR_PAGING_BEEP_SEQ:
|
1043
|
+
{
|
1044
|
+
uint iValue = _wtoi(szValue);
|
1045
|
+
if (iValue <= MAXIMUM_RSM_PAGING_BEEP_SEQ)
|
1046
|
+
rsmAttribute.Value.ByteVal = (BYTE)iValue;
|
1047
|
+
else
|
1048
|
+
bReturnValue = FALSE;
|
1049
|
+
}
|
1050
|
+
break;
|
1051
|
+
case ATTR_LOW_BATTERY_IND_CYCLE:
|
1052
|
+
{
|
1053
|
+
// 0-10 secs, 2-20secs, 3-30, 4-40 secs, 5-50 secs
|
1054
|
+
uint iValue = _wtoi(szValue);
|
1055
|
+
// Check the user defined value is in range
|
1056
|
+
if (iValue == 15)
|
1057
|
+
rsmAttribute.Value.ByteVal = (BYTE)0;
|
1058
|
+
else if (iValue == 30)
|
1059
|
+
rsmAttribute.Value.ByteVal = (BYTE)1;
|
1060
|
+
else if (iValue == 60)
|
1061
|
+
rsmAttribute.Value.ByteVal = (BYTE)2;
|
1062
|
+
else if (iValue == 90)
|
1063
|
+
rsmAttribute.Value.ByteVal = (BYTE)3;
|
1064
|
+
else if (iValue == 120)
|
1065
|
+
rsmAttribute.Value.ByteVal = (BYTE)4;
|
1066
|
+
else
|
1067
|
+
bReturnValue = FALSE;
|
1068
|
+
}
|
1069
|
+
break;
|
1070
|
+
case ATTR_GOOD_SCANS_DELAY:
|
1071
|
+
{
|
1072
|
+
// Byte (Range 0 - 150)
|
1073
|
+
int iScanDelay = _wtoi(szValue);
|
1074
|
+
// Value associated with ATTR_GOOD_SCANS_DELAY must be
|
1075
|
+
// divisible by 100 as the value given to the EMDK API is in
|
1076
|
+
// multiples of 100 seconds
|
1077
|
+
if (iScanDelay % 100 == 0 &&
|
1078
|
+
iScanDelay >= MINIMUM_RSM_GOOD_SCANS_DELAY &&
|
1079
|
+
iScanDelay <= MAXIMUM_RSM_GOOD_SCANS_DELAY)
|
1080
|
+
rsmAttribute.Value.ByteVal = iScanDelay / 100;
|
1081
|
+
else
|
1082
|
+
bReturnValue = FALSE;
|
1083
|
+
}
|
1084
|
+
break;
|
1085
|
+
// Action Values
|
1086
|
+
case ATTR_PAGING_ACTIVATE:
|
1087
|
+
if (cmp(szValue, L"Stop"))
|
1088
|
+
rsmAttribute.Value.ActionVal = 0;
|
1089
|
+
else if (cmp(szValue, L"Start"))
|
1090
|
+
rsmAttribute.Value.ActionVal = 1;
|
1091
|
+
else
|
1092
|
+
bReturnValue = FALSE;
|
1093
|
+
break;
|
1094
|
+
case ATTR_BT_DISCONNECT:
|
1095
|
+
case ATTR_BT_UNPAIR:
|
1096
|
+
rsmAttribute.Value.ActionVal = 0;
|
1097
|
+
break;
|
1098
|
+
}
|
1099
|
+
|
1100
|
+
// If there have been no problems set the new attribute
|
1101
|
+
if (bReturnValue)
|
1102
|
+
{
|
1103
|
+
DWORD dwResult = lpfn_SCAN_RSMSetAttribute(m_hScanner, &rsmAttribute);
|
1104
|
+
|
1105
|
+
// Delete the memory allocated to the attribute string or array if
|
1106
|
+
// appropriate.
|
1107
|
+
if (rsmAttribute.eType == ATTRIB_STRING)
|
1108
|
+
delete[] rsmAttribute.Value.StringVal.pszVal;
|
1109
|
+
else if (rsmAttribute.eType == ATTRIB_ARRAY)
|
1110
|
+
delete[] rsmAttribute.Value.ArrayVal.pArrayVal;
|
1111
|
+
|
1112
|
+
if (dwResult != E_SCN_SUCCESS)
|
1113
|
+
{
|
1114
|
+
bReturnValue = FALSE;
|
1115
|
+
LOG(WARNING) + L"Unable to set RSM value, error occured whilst setting attribute";
|
1116
|
+
}
|
1117
|
+
}
|
1118
|
+
else
|
1119
|
+
{
|
1120
|
+
WCHAR szLogMsg[1024];
|
1121
|
+
wsprintf(szLogMsg, L"Unable to set RSM value, specified value (%s) is not appropriate to RSM parameter", szValue);
|
1122
|
+
LOG(WARNING) + szLogMsg;
|
1123
|
+
}
|
1124
|
+
|
1125
|
+
}
|
1126
|
+
|
1127
|
+
}
|
1128
|
+
return bReturnValue;
|
1129
|
+
}
|
1130
|
+
|
1131
|
+
#pragma endregion
|
1132
|
+
|
1133
|
+
/*
|
1134
|
+
DWORD CScanner::ProcessRSMGetQueue(LPVOID lParam)
|
1135
|
+
{
|
1136
|
+
CScanner* pScanner = (CScanner*)lParam;
|
1137
|
+
// Variable to hold the read attribute
|
1138
|
+
ATTRIB_NUMBER theAttribute;
|
1139
|
+
DWORD dwRead;
|
1140
|
+
DWORD dwFlags;
|
1141
|
+
BOOL bRet;
|
1142
|
+
WCHAR szAttributeValuesAsJSArray[MAX_URL];
|
1143
|
+
|
1144
|
+
// Process the queue until the m_hExitThreadEvent is set
|
1145
|
+
while (true)
|
1146
|
+
{
|
1147
|
+
bRet = ReadMsgQueue(pScanner->m_hRSMMsgQRead, &theAttribute,
|
1148
|
+
sizeof(ATTRIB_NUMBER), &dwRead, INFINITE, &dwFlags);
|
1149
|
+
if (!bRet || theAttribute == ATTR_END)
|
1150
|
+
break;
|
1151
|
+
else if (bRet)
|
1152
|
+
{
|
1153
|
+
// Successfully read an attribute from the queue, this attribute
|
1154
|
+
// will either indicate an attribute to be added to the array
|
1155
|
+
// of values to return, or indicate that a navigation should be
|
1156
|
+
// performed
|
1157
|
+
if (theAttribute == ATTR_MAX)
|
1158
|
+
{
|
1159
|
+
// User has indicated they wish to receive a navigation of
|
1160
|
+
// values retrieved by RSMGetParam
|
1161
|
+
// Calculate the String to Return, in the form newArray(att1, att2)
|
1162
|
+
memset(szAttributeValuesAsJSArray, 0, MAX_URL * sizeof(WCHAR));
|
1163
|
+
wcscpy(szAttributeValuesAsJSArray, L"new Array(");
|
1164
|
+
for(int i = 0; i < pScanner->m_iCountOfMarkedRSMAttributes; i++)
|
1165
|
+
{
|
1166
|
+
if (i > 0)
|
1167
|
+
wcscat(szAttributeValuesAsJSArray, L",");
|
1168
|
+
wcscat(szAttributeValuesAsJSArray, L"'");
|
1169
|
+
// The m_szRSMValuesToReturn array is populated with the values to return to the user.
|
1170
|
+
// Memory is deallocated here once read.
|
1171
|
+
if (pScanner->m_szRSMValuesToReturn[i])
|
1172
|
+
{
|
1173
|
+
wcscat(szAttributeValuesAsJSArray, pScanner->m_szRSMValuesToReturn[i]);
|
1174
|
+
delete[] pScanner->m_szRSMValuesToReturn[i];
|
1175
|
+
pScanner->m_szRSMValuesToReturn[i] = NULL;
|
1176
|
+
}
|
1177
|
+
wcscat(szAttributeValuesAsJSArray, L"'");
|
1178
|
+
}
|
1179
|
+
wcscat(szAttributeValuesAsJSArray, L")");
|
1180
|
+
pScanner->m_iCountOfMarkedRSMAttributes = 0;
|
1181
|
+
|
1182
|
+
if(pScanner->m_pRSMEvent)
|
1183
|
+
{
|
1184
|
+
// DCC TODO Logic of RSM Event here
|
1185
|
+
// pScanner->m_pModule->SendPBNavigate(szRSMGetEventNames,
|
1186
|
+
// pScanner->m_iInstanceID, pScanner->m_szEventRSMGetEvent,
|
1187
|
+
// szAttributeValuesAsJSArray, NULL);
|
1188
|
+
}
|
1189
|
+
}
|
1190
|
+
else
|
1191
|
+
{
|
1192
|
+
// Add the value to the list of values to return
|
1193
|
+
RSM_ATTRIB rsmAttribute;
|
1194
|
+
memset(&rsmAttribute, 0, sizeof(RSM_ATTRIB));
|
1195
|
+
SI_INIT(&rsmAttribute);
|
1196
|
+
LPRSM_ATTRIB pRSMAttribute = &rsmAttribute;
|
1197
|
+
SI_SET_FIELD(pRSMAttribute, eNumber, theAttribute);
|
1198
|
+
pScanner->m_szRSMValuesToReturn[pScanner->m_iCountOfMarkedRSMAttributes] =
|
1199
|
+
new TCHAR[MAX_RSM_STRING_LENGTH];
|
1200
|
+
pScanner->RetrieveRSMAttributeValue(pRSMAttribute,
|
1201
|
+
pScanner->m_szRSMValuesToReturn[pScanner->m_iCountOfMarkedRSMAttributes]);
|
1202
|
+
pScanner->m_iCountOfMarkedRSMAttributes++;
|
1203
|
+
}
|
1204
|
+
}
|
1205
|
+
|
1206
|
+
}
|
1207
|
+
return 0;
|
1208
|
+
}
|
1209
|
+
*/
|
1210
|
+
|
1211
|
+
|