mobox 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +89 -0
- data/Rakefile +2 -0
- data/bin/mobox +275 -0
- data/lib/mobox.rb +34 -0
- data/lib/mobox/config.rb +36 -0
- data/lib/mobox/helpers.rb +9 -0
- data/lib/mobox/render_scope.rb +9 -0
- data/lib/mobox/server.rb +91 -0
- data/lib/mobox/version.rb +3 -0
- data/mobox.gemspec +31 -0
- data/template/.mobox +2 -0
- data/template/Gemfile +3 -0
- data/template/config.ru +76 -0
- data/template/src/assets/images/mobox-logo-inkscape.svg +177 -0
- data/template/src/assets/images/mobox-logo.pdf +0 -0
- data/template/src/assets/images/mobox-logo.png +0 -0
- data/template/src/assets/images/mobox-logo.svg +120 -0
- data/template/src/assets/javascripts/app/config.js.coffee.erb +2 -0
- data/template/src/assets/javascripts/app/controllers/.gitignore +0 -0
- data/template/src/assets/javascripts/app/controllers/home.js.coffee +10 -0
- data/template/src/assets/javascripts/app/helpers/.gitignore +0 -0
- data/template/src/assets/javascripts/app/index.js.coffee +7 -0
- data/template/src/assets/javascripts/app/lib/.gitignore +0 -0
- data/template/src/assets/javascripts/app/lib/app.js.coffee +6 -0
- data/template/src/assets/javascripts/app/lib/config.js.coffee +3 -0
- data/template/src/assets/javascripts/app/lib/view.js.coffee +18 -0
- data/template/src/assets/javascripts/app/models/.gitignore +0 -0
- data/template/src/assets/javascripts/app/views/.gitignore +0 -0
- data/template/src/assets/javascripts/app/views/home/index.jst.hamljs +8 -0
- data/template/src/assets/javascripts/application.js.coffee +25 -0
- data/template/src/assets/javascripts/vendor/1140gs/css3-mediaqueries.js +779 -0
- data/template/src/assets/javascripts/vendor/cordova-2.0.0.js +5240 -0
- data/template/src/assets/javascripts/vendor/gfx/gfx.cube.js +161 -0
- data/template/src/assets/javascripts/vendor/gfx/gfx.effects.js +330 -0
- data/template/src/assets/javascripts/vendor/gfx/gfx.flip.js +52 -0
- data/template/src/assets/javascripts/vendor/gfx/gfx.js +93 -0
- data/template/src/assets/javascripts/vendor/gfx/gfx.overlay.js +81 -0
- data/template/src/assets/javascripts/vendor/gfx/index.js +5 -0
- data/template/src/assets/javascripts/vendor/hammer/.gitignore +1 -0
- data/template/src/assets/javascripts/vendor/hammer/LICENSE +19 -0
- data/template/src/assets/javascripts/vendor/hammer/hammer.js +741 -0
- data/template/src/assets/javascripts/vendor/hammer/index.coffee +2 -0
- data/template/src/assets/javascripts/vendor/hammer/jquery.hammer.js +26 -0
- data/template/src/assets/javascripts/vendor/hammer/jquery.specialevent.hammer.js +39 -0
- data/template/src/assets/javascripts/vendor/jquery.js +4 -0
- data/template/src/assets/javascripts/vendor/jquery_transit/index.coffee +1 -0
- data/template/src/assets/javascripts/vendor/jquery_transit/jquery.transit.js +658 -0
- data/template/src/assets/javascripts/vendor/spine/ajax.js +318 -0
- data/template/src/assets/javascripts/vendor/spine/list.js +74 -0
- data/template/src/assets/javascripts/vendor/spine/local.js +30 -0
- data/template/src/assets/javascripts/vendor/spine/manager.js +158 -0
- data/template/src/assets/javascripts/vendor/spine/panel.js +132 -0
- data/template/src/assets/javascripts/vendor/spine/relation.js +255 -0
- data/template/src/assets/javascripts/vendor/spine/route.js +220 -0
- data/template/src/assets/javascripts/vendor/spine/spine.js +913 -0
- data/template/src/assets/javascripts/vendor/spine/stage.js +146 -0
- data/template/src/assets/javascripts/vendor/spine/tabs.js +66 -0
- data/template/src/assets/javascripts/vendor/spine/tmpl.js +22 -0
- data/template/src/assets/javascripts/vendor/spine/touch.js +79 -0
- data/template/src/assets/stylesheets/application.css.sass +3 -0
- data/template/src/assets/stylesheets/base.sass +78 -0
- data/template/src/assets/stylesheets/vendor/1140gs/1140gs.sass +110 -0
- data/template/src/assets/stylesheets/vendor/1140gs/conditionals.sass +34 -0
- data/template/src/assets/stylesheets/vendor/1140gs/ie.css +43 -0
- data/template/src/assets/stylesheets/vendor/1140gs/index.sass +1 -0
- data/template/src/assets/stylesheets/vendor/spine_mobile/index.sass +1 -0
- data/template/src/assets/stylesheets/vendor/spine_mobile/mixin.sass +89 -0
- data/template/src/assets/stylesheets/vendor/spine_mobile/spine_mobile.sass +57 -0
- data/template/src/assets/stylesheets/vendor/spine_mobile/theme.sass +79 -0
- data/template/src/config.yml +2 -0
- data/template/src/index.haml +21 -0
- data/vendor/compass-sprockets/README.md +5 -0
- data/vendor/compass-sprockets/lib/compass-sprockets.rb +32 -0
- data/vendor/compass-sprockets/lib/compass/sprockets.rb +56 -0
- data/vendor/compass-sprockets/lib/compass/sprockets/version.rb +6 -0
- data/vendor/compass-sprockets/lib/sprockets/compressors.rb +96 -0
- data/vendor/compass-sprockets/lib/sprockets/static_compiler.rb +62 -0
- data/vendor/haml-sprockets/Gemfile +4 -0
- data/vendor/haml-sprockets/LICENSE +8 -0
- data/vendor/haml-sprockets/README.md +33 -0
- data/vendor/haml-sprockets/Rakefile +1 -0
- data/vendor/haml-sprockets/lib/haml-sprockets.rb +34 -0
- data/vendor/haml-sprockets/lib/haml-sprockets/engine.rb +7 -0
- data/vendor/haml-sprockets/lib/haml-sprockets/version.rb +5 -0
- data/vendor/haml-sprockets/spec/lib/haml-sprockets_spec.rb +43 -0
- data/vendor/haml-sprockets/spec/spec_helper.rb +2 -0
- data/vendor/haml-sprockets/vendor/assets/javascripts/haml.js +651 -0
- data/vendor/phonegap/.gitignore +19 -0
- data/vendor/phonegap/LICENSE +426 -0
- data/vendor/phonegap/README.md +49 -0
- data/vendor/phonegap/VERSION +1 -0
- data/vendor/phonegap/changelog +205 -0
- data/vendor/phonegap/doc/LICENSE +548 -0
- data/vendor/phonegap/doc/NOTICE +11 -0
- data/vendor/phonegap/doc/_index.html +355 -0
- data/vendor/phonegap/doc/_index.json +1 -0
- data/vendor/phonegap/doc/arrow.png +0 -0
- data/vendor/phonegap/doc/cordova_accelerometer_accelerometer.md.html +728 -0
- data/vendor/phonegap/doc/cordova_camera_camera.cleanup.md.html +159 -0
- data/vendor/phonegap/doc/cordova_camera_camera.md.html +670 -0
- data/vendor/phonegap/doc/cordova_compass_compass.md.html +707 -0
- data/vendor/phonegap/doc/cordova_connection_connection.md.html +355 -0
- data/vendor/phonegap/doc/cordova_contacts_contacts.md.html +1715 -0
- data/vendor/phonegap/doc/cordova_device_device.md.html +682 -0
- data/vendor/phonegap/doc/cordova_events_events.md.html +1538 -0
- data/vendor/phonegap/doc/cordova_file_file.md.html +2306 -0
- data/vendor/phonegap/doc/cordova_geolocation_geolocation.md.html +1002 -0
- data/vendor/phonegap/doc/cordova_media_capture_capture.md.html +1256 -0
- data/vendor/phonegap/doc/cordova_media_media.md.html +1745 -0
- data/vendor/phonegap/doc/cordova_notification_notification.md.html +691 -0
- data/vendor/phonegap/doc/cordova_storage_storage.md.html +988 -0
- data/vendor/phonegap/doc/guide_command-line_index.md.html +323 -0
- data/vendor/phonegap/doc/guide_cordova-webview_android.md.html +180 -0
- data/vendor/phonegap/doc/guide_cordova-webview_index.md.html +131 -0
- data/vendor/phonegap/doc/guide_cordova-webview_ios.md.html +275 -0
- data/vendor/phonegap/doc/guide_getting-started_android_index.md.html +291 -0
- data/vendor/phonegap/doc/guide_getting-started_bada_index.md.html +225 -0
- data/vendor/phonegap/doc/guide_getting-started_blackberry_index.md.html +267 -0
- data/vendor/phonegap/doc/guide_getting-started_index.md.html +132 -0
- data/vendor/phonegap/doc/guide_getting-started_ios_index.md.html +248 -0
- data/vendor/phonegap/doc/guide_getting-started_symbian_index.md.html +198 -0
- data/vendor/phonegap/doc/guide_getting-started_webos_index.md.html +200 -0
- data/vendor/phonegap/doc/guide_getting-started_windows-phone_index.md.html +228 -0
- data/vendor/phonegap/doc/guide_plugin-development_android_index.md.html +275 -0
- data/vendor/phonegap/doc/guide_plugin-development_bada_index.md.html +192 -0
- data/vendor/phonegap/doc/guide_plugin-development_blackberry_index.md.html +259 -0
- data/vendor/phonegap/doc/guide_plugin-development_index.md.html +230 -0
- data/vendor/phonegap/doc/guide_plugin-development_ios_index.md.html +282 -0
- data/vendor/phonegap/doc/guide_plugin-development_webos_index.md.html +125 -0
- data/vendor/phonegap/doc/guide_plugin-development_windows-phone_index.md.html +125 -0
- data/vendor/phonegap/doc/guide_upgrading_android_index.md.html +321 -0
- data/vendor/phonegap/doc/guide_upgrading_bada_index.md.html +165 -0
- data/vendor/phonegap/doc/guide_upgrading_blackberry_index.md.html +244 -0
- data/vendor/phonegap/doc/guide_upgrading_index.md.html +136 -0
- data/vendor/phonegap/doc/guide_upgrading_ios_index.md.html +547 -0
- data/vendor/phonegap/doc/guide_upgrading_symbian_index.md.html +123 -0
- data/vendor/phonegap/doc/guide_upgrading_webos_index.md.html +161 -0
- data/vendor/phonegap/doc/guide_upgrading_windows-phone_index.md.html +332 -0
- data/vendor/phonegap/doc/guide_whitelist_index.md.html +299 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/AndroidFlow.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/buildPath.jpg +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/javaSrc.jpg +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/manifest.jpg +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/manifest.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/new_android_project.jpeg +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/step_1.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/step_2.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/step_3.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/step_4.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/android/step_5.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_1_run.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_2_run.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_project.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_set_target.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/bada/import_bada_project.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/bada/import_bada_project_2.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/HelloWorldiPhone4.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/XCode4-templates.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/bin_create_project.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/bin_folder.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/create-folder-reference.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/index-not-found.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/project.jpg +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/www-folder.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/ios/xcode4-name_your_app.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wp7projectstructure.PNG +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wpd.png +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wpfirstrun.PNG +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wpnewproj.PNG +0 -0
- data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wprun.png +0 -0
- data/vendor/phonegap/doc/index.css +404 -0
- data/vendor/phonegap/doc/index.html +210 -0
- data/vendor/phonegap/doc/index.js +74 -0
- data/vendor/phonegap/doc/line.png +0 -0
- data/vendor/phonegap/doc/mobile.css +139 -0
- data/vendor/phonegap/doc/prettify/LICENSE +191 -0
- data/vendor/phonegap/doc/prettify/lang-apollo.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-css.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-hs.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-lisp.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-lua.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-ml.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-proto.js +1 -0
- data/vendor/phonegap/doc/prettify/lang-scala.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-sql.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-vb.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-vhdl.js +3 -0
- data/vendor/phonegap/doc/prettify/lang-wiki.js +2 -0
- data/vendor/phonegap/doc/prettify/lang-yaml.js +2 -0
- data/vendor/phonegap/doc/prettify/prettify.css +44 -0
- data/vendor/phonegap/doc/prettify/prettify.js +33 -0
- data/vendor/phonegap/keys +201 -0
- data/vendor/phonegap/lib/DISCLAIMER +8 -0
- data/vendor/phonegap/lib/LICENSE +548 -0
- data/vendor/phonegap/lib/NOTICE +11 -0
- data/vendor/phonegap/lib/README.MD +54 -0
- data/vendor/phonegap/lib/android/LICENSE +202 -0
- data/vendor/phonegap/lib/android/NOTICE +5 -0
- data/vendor/phonegap/lib/android/README.md +114 -0
- data/vendor/phonegap/lib/android/VERSION +1 -0
- data/vendor/phonegap/lib/android/bin/create +147 -0
- data/vendor/phonegap/lib/android/bin/create.bat +15 -0
- data/vendor/phonegap/lib/android/bin/create.js +188 -0
- data/vendor/phonegap/lib/android/bin/create.xml +98 -0
- data/vendor/phonegap/lib/android/bin/package.json +22 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/ApplicationInfo/ApplicationInfo.class +0 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/ApplicationInfo/ApplicationInfo.java +44 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/BOOM +7 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/BOOM.bat +1 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/appinfo.jar +0 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/clean +7 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/clean.bat +1 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/cordova +85 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/cordova.bat +15 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/cordova.js +104 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/debug +7 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/debug.bat +1 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/emulate +7 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/emulate.bat +1 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/log +7 -0
- data/vendor/phonegap/lib/android/bin/templates/cordova/log.bat +1 -0
- data/vendor/phonegap/lib/android/bin/templates/project/Activity.java +35 -0
- data/vendor/phonegap/lib/android/bin/templates/project/AndroidManifest.xml +61 -0
- data/vendor/phonegap/lib/android/bin/templates/project/assets/www/index.html +60 -0
- data/vendor/phonegap/lib/android/bin/templates/project/assets/www/main.js +165 -0
- data/vendor/phonegap/lib/android/bin/templates/project/assets/www/master.css +116 -0
- data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-hdpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-ldpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-mdpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-xhdpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/bin/templates/project/res/drawable/icon.png +0 -0
- data/vendor/phonegap/lib/android/bin/tests/test_create_unix.js +135 -0
- data/vendor/phonegap/lib/android/bin/tests/test_create_win.js +143 -0
- data/vendor/phonegap/lib/android/cordova-2.0.0.jar +0 -0
- data/vendor/phonegap/lib/android/cordova-2.0.0.js +5724 -0
- data/vendor/phonegap/lib/android/example/AndroidManifest.xml +61 -0
- data/vendor/phonegap/lib/android/example/ant.properties +17 -0
- data/vendor/phonegap/lib/android/example/assets/www/cordova-2.0.0.js +5724 -0
- data/vendor/phonegap/lib/android/example/assets/www/index.html +60 -0
- data/vendor/phonegap/lib/android/example/assets/www/main.js +165 -0
- data/vendor/phonegap/lib/android/example/assets/www/master.css +116 -0
- data/vendor/phonegap/lib/android/example/build.xml +83 -0
- data/vendor/phonegap/lib/android/example/cordova/BOOM +7 -0
- data/vendor/phonegap/lib/android/example/cordova/appinfo.jar +0 -0
- data/vendor/phonegap/lib/android/example/cordova/clean +7 -0
- data/vendor/phonegap/lib/android/example/cordova/cordova +85 -0
- data/vendor/phonegap/lib/android/example/cordova/debug +7 -0
- data/vendor/phonegap/lib/android/example/cordova/emulate +7 -0
- data/vendor/phonegap/lib/android/example/cordova/log +7 -0
- data/vendor/phonegap/lib/android/example/libs/cordova-2.0.0.jar +0 -0
- data/vendor/phonegap/lib/android/example/proguard-project.txt +20 -0
- data/vendor/phonegap/lib/android/example/project.properties +14 -0
- data/vendor/phonegap/lib/android/example/res/drawable-hdpi/ic_launcher.png +0 -0
- data/vendor/phonegap/lib/android/example/res/drawable-hdpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/example/res/drawable-ldpi/ic_launcher.png +0 -0
- data/vendor/phonegap/lib/android/example/res/drawable-ldpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/example/res/drawable-mdpi/ic_launcher.png +0 -0
- data/vendor/phonegap/lib/android/example/res/drawable-mdpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/example/res/drawable-xhdpi/icon.png +0 -0
- data/vendor/phonegap/lib/android/example/res/drawable/icon.png +0 -0
- data/vendor/phonegap/lib/android/example/res/layout/main.xml +13 -0
- data/vendor/phonegap/lib/android/example/res/values/strings.xml +4 -0
- data/vendor/phonegap/lib/android/example/res/xml/config.xml +54 -0
- data/vendor/phonegap/lib/android/example/src/org/apache/cordova/example/cordovaExample.java +35 -0
- data/vendor/phonegap/lib/android/xml/config.xml +54 -0
- data/vendor/phonegap/lib/bada/Icons/Cordova.png +0 -0
- data/vendor/phonegap/lib/bada/Icons/Cordova_Splash.png +0 -0
- data/vendor/phonegap/lib/bada/LICENSE +202 -0
- data/vendor/phonegap/lib/bada/NOTICE +5 -0
- data/vendor/phonegap/lib/bada/README.md +48 -0
- data/vendor/phonegap/lib/bada/Res/cordova/accelerometer.js +131 -0
- data/vendor/phonegap/lib/bada/Res/cordova/camera.js +102 -0
- data/vendor/phonegap/lib/bada/Res/cordova/compass.js +77 -0
- data/vendor/phonegap/lib/bada/Res/cordova/contact.js +355 -0
- data/vendor/phonegap/lib/bada/Res/cordova/cordova.base.js +561 -0
- data/vendor/phonegap/lib/bada/Res/cordova/cordova.bat +21 -0
- data/vendor/phonegap/lib/bada/Res/cordova/cordova.js +1661 -0
- data/vendor/phonegap/lib/bada/Res/cordova/debugconsole.js +126 -0
- data/vendor/phonegap/lib/bada/Res/cordova/device.js +46 -0
- data/vendor/phonegap/lib/bada/Res/cordova/file.js +682 -0
- data/vendor/phonegap/lib/bada/Res/cordova/geolocation.js +152 -0
- data/vendor/phonegap/lib/bada/Res/cordova/network.js +70 -0
- data/vendor/phonegap/lib/bada/Res/cordova/notification.js +117 -0
- data/vendor/phonegap/lib/bada/Res/cordova/position.js +74 -0
- data/vendor/phonegap/lib/bada/Res/eng-GB.xml +26 -0
- data/vendor/phonegap/lib/bada/Res/images/cordova_logo_normal_dark.png +0 -0
- data/vendor/phonegap/lib/bada/Res/index.html +108 -0
- data/vendor/phonegap/lib/bada/Res/main.js +390 -0
- data/vendor/phonegap/lib/bada/VERSION +1 -0
- data/vendor/phonegap/lib/bada/application.xml +45 -0
- data/vendor/phonegap/lib/bada/inc/Accelerometer.h +54 -0
- data/vendor/phonegap/lib/bada/inc/Compass.h +52 -0
- data/vendor/phonegap/lib/bada/inc/Contacts.h +62 -0
- data/vendor/phonegap/lib/bada/inc/Cordova.h +82 -0
- data/vendor/phonegap/lib/bada/inc/CordovaCommand.h +46 -0
- data/vendor/phonegap/lib/bada/inc/DebugConsole.h +41 -0
- data/vendor/phonegap/lib/bada/inc/Device.h +43 -0
- data/vendor/phonegap/lib/bada/inc/GeoLocation.h +52 -0
- data/vendor/phonegap/lib/bada/inc/Kamera.h +49 -0
- data/vendor/phonegap/lib/bada/inc/Network.h +56 -0
- data/vendor/phonegap/lib/bada/inc/Notification.h +50 -0
- data/vendor/phonegap/lib/bada/inc/WebForm.h +97 -0
- data/vendor/phonegap/lib/bada/manifest.xml +61 -0
- data/vendor/phonegap/lib/bada/src/Accelerometer.cpp +135 -0
- data/vendor/phonegap/lib/bada/src/Compass.cpp +131 -0
- data/vendor/phonegap/lib/bada/src/Contacts.cpp +600 -0
- data/vendor/phonegap/lib/bada/src/Cordova.cpp +139 -0
- data/vendor/phonegap/lib/bada/src/CordovaCommand.cpp +33 -0
- data/vendor/phonegap/lib/bada/src/CordovaEntry.cpp +60 -0
- data/vendor/phonegap/lib/bada/src/DebugConsole.cpp +81 -0
- data/vendor/phonegap/lib/bada/src/Device.cpp +81 -0
- data/vendor/phonegap/lib/bada/src/GeoLocation.cpp +144 -0
- data/vendor/phonegap/lib/bada/src/Kamera.cpp +121 -0
- data/vendor/phonegap/lib/bada/src/Network.cpp +123 -0
- data/vendor/phonegap/lib/bada/src/Notification.cpp +176 -0
- data/vendor/phonegap/lib/bada/src/WebForm.cpp +231 -0
- data/vendor/phonegap/lib/badaWac/Icons/codova_bada_wac_splash_type4.png +0 -0
- data/vendor/phonegap/lib/badaWac/Icons/codova_bada_wac_splash_type5.png +0 -0
- data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_icon_type5.png +0 -0
- data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_wac_icon_type3.png +0 -0
- data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_wac_icon_type4.png +0 -0
- data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_wac_splash_type3.png +0 -0
- data/vendor/phonegap/lib/badaWac/LICENSE +201 -0
- data/vendor/phonegap/lib/badaWac/NOTICE +5 -0
- data/vendor/phonegap/lib/badaWac/README.md +12 -0
- data/vendor/phonegap/lib/badaWac/Res/config.xml +47 -0
- data/vendor/phonegap/lib/badaWac/Res/cordova-2.0.0.js +5676 -0
- data/vendor/phonegap/lib/badaWac/Res/css/index.css +100 -0
- data/vendor/phonegap/lib/badaWac/Res/img/cordova.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/index.html +24 -0
- data/vendor/phonegap/lib/badaWac/Res/js/index.js +15 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_128.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_16.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_24.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_256.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_32.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_48.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_512.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_64.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_36.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_48.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_72.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_96.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_bb_80.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_114.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_144.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_57.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_72.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_hdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_hdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_ldpi_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_ldpi_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_mdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_mdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_xhdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/android_xhdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/blackberry_transparent_300.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/blackberry_transparent_400.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_retina_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_retina_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_retina_landscape.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_retina_portrait.png +0 -0
- data/vendor/phonegap/lib/badaWac/Res/res/screen/windows_phone_portrait.jpg +0 -0
- data/vendor/phonegap/lib/badaWac/Res/sample/index.html +167 -0
- data/vendor/phonegap/lib/badaWac/Res/sample/js/cordova.js +5576 -0
- data/vendor/phonegap/lib/badaWac/Res/sample/js/sample.js +404 -0
- data/vendor/phonegap/lib/badaWac/Res/spec.html +50 -0
- data/vendor/phonegap/lib/badaWac/Res/spec/helper.js +11 -0
- data/vendor/phonegap/lib/badaWac/Res/spec/index.js +49 -0
- data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/MIT.LICENSE +20 -0
- data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/jasmine-html.js +616 -0
- data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/jasmine.css +81 -0
- data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/jasmine.js +2529 -0
- data/vendor/phonegap/lib/badaWac/VERSION +1 -0
- data/vendor/phonegap/lib/badaWac/application.xml +51 -0
- data/vendor/phonegap/lib/badaWac/manifest.xml +58 -0
- data/vendor/phonegap/lib/blackberry/LICENSE +268 -0
- data/vendor/phonegap/lib/blackberry/NOTICE +8 -0
- data/vendor/phonegap/lib/blackberry/README.md +90 -0
- data/vendor/phonegap/lib/blackberry/VERSION +1 -0
- data/vendor/phonegap/lib/blackberry/bin/create +84 -0
- data/vendor/phonegap/lib/blackberry/bin/create.bat +14 -0
- data/vendor/phonegap/lib/blackberry/bin/create.js +94 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/dist/README.md +90 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/blackberry.xml +356 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/build.xml +138 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/cordova/debug +53 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/cordova/emulate +40 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/lib/ant-contrib/LICENSE.txt +47 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/lib/ant-contrib/ant-contrib-1.0b3.jar +0 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/playbook.xml +283 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/project.properties +97 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/www/config.xml +82 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/www/index.html +976 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/www/json2.js +482 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/www/plugins.xml +34 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/www/resources/icon.png +0 -0
- data/vendor/phonegap/lib/blackberry/bin/templates/project/www/resources/loading_foreground.png +0 -0
- data/vendor/phonegap/lib/blackberry/sample/blackberry.xml +356 -0
- data/vendor/phonegap/lib/blackberry/sample/build.xml +138 -0
- data/vendor/phonegap/lib/blackberry/sample/cordova/debug +53 -0
- data/vendor/phonegap/lib/blackberry/sample/cordova/emulate +40 -0
- data/vendor/phonegap/lib/blackberry/sample/lib/ant-contrib/LICENSE.txt +47 -0
- data/vendor/phonegap/lib/blackberry/sample/lib/ant-contrib/ant-contrib-1.0b3.jar +0 -0
- data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/ext-air/Cordova_Network/library.xml +40 -0
- data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/ext-air/Cordova_Network/src/org/apache/cordova/network/Network.as +80 -0
- data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/ext/cordova.2.0.0.jar +0 -0
- data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/javascript/cordova-2.0.0.js +6407 -0
- data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/javascript/playbook/cordova-2.0.0.js +6845 -0
- data/vendor/phonegap/lib/blackberry/sample/playbook.xml +283 -0
- data/vendor/phonegap/lib/blackberry/sample/project.properties +97 -0
- data/vendor/phonegap/lib/blackberry/sample/www/config.xml +82 -0
- data/vendor/phonegap/lib/blackberry/sample/www/cordova-2.0.0.js +6407 -0
- data/vendor/phonegap/lib/blackberry/sample/www/ext-air/Cordova_Network/library.xml +40 -0
- data/vendor/phonegap/lib/blackberry/sample/www/ext-air/Cordova_Network/src/org/apache/cordova/network/Network.as +80 -0
- data/vendor/phonegap/lib/blackberry/sample/www/ext/cordova.2.0.0.jar +0 -0
- data/vendor/phonegap/lib/blackberry/sample/www/index.html +976 -0
- data/vendor/phonegap/lib/blackberry/sample/www/json2.js +482 -0
- data/vendor/phonegap/lib/blackberry/sample/www/playbook/cordova-2.0.0.js +6845 -0
- data/vendor/phonegap/lib/blackberry/sample/www/plugins.xml +34 -0
- data/vendor/phonegap/lib/blackberry/sample/www/resources/icon.png +0 -0
- data/vendor/phonegap/lib/blackberry/sample/www/resources/loading_foreground.png +0 -0
- data/vendor/phonegap/lib/blackberry/www/config.xml +82 -0
- data/vendor/phonegap/lib/blackberry/www/cordova-2.0.0.js +6407 -0
- data/vendor/phonegap/lib/blackberry/www/ext-air/Cordova_Network/library.xml +40 -0
- data/vendor/phonegap/lib/blackberry/www/ext-air/Cordova_Network/src/org/apache/cordova/network/Network.as +80 -0
- data/vendor/phonegap/lib/blackberry/www/ext/cordova.2.0.0.jar +0 -0
- data/vendor/phonegap/lib/blackberry/www/playbook/cordova-2.0.0.js +6845 -0
- data/vendor/phonegap/lib/blackberry/www/plugins.xml +34 -0
- data/vendor/phonegap/lib/ios/Cordova-2.0.0.dmg +0 -0
- data/vendor/phonegap/lib/ios/Cordova-2.0.0.dmg.SHA1 +1 -0
- data/vendor/phonegap/lib/ios/LICENSE +394 -0
- data/vendor/phonegap/lib/ios/NOTICE +5 -0
- data/vendor/phonegap/lib/ios/bin/BOOM +27 -0
- data/vendor/phonegap/lib/ios/bin/README.md +29 -0
- data/vendor/phonegap/lib/ios/bin/_build.sh +92 -0
- data/vendor/phonegap/lib/ios/bin/autotest +24 -0
- data/vendor/phonegap/lib/ios/bin/bench +48 -0
- data/vendor/phonegap/lib/ios/bin/create +99 -0
- data/vendor/phonegap/lib/ios/bin/package.json +15 -0
- data/vendor/phonegap/lib/ios/bin/replaces +28 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__.xcodeproj/TemplateIcon.icns +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__.xcodeproj/TemplateInfo.plist +28 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__.xcodeproj/project.pbxproj +638 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/.gitignore +6 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/AppDelegate.h +45 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/AppDelegate.m +135 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/MainViewController.h +32 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/MainViewController.m +141 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/MainViewController.xib +138 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Cordova.plist +83 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/CordovaBuildSettings.xcconfig +26 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Plugins/README +20 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg@2x.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg@2x~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone@2x.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone@2x~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button@2x.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button@2x~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg@2x.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg@2x~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button@2x.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button@2x~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/de.lproj/Localizable.strings +26 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/en.lproj/Localizable.strings +25 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/es.lproj/Localizable.strings +25 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon-72.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon-72@2x.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon@2x.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/se.lproj/Localizable.strings +26 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Landscape@2x~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Landscape~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Portrait@2x~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Portrait~ipad.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default@2x~iphone.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default~iphone.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/__TESTING__-Info.plist +78 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/__TESTING__-Prefix.pch +26 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/main.m +35 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/cordova/debug +47 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/cordova/emulate +58 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/cordova/log +26 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/config.xml +47 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/cordova-2.0.0.js +5240 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/css/index.css +100 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/img/cordova.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/index.html +44 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/js/index.js +20 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_128.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_16.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_24.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_256.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_32.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_48.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_512.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_64.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_36.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_48.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_72.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_96.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_bb_80.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_114.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_144.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_57.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_72.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_hdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_hdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_ldpi_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_ldpi_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_mdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_mdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_xhdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_xhdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/blackberry_transparent_300.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/blackberry_transparent_400.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_retina_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_retina_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_retina_landscape.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_retina_portrait.png +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/windows_phone_portrait.jpg +0 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/spec.html +50 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/spec/helper.js +11 -0
- data/vendor/phonegap/lib/ios/bin/templates/project/www/spec/index.js +49 -0
- data/vendor/phonegap/lib/ios/bin/test +44 -0
- data/vendor/phonegap/lib/ios/bin/tests/autotest.coffee +24 -0
- data/vendor/phonegap/lib/ios/bin/tests/create.coffee +34 -0
- data/vendor/phonegap/lib/ios/bin/tests/debug.coffee +18 -0
- data/vendor/phonegap/lib/ios/bin/tests/test.coffee +18 -0
- data/vendor/phonegap/lib/symbian/deprecated.txt +1 -0
- data/vendor/phonegap/lib/webos/LICENSE +202 -0
- data/vendor/phonegap/lib/webos/Makefile +127 -0
- data/vendor/phonegap/lib/webos/NOTICE +11 -0
- data/vendor/phonegap/lib/webos/README.md +52 -0
- data/vendor/phonegap/lib/webos/VERSION +1 -0
- data/vendor/phonegap/lib/webos/framework/appinfo.json +10 -0
- data/vendor/phonegap/lib/webos/framework/config.xml +47 -0
- data/vendor/phonegap/lib/webos/framework/cordova_48.png +0 -0
- data/vendor/phonegap/lib/webos/framework/css/index.css +100 -0
- data/vendor/phonegap/lib/webos/framework/img/cordova.png +0 -0
- data/vendor/phonegap/lib/webos/framework/index.html +24 -0
- data/vendor/phonegap/lib/webos/framework/js/index.js +20 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_128.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_16.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_24.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_256.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_32.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_48.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_512.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_64.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_36.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_48.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_72.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_96.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_bb_80.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_114.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_144.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_57.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_72.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_hdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_hdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_ldpi_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_ldpi_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_mdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_mdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_xhdpi_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/android_xhdpi_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/blackberry_transparent_300.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/blackberry_transparent_400.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/ipad_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/ipad_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/ipad_retina_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/ipad_retina_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/iphone_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/iphone_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/iphone_retina_landscape.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/iphone_retina_portrait.png +0 -0
- data/vendor/phonegap/lib/webos/framework/res/screen/windows_phone_portrait.jpg +0 -0
- data/vendor/phonegap/lib/webos/framework/spec.html +50 -0
- data/vendor/phonegap/lib/webos/framework/spec/helper.js +11 -0
- data/vendor/phonegap/lib/webos/framework/spec/index.js +49 -0
- data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/MIT.LICENSE +20 -0
- data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/jasmine-html.js +616 -0
- data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/jasmine.css +81 -0
- data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/jasmine.js +2529 -0
- data/vendor/phonegap/lib/webos/js/acceleration.js +59 -0
- data/vendor/phonegap/lib/webos/js/accelerometer.js +133 -0
- data/vendor/phonegap/lib/webos/js/application.js +54 -0
- data/vendor/phonegap/lib/webos/js/audio.js +113 -0
- data/vendor/phonegap/lib/webos/js/camera.js +60 -0
- data/vendor/phonegap/lib/webos/js/compass.js +167 -0
- data/vendor/phonegap/lib/webos/js/contacts.js +69 -0
- data/vendor/phonegap/lib/webos/js/cordova-core.js +405 -0
- data/vendor/phonegap/lib/webos/js/debugconsole.js +62 -0
- data/vendor/phonegap/lib/webos/js/device.js +98 -0
- data/vendor/phonegap/lib/webos/js/file.js +79 -0
- data/vendor/phonegap/lib/webos/js/geolocation.js +232 -0
- data/vendor/phonegap/lib/webos/js/map.js +67 -0
- data/vendor/phonegap/lib/webos/js/mojo.js +81 -0
- data/vendor/phonegap/lib/webos/js/mouse.js +40 -0
- data/vendor/phonegap/lib/webos/js/network.js +96 -0
- data/vendor/phonegap/lib/webos/js/notification.js +139 -0
- data/vendor/phonegap/lib/webos/js/orientation.js +124 -0
- data/vendor/phonegap/lib/webos/js/position.js +87 -0
- data/vendor/phonegap/lib/webos/js/service.js +74 -0
- data/vendor/phonegap/lib/webos/js/sms.js +60 -0
- data/vendor/phonegap/lib/webos/js/telephony.js +45 -0
- data/vendor/phonegap/lib/webos/js/window.js +88 -0
- data/vendor/phonegap/lib/webos/js/windowproperties.js +31 -0
- data/vendor/phonegap/lib/webos/lib/thumbs.0.5.2.js +104 -0
- data/vendor/phonegap/lib/windows-phone/LICENSE +12 -0
- data/vendor/phonegap/lib/windows-phone/NOTICE +5 -0
- data/vendor/phonegap/lib/windows-phone/README.md +50 -0
- data/vendor/phonegap/lib/windows-phone/VERSION +1 -0
- data/vendor/phonegap/lib/windows-phone/bin/create.bat +1 -0
- data/vendor/phonegap/lib/windows-phone/bin/create.js +154 -0
- data/vendor/phonegap/lib/windows-phone/example/App.xaml +37 -0
- data/vendor/phonegap/lib/windows-phone/example/App.xaml.cs +154 -0
- data/vendor/phonegap/lib/windows-phone/example/ApplicationIcon.png +0 -0
- data/vendor/phonegap/lib/windows-phone/example/Background.png +0 -0
- data/vendor/phonegap/lib/windows-phone/example/BuildManifestProcessor.js +81 -0
- data/vendor/phonegap/lib/windows-phone/example/CordovaExample.csproj +195 -0
- data/vendor/phonegap/lib/windows-phone/example/CordovaExample.sln +28 -0
- data/vendor/phonegap/lib/windows-phone/example/CordovaSourceDictionary.xml +4 -0
- data/vendor/phonegap/lib/windows-phone/example/MainPage.xaml +52 -0
- data/vendor/phonegap/lib/windows-phone/example/MainPage.xaml.cs +70 -0
- data/vendor/phonegap/lib/windows-phone/example/Plugins/Calculator.cs +46 -0
- data/vendor/phonegap/lib/windows-phone/example/Properties/AppManifest.xml +24 -0
- data/vendor/phonegap/lib/windows-phone/example/Properties/AssemblyInfo.cs +38 -0
- data/vendor/phonegap/lib/windows-phone/example/Properties/WMAppManifest.xml +59 -0
- data/vendor/phonegap/lib/windows-phone/example/SplashScreenImage.jpg +0 -0
- data/vendor/phonegap/lib/windows-phone/example/www/accelerometer.html +164 -0
- data/vendor/phonegap/lib/windows-phone/example/www/accelerometer2.html +175 -0
- data/vendor/phonegap/lib/windows-phone/example/www/audio.html +267 -0
- data/vendor/phonegap/lib/windows-phone/example/www/calculator.html +84 -0
- data/vendor/phonegap/lib/windows-phone/example/www/camera.html +115 -0
- data/vendor/phonegap/lib/windows-phone/example/www/capture.html +207 -0
- data/vendor/phonegap/lib/windows-phone/example/www/compass.html +150 -0
- data/vendor/phonegap/lib/windows-phone/example/www/contacts.html +169 -0
- data/vendor/phonegap/lib/windows-phone/example/www/cordova-2.0.0.js +5658 -0
- data/vendor/phonegap/lib/windows-phone/example/www/events.html +146 -0
- data/vendor/phonegap/lib/windows-phone/example/www/file.html +284 -0
- data/vendor/phonegap/lib/windows-phone/example/www/index.html +108 -0
- data/vendor/phonegap/lib/windows-phone/example/www/location.html +165 -0
- data/vendor/phonegap/lib/windows-phone/example/www/master.css +156 -0
- data/vendor/phonegap/lib/windows-phone/example/www/network.html +96 -0
- data/vendor/phonegap/lib/windows-phone/example/www/notification.html +112 -0
- data/vendor/phonegap/lib/windows-phone/example/www/storage.html +78 -0
- data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.back.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.close.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.feature.video.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.next.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.save.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.stop.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/framework/Properties/AssemblyInfo.cs +35 -0
- data/vendor/phonegap/lib/windows-phone/framework/WP7CordovaClassLib.csproj +281 -0
- data/vendor/phonegap/lib/windows-phone/framework/WP7CordovaClassLib.sln +20 -0
- data/vendor/phonegap/lib/windows-phone/framework/WP7CordovaClassLibBare.csproj +127 -0
- data/vendor/phonegap/lib/windows-phone/framework/WP7GapClassLibBare.sln +20 -0
- data/vendor/phonegap/lib/windows-phone/framework/resources/notification-beep.wav +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/CordovaStarter-2.0.0.zip +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/App.xaml +37 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/App.xaml.cs +154 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/ApplicationIcon.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/Background.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/BuildManifestProcessor.js +83 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/CordovaAppProj.csproj +152 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/CordovaSolution.sln +22 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/CordovaSourceDictionary.xml +23 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/MainPage.xaml +52 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/MainPage.xaml.cs +72 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/Properties/AppManifest.xml +6 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/Properties/AssemblyInfo.cs +38 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/Properties/WMAppManifest.xml +32 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/SplashScreenImage.jpg +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/VERSION +1 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/www/cordova-2.0.0.js +5672 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/www/css/index.css +100 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/www/img/cordova.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/www/index.html +24 -0
- data/vendor/phonegap/lib/windows-phone/templates/custom/www/js/index.js +20 -0
- data/vendor/phonegap/lib/windows-phone/templates/description.txt +4 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/App.xaml +37 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/App.xaml.cs +154 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/ApplicationIcon.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/Background.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/BuildManifestProcessor.js +80 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/CordovaAppProj.csproj +153 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/CordovaLib/WP7CordovaClassLib.dll +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/CordovaSolution.sln +22 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/CordovaSourceDictionary.xml +9 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/MainPage.xaml +52 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/MainPage.xaml.cs +72 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/Properties/AppManifest.xml +6 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/Properties/AssemblyInfo.cs +38 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/Properties/WMAppManifest.xml +41 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/SplashScreenImage.jpg +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/VERSION +1 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/cordova/debug.bat +68 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/cordova/emulate.bat +24 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/www/cordova-2.0.0.js +5672 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/www/css/index.css +100 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/www/img/cordova.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/www/index.html +24 -0
- data/vendor/phonegap/lib/windows-phone/templates/full/www/js/index.js +20 -0
- data/vendor/phonegap/lib/windows-phone/templates/pg_templateIcon.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/pg_templatePreview.jpg +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/App.xaml +37 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/App.xaml.cs +154 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/ApplicationIcon.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/Background.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/BuildManifestProcessor.js +80 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/CordovaAppProj.csproj +231 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/CordovaSolution.sln +22 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/CordovaSourceDictionary.xml +4 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/MainPage.xaml +52 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/MainPage.xaml.cs +72 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/Properties/AppManifest.xml +6 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/Properties/AssemblyInfo.cs +38 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/Properties/WMAppManifest.xml +42 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/SplashScreenImage.jpg +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/VERSION +1 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordova/debug.bat +68 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordova/emulate.bat +24 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/BrowserMouseHelper.cs +345 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CommandFactory.cs +104 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Accelerometer.cs +195 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/AudioPlayer.cs +617 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/BaseCommand.cs +129 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Battery.cs +79 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Camera.cs +490 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Capture.cs +735 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Compass.cs +364 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Contacts.cs +643 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/DebugConsole.cs +49 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Device.cs +124 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/File.cs +1441 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/FileTransfer.cs +525 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/GeoLocation.cs +34 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/ImageExifHelper.cs +222 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Media.cs +522 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/MimeTypeMapper.cs +99 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/NetworkStatus.cs +124 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Notification.cs +322 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CordovaCommandCall.cs +86 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CordovaView.xaml +65 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CordovaView.xaml.cs +451 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/DOMStorageHelper.cs +145 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.back.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.close.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.feature.video.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.next.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.save.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.stop.rest.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/JSON/JsonHelper.cs +97 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/NativeExecution.cs +207 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/OrientationHelper.cs +128 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/PluginResult.cs +165 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/ScriptCallback.cs +80 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/AudioCaptureTask.cs +105 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/AudioRecorder.xaml +66 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/AudioRecorder.xaml.cs +387 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/ImageCapture.xaml +26 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/ImageCapture.xaml.cs +107 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/NotificationBox.xaml +62 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/NotificationBox.xaml.cs +41 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/VideoCaptureTask.cs +104 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/VideoRecorder.xaml +52 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/VideoRecorder.xaml.cs +405 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/resources/notification-beep.wav +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/www/cordova-2.0.0.js +5672 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/www/css/index.css +100 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/www/img/cordova.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/www/index.html +24 -0
- data/vendor/phonegap/lib/windows-phone/templates/standalone/www/js/index.js +20 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/GapAppVsPackage.cs +64 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/GapAppVsPackage.csproj +174 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/GlobalSuppressions.cs +11 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/Guids.cs +14 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/Key.snk +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/Properties/AssemblyInfo.cs +36 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/Resources.Designer.cs +63 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/Resources.resx +129 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/Resources/Package.ico +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/VSPackage.resx +140 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/pg_templateIcon.png +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/pg_templatePreview.jpg +0 -0
- data/vendor/phonegap/lib/windows-phone/templates/vspackage/source.extension.vsixmanifest +30 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/App.xaml +38 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/App.xaml.cs +158 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/ApplicationIcon.png +0 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Background.png +0 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/BuildManifestProcessor.js +80 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/CordovaSourceDictionary.xml +4 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MainPage.xaml +52 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MainPage.xaml.cs +42 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MobileSpecUnitTests.csproj +141 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MobileSpecUnitTests.sln +28 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Properties/AppManifest.xml +6 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Properties/AssemblyInfo.cs +35 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Properties/WMAppManifest.xml +35 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/SplashScreenImage.jpg +0 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/www/cordova-2.0.0.js +5658 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/www/index.html +43 -0
- data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/www/master.css +112 -0
- data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy.sln +20 -0
- data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy/CordovaDeploy.csproj +79 -0
- data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy/Program.cs +219 -0
- data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy/Properties/AssemblyInfo.cs +36 -0
- data/vendor/phonegap/lib/windows-phone/tooling/scripts/debug.bat +68 -0
- data/vendor/phonegap/lib/windows-phone/tooling/scripts/emulate.bat +24 -0
- metadata +1040 -0
@@ -0,0 +1,104 @@
|
|
1
|
+
/*
|
2
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
3
|
+
you may not use this file except in compliance with the License.
|
4
|
+
You may obtain a copy of the License at
|
5
|
+
|
6
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
|
8
|
+
Unless required by applicable law or agreed to in writing, software
|
9
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
See the License for the specific language governing permissions and
|
12
|
+
limitations under the License.
|
13
|
+
*/
|
14
|
+
|
15
|
+
using System;
|
16
|
+
using System.Net;
|
17
|
+
using System.Windows;
|
18
|
+
using System.Windows.Controls;
|
19
|
+
using System.Windows.Documents;
|
20
|
+
using System.Windows.Ink;
|
21
|
+
using System.Windows.Input;
|
22
|
+
using System.Windows.Media;
|
23
|
+
using System.Windows.Media.Animation;
|
24
|
+
using System.Windows.Shapes;
|
25
|
+
using System.Collections.Generic;
|
26
|
+
using WP7CordovaClassLib.Cordova.Commands;
|
27
|
+
using System.Reflection;
|
28
|
+
using System.Diagnostics;
|
29
|
+
|
30
|
+
namespace WP7CordovaClassLib.Cordova
|
31
|
+
{
|
32
|
+
/// <summary>
|
33
|
+
/// Provides functionality to create phone gap command by name.
|
34
|
+
/// </summary>
|
35
|
+
public static class CommandFactory
|
36
|
+
{
|
37
|
+
/// <summary>
|
38
|
+
/// Represents predefined namespace name for custom plugins
|
39
|
+
/// </summary>
|
40
|
+
private static readonly string CustomPluginNamespacePrefix = "Cordova.Extension.Commands.";
|
41
|
+
|
42
|
+
private static readonly string BaseCommandNamespacePrefix = "WP7CordovaClassLib.Cordova.Commands.";
|
43
|
+
|
44
|
+
/// <summary>
|
45
|
+
/// Cache instantiated commands in a map.
|
46
|
+
/// </summary>
|
47
|
+
|
48
|
+
private static Dictionary<string, BaseCommand> commandMap = new Dictionary<string, BaseCommand>();
|
49
|
+
|
50
|
+
/// <summary>
|
51
|
+
/// Creates command using command class name. Returns null for unknown commands.
|
52
|
+
/// </summary>
|
53
|
+
/// <param name="service">Command class name, for example Device or Notification</param>
|
54
|
+
/// <returns>Command class instance or null</returns>
|
55
|
+
public static BaseCommand CreateByServiceName(string service)
|
56
|
+
{
|
57
|
+
|
58
|
+
if (string.IsNullOrEmpty(service))
|
59
|
+
{
|
60
|
+
throw new ArgumentNullException("service", "service to create can't be null");
|
61
|
+
}
|
62
|
+
|
63
|
+
if (!commandMap.ContainsKey(service))
|
64
|
+
{
|
65
|
+
|
66
|
+
Type t = Type.GetType(BaseCommandNamespacePrefix + service);
|
67
|
+
|
68
|
+
// custom plugin could be defined in own namespace and assembly
|
69
|
+
if (t == null)
|
70
|
+
{
|
71
|
+
string serviceFullName = service.Contains(".") ? service : CustomPluginNamespacePrefix + service;
|
72
|
+
|
73
|
+
foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies())
|
74
|
+
{
|
75
|
+
// in this case service name represents full type name including namespace
|
76
|
+
t = a.GetType(serviceFullName);
|
77
|
+
|
78
|
+
if (t == null) // try the Commands Namespace
|
79
|
+
{
|
80
|
+
t = a.GetType(BaseCommandNamespacePrefix + service);
|
81
|
+
}
|
82
|
+
|
83
|
+
if (t != null)
|
84
|
+
{
|
85
|
+
break;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
}
|
90
|
+
|
91
|
+
// unknown command, still didn't find it
|
92
|
+
if (t == null)
|
93
|
+
{
|
94
|
+
Debug.WriteLine("Unable to locate command :: " + service);
|
95
|
+
return null;
|
96
|
+
}
|
97
|
+
|
98
|
+
commandMap[service] = Activator.CreateInstance(t) as BaseCommand;
|
99
|
+
}
|
100
|
+
|
101
|
+
return commandMap[service];
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Accelerometer.cs
ADDED
@@ -0,0 +1,195 @@
|
|
1
|
+
/*
|
2
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
3
|
+
you may not use this file except in compliance with the License.
|
4
|
+
You may obtain a copy of the License at
|
5
|
+
|
6
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
|
8
|
+
Unless required by applicable law or agreed to in writing, software
|
9
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
See the License for the specific language governing permissions and
|
12
|
+
limitations under the License.
|
13
|
+
*/
|
14
|
+
|
15
|
+
|
16
|
+
using System;
|
17
|
+
using System.Collections.Generic;
|
18
|
+
using System.Runtime.Serialization;
|
19
|
+
using System.Threading;
|
20
|
+
using Microsoft.Devices.Sensors;
|
21
|
+
using System.Globalization;
|
22
|
+
|
23
|
+
namespace WP7CordovaClassLib.Cordova.Commands
|
24
|
+
{
|
25
|
+
/// <summary>
|
26
|
+
/// Captures device motion in the x, y, and z direction.
|
27
|
+
/// </summary>
|
28
|
+
public class Accelerometer : BaseCommand
|
29
|
+
{
|
30
|
+
#region AccelerometerOptions class
|
31
|
+
/// <summary>
|
32
|
+
/// Represents Accelerometer options.
|
33
|
+
/// </summary>
|
34
|
+
[DataContract]
|
35
|
+
public class AccelerometerOptions
|
36
|
+
{
|
37
|
+
/// <summary>
|
38
|
+
/// How often to retrieve the Acceleration in milliseconds
|
39
|
+
/// </summary>
|
40
|
+
[DataMember(IsRequired = false, Name = "frequency")]
|
41
|
+
public int Frequency { get; set; }
|
42
|
+
|
43
|
+
/// <summary>
|
44
|
+
/// Watcher id
|
45
|
+
/// </summary>
|
46
|
+
[DataMember(IsRequired = false, Name = "id")]
|
47
|
+
public string Id { get; set; }
|
48
|
+
|
49
|
+
/// <summary>
|
50
|
+
/// Creates options object with default parameters
|
51
|
+
/// </summary>
|
52
|
+
public AccelerometerOptions()
|
53
|
+
{
|
54
|
+
this.SetDefaultValues(new StreamingContext());
|
55
|
+
}
|
56
|
+
|
57
|
+
/// <summary>
|
58
|
+
/// Initializes default values for class fields.
|
59
|
+
/// Implemented in separate method because default constructor is not invoked during deserialization.
|
60
|
+
/// </summary>
|
61
|
+
/// <param name="context"></param>
|
62
|
+
[OnDeserializing()]
|
63
|
+
public void SetDefaultValues(StreamingContext context)
|
64
|
+
{
|
65
|
+
this.Frequency = 10000;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
#endregion
|
70
|
+
|
71
|
+
#region Status codes and Constants
|
72
|
+
|
73
|
+
public const int Stopped = 0;
|
74
|
+
public const int Starting = 1;
|
75
|
+
public const int Running = 2;
|
76
|
+
public const int ErrorFailedToStart = 3;
|
77
|
+
|
78
|
+
public const double gConstant = -9.81;
|
79
|
+
|
80
|
+
#endregion
|
81
|
+
|
82
|
+
#region Static members
|
83
|
+
|
84
|
+
/// <summary>
|
85
|
+
/// Status of listener
|
86
|
+
/// </summary>
|
87
|
+
private static int currentStatus;
|
88
|
+
|
89
|
+
/// <summary>
|
90
|
+
/// Accelerometer
|
91
|
+
/// </summary>
|
92
|
+
private static Microsoft.Devices.Sensors.Accelerometer accelerometer = new Microsoft.Devices.Sensors.Accelerometer();
|
93
|
+
|
94
|
+
private static DateTime StartOfEpoch = new DateTime(1970, 1, 1, 0, 0, 0);
|
95
|
+
|
96
|
+
#endregion
|
97
|
+
|
98
|
+
/// <summary>
|
99
|
+
/// Sensor listener event
|
100
|
+
/// </summary>
|
101
|
+
private void accelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e)
|
102
|
+
{
|
103
|
+
this.SetStatus(Running);
|
104
|
+
|
105
|
+
PluginResult result = new PluginResult(PluginResult.Status.OK, GetCurrentAccelerationFormatted());
|
106
|
+
result.KeepCallback = true;
|
107
|
+
DispatchCommandResult(result);
|
108
|
+
}
|
109
|
+
|
110
|
+
/// <summary>
|
111
|
+
/// Starts listening for acceleration sensor
|
112
|
+
/// </summary>
|
113
|
+
/// <returns>status of listener</returns>
|
114
|
+
public void start(string options)
|
115
|
+
{
|
116
|
+
if ((currentStatus == Running) || (currentStatus == Starting))
|
117
|
+
{
|
118
|
+
return;
|
119
|
+
}
|
120
|
+
try
|
121
|
+
{
|
122
|
+
lock (accelerometer)
|
123
|
+
{
|
124
|
+
accelerometer.CurrentValueChanged += accelerometer_CurrentValueChanged;
|
125
|
+
accelerometer.Start();
|
126
|
+
this.SetStatus(Starting);
|
127
|
+
}
|
128
|
+
|
129
|
+
long timeout = 2000;
|
130
|
+
while ((currentStatus == Starting) && (timeout > 0))
|
131
|
+
{
|
132
|
+
timeout = timeout - 100;
|
133
|
+
Thread.Sleep(100);
|
134
|
+
}
|
135
|
+
|
136
|
+
if (currentStatus != Running)
|
137
|
+
{
|
138
|
+
this.SetStatus(ErrorFailedToStart);
|
139
|
+
DispatchCommandResult(new PluginResult(PluginResult.Status.IO_EXCEPTION, ErrorFailedToStart));
|
140
|
+
return;
|
141
|
+
}
|
142
|
+
}
|
143
|
+
catch (Exception)
|
144
|
+
{
|
145
|
+
this.SetStatus(ErrorFailedToStart);
|
146
|
+
DispatchCommandResult(new PluginResult(PluginResult.Status.IO_EXCEPTION, ErrorFailedToStart));
|
147
|
+
return;
|
148
|
+
}
|
149
|
+
PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT);
|
150
|
+
result.KeepCallback = true;
|
151
|
+
DispatchCommandResult(result);
|
152
|
+
}
|
153
|
+
|
154
|
+
public void stop(string options)
|
155
|
+
{
|
156
|
+
if (currentStatus == Running)
|
157
|
+
{
|
158
|
+
lock (accelerometer)
|
159
|
+
{
|
160
|
+
accelerometer.CurrentValueChanged -= accelerometer_CurrentValueChanged;
|
161
|
+
accelerometer.Stop();
|
162
|
+
this.SetStatus(Stopped);
|
163
|
+
}
|
164
|
+
}
|
165
|
+
DispatchCommandResult(new PluginResult(PluginResult.Status.OK));
|
166
|
+
}
|
167
|
+
|
168
|
+
/// <summary>
|
169
|
+
/// Formats current coordinates into JSON format
|
170
|
+
/// </summary>
|
171
|
+
/// <returns>Coordinates in JSON format</returns>
|
172
|
+
private string GetCurrentAccelerationFormatted()
|
173
|
+
{
|
174
|
+
// convert to unix timestamp
|
175
|
+
long timestamp = ((accelerometer.CurrentValue.Timestamp.DateTime - StartOfEpoch).Ticks) / 10000;
|
176
|
+
string resultCoordinates = String.Format("\"x\":{0},\"y\":{1},\"z\":{2},\"timestamp\":{3}",
|
177
|
+
(accelerometer.CurrentValue.Acceleration.X * gConstant).ToString("0.00000", CultureInfo.InvariantCulture),
|
178
|
+
(accelerometer.CurrentValue.Acceleration.Y * gConstant).ToString("0.00000", CultureInfo.InvariantCulture),
|
179
|
+
(accelerometer.CurrentValue.Acceleration.Z * gConstant).ToString("0.00000", CultureInfo.InvariantCulture),
|
180
|
+
timestamp.ToString());
|
181
|
+
resultCoordinates = "{" + resultCoordinates + "}";
|
182
|
+
return resultCoordinates;
|
183
|
+
}
|
184
|
+
|
185
|
+
/// <summary>
|
186
|
+
/// Sets current status
|
187
|
+
/// </summary>
|
188
|
+
/// <param name="status">current status</param>
|
189
|
+
private void SetStatus(int status)
|
190
|
+
{
|
191
|
+
currentStatus = status;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
}
|
195
|
+
|
data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/AudioPlayer.cs
ADDED
@@ -0,0 +1,617 @@
|
|
1
|
+
/*
|
2
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
3
|
+
you may not use this file except in compliance with the License.
|
4
|
+
You may obtain a copy of the License at
|
5
|
+
|
6
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
|
8
|
+
Unless required by applicable law or agreed to in writing, software
|
9
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
See the License for the specific language governing permissions and
|
12
|
+
limitations under the License.
|
13
|
+
*/
|
14
|
+
|
15
|
+
using System;
|
16
|
+
using System.IO;
|
17
|
+
using System.IO.IsolatedStorage;
|
18
|
+
using System.Windows;
|
19
|
+
using System.Windows.Controls;
|
20
|
+
using System.Windows.Threading;
|
21
|
+
using Microsoft.Xna.Framework;
|
22
|
+
using Microsoft.Xna.Framework.Audio;
|
23
|
+
using Microsoft.Xna.Framework.Media;
|
24
|
+
using Microsoft.Phone.Controls;
|
25
|
+
using System.Diagnostics;
|
26
|
+
|
27
|
+
namespace WP7CordovaClassLib.Cordova.Commands
|
28
|
+
{
|
29
|
+
/// <summary>
|
30
|
+
/// Implements audio record and play back functionality.
|
31
|
+
/// </summary>
|
32
|
+
internal class AudioPlayer : IDisposable
|
33
|
+
{
|
34
|
+
#region Constants
|
35
|
+
|
36
|
+
// AudioPlayer states
|
37
|
+
private const int MediaNone = 0;
|
38
|
+
private const int MediaStarting = 1;
|
39
|
+
private const int MediaRunning = 2;
|
40
|
+
private const int MediaPaused = 3;
|
41
|
+
private const int MediaStopped = 4;
|
42
|
+
|
43
|
+
// AudioPlayer messages
|
44
|
+
private const int MediaState = 1;
|
45
|
+
private const int MediaDuration = 2;
|
46
|
+
private const int MediaPosition = 3;
|
47
|
+
private const int MediaError = 9;
|
48
|
+
|
49
|
+
// AudioPlayer errors
|
50
|
+
private const int MediaErrorPlayModeSet = 1;
|
51
|
+
private const int MediaErrorAlreadyRecording = 2;
|
52
|
+
private const int MediaErrorStartingRecording = 3;
|
53
|
+
private const int MediaErrorRecordModeSet = 4;
|
54
|
+
private const int MediaErrorStartingPlayback = 5;
|
55
|
+
private const int MediaErrorResumeState = 6;
|
56
|
+
private const int MediaErrorPauseState = 7;
|
57
|
+
private const int MediaErrorStopState = 8;
|
58
|
+
|
59
|
+
//TODO: get rid of this callback, it should be universal
|
60
|
+
private const string CallbackFunction = "CordovaMediaonStatus";
|
61
|
+
|
62
|
+
#endregion
|
63
|
+
|
64
|
+
/// <summary>
|
65
|
+
/// The AudioHandler object
|
66
|
+
/// </summary>
|
67
|
+
private Media handler;
|
68
|
+
|
69
|
+
/// <summary>
|
70
|
+
/// Temporary buffer to store audio chunk
|
71
|
+
/// </summary>
|
72
|
+
private byte[] buffer;
|
73
|
+
|
74
|
+
/// <summary>
|
75
|
+
/// Xna game loop dispatcher
|
76
|
+
/// </summary>
|
77
|
+
DispatcherTimer dtXna;
|
78
|
+
|
79
|
+
/// <summary>
|
80
|
+
/// Output buffer
|
81
|
+
/// </summary>
|
82
|
+
private MemoryStream memoryStream;
|
83
|
+
|
84
|
+
/// <summary>
|
85
|
+
/// The id of this player (used to identify Media object in JavaScript)
|
86
|
+
/// </summary>
|
87
|
+
private String id;
|
88
|
+
|
89
|
+
/// <summary>
|
90
|
+
/// State of recording or playback
|
91
|
+
/// </summary>
|
92
|
+
private int state = MediaNone;
|
93
|
+
|
94
|
+
/// <summary>
|
95
|
+
/// File name to play or record to
|
96
|
+
/// </summary>
|
97
|
+
private String audioFile = null;
|
98
|
+
|
99
|
+
/// <summary>
|
100
|
+
/// Duration of audio
|
101
|
+
/// </summary>
|
102
|
+
private double duration = -1;
|
103
|
+
|
104
|
+
/// <summary>
|
105
|
+
/// Audio player object
|
106
|
+
/// </summary>
|
107
|
+
private MediaElement player = null;
|
108
|
+
|
109
|
+
/// <summary>
|
110
|
+
/// Audio source
|
111
|
+
/// </summary>
|
112
|
+
private Microphone recorder;
|
113
|
+
|
114
|
+
/// <summary>
|
115
|
+
/// Internal flag specified that we should only open audio w/o playing it
|
116
|
+
/// </summary>
|
117
|
+
private bool prepareOnly = false;
|
118
|
+
|
119
|
+
/// <summary>
|
120
|
+
/// Creates AudioPlayer instance
|
121
|
+
/// </summary>
|
122
|
+
/// <param name="handler">Media object</param>
|
123
|
+
/// <param name="id">player id</param>
|
124
|
+
public AudioPlayer(Media handler, String id)
|
125
|
+
{
|
126
|
+
this.handler = handler;
|
127
|
+
this.id = id;
|
128
|
+
}
|
129
|
+
|
130
|
+
/// <summary>
|
131
|
+
/// Destroys player and stop audio playing or recording
|
132
|
+
/// </summary>
|
133
|
+
public void Dispose()
|
134
|
+
{
|
135
|
+
Debug.WriteLine("Dispose :: " + this.audioFile);
|
136
|
+
if (this.player != null)
|
137
|
+
{
|
138
|
+
this.stopPlaying();
|
139
|
+
this.player = null;
|
140
|
+
}
|
141
|
+
if (this.recorder != null)
|
142
|
+
{
|
143
|
+
this.stopRecording();
|
144
|
+
this.recorder = null;
|
145
|
+
}
|
146
|
+
|
147
|
+
this.FinalizeXnaGameLoop();
|
148
|
+
}
|
149
|
+
|
150
|
+
/// <summary>
|
151
|
+
/// Starts recording, data is stored in memory
|
152
|
+
/// </summary>
|
153
|
+
/// <param name="filePath"></param>
|
154
|
+
public void startRecording(string filePath)
|
155
|
+
{
|
156
|
+
if (this.player != null)
|
157
|
+
{
|
158
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorPlayModeSet));
|
159
|
+
}
|
160
|
+
else if (this.recorder == null)
|
161
|
+
{
|
162
|
+
try
|
163
|
+
{
|
164
|
+
this.audioFile = filePath;
|
165
|
+
this.InitializeXnaGameLoop();
|
166
|
+
this.recorder = Microphone.Default;
|
167
|
+
this.recorder.BufferDuration = TimeSpan.FromMilliseconds(500);
|
168
|
+
this.buffer = new byte[recorder.GetSampleSizeInBytes(this.recorder.BufferDuration)];
|
169
|
+
this.recorder.BufferReady += new EventHandler<EventArgs>(recorderBufferReady);
|
170
|
+
this.memoryStream = new MemoryStream();
|
171
|
+
this.WriteWavHeader(this.memoryStream, this.recorder.SampleRate);
|
172
|
+
this.recorder.Start();
|
173
|
+
FrameworkDispatcher.Update();
|
174
|
+
this.SetState(MediaRunning);
|
175
|
+
}
|
176
|
+
catch (Exception)
|
177
|
+
{
|
178
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorStartingRecording));
|
179
|
+
}
|
180
|
+
}
|
181
|
+
else
|
182
|
+
{
|
183
|
+
|
184
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorAlreadyRecording));
|
185
|
+
}
|
186
|
+
}
|
187
|
+
|
188
|
+
/// <summary>
|
189
|
+
/// Stops recording
|
190
|
+
/// </summary>
|
191
|
+
public void stopRecording()
|
192
|
+
{
|
193
|
+
if (this.recorder != null)
|
194
|
+
{
|
195
|
+
if (this.state == MediaRunning)
|
196
|
+
{
|
197
|
+
try
|
198
|
+
{
|
199
|
+
this.recorder.Stop();
|
200
|
+
this.recorder.BufferReady -= recorderBufferReady;
|
201
|
+
this.recorder = null;
|
202
|
+
SaveAudioClipToLocalStorage();
|
203
|
+
this.FinalizeXnaGameLoop();
|
204
|
+
this.SetState(MediaStopped);
|
205
|
+
}
|
206
|
+
catch (Exception)
|
207
|
+
{
|
208
|
+
//TODO
|
209
|
+
}
|
210
|
+
}
|
211
|
+
}
|
212
|
+
}
|
213
|
+
|
214
|
+
/// <summary>
|
215
|
+
/// Starts or resume playing audio file
|
216
|
+
/// </summary>
|
217
|
+
/// <param name="filePath">The name of the audio file</param>
|
218
|
+
/// <summary>
|
219
|
+
/// Starts or resume playing audio file
|
220
|
+
/// </summary>
|
221
|
+
/// <param name="filePath">The name of the audio file</param>
|
222
|
+
public void startPlaying(string filePath)
|
223
|
+
{
|
224
|
+
if (this.recorder != null)
|
225
|
+
{
|
226
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorRecordModeSet));
|
227
|
+
return;
|
228
|
+
}
|
229
|
+
|
230
|
+
|
231
|
+
if (this.player == null)
|
232
|
+
{
|
233
|
+
try
|
234
|
+
{
|
235
|
+
if (this.player == null)
|
236
|
+
{
|
237
|
+
// this.player is a MediaElement, it must be added to the visual tree in order to play
|
238
|
+
PhoneApplicationFrame frame = Application.Current.RootVisual as PhoneApplicationFrame;
|
239
|
+
if (frame != null)
|
240
|
+
{
|
241
|
+
PhoneApplicationPage page = frame.Content as PhoneApplicationPage;
|
242
|
+
if (page != null)
|
243
|
+
{
|
244
|
+
Grid grid = page.FindName("LayoutRoot") as Grid;
|
245
|
+
if (grid != null)
|
246
|
+
{
|
247
|
+
|
248
|
+
this.player = new MediaElement();
|
249
|
+
this.player.Name = "playerMediaElement";
|
250
|
+
grid.Children.Add(this.player);
|
251
|
+
this.player.Visibility = Visibility.Collapsed;
|
252
|
+
this.player.MediaOpened += MediaOpened;
|
253
|
+
this.player.MediaEnded += MediaEnded;
|
254
|
+
this.player.MediaFailed += MediaFailed;
|
255
|
+
}
|
256
|
+
}
|
257
|
+
}
|
258
|
+
|
259
|
+
}
|
260
|
+
this.audioFile = filePath;
|
261
|
+
|
262
|
+
Uri uri = new Uri(filePath, UriKind.RelativeOrAbsolute);
|
263
|
+
if (uri.IsAbsoluteUri)
|
264
|
+
{
|
265
|
+
this.player.Source = uri;
|
266
|
+
}
|
267
|
+
else
|
268
|
+
{
|
269
|
+
using (IsolatedStorageFile isoFile = IsolatedStorageFile.GetUserStoreForApplication())
|
270
|
+
{
|
271
|
+
if (isoFile.FileExists(filePath))
|
272
|
+
{
|
273
|
+
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(filePath, FileMode.Open, isoFile))
|
274
|
+
{
|
275
|
+
this.player.SetSource(stream);
|
276
|
+
}
|
277
|
+
}
|
278
|
+
else
|
279
|
+
{
|
280
|
+
Debug.WriteLine("Error: source doesn't exist :: " + filePath);
|
281
|
+
throw new ArgumentException("Source doesn't exist");
|
282
|
+
}
|
283
|
+
}
|
284
|
+
}
|
285
|
+
this.SetState(MediaStarting);
|
286
|
+
}
|
287
|
+
catch (Exception e)
|
288
|
+
{
|
289
|
+
Debug.WriteLine("Error: " + e.Message);
|
290
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorStartingPlayback));
|
291
|
+
}
|
292
|
+
}
|
293
|
+
else
|
294
|
+
{
|
295
|
+
if (this.state != MediaRunning)
|
296
|
+
{
|
297
|
+
this.player.Play();
|
298
|
+
this.SetState(MediaRunning);
|
299
|
+
}
|
300
|
+
else
|
301
|
+
{
|
302
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorResumeState));
|
303
|
+
}
|
304
|
+
}
|
305
|
+
}
|
306
|
+
|
307
|
+
/// <summary>
|
308
|
+
/// Callback to be invoked when the media source is ready for playback
|
309
|
+
/// </summary>
|
310
|
+
private void MediaOpened(object sender, RoutedEventArgs arg)
|
311
|
+
{
|
312
|
+
if (!this.prepareOnly)
|
313
|
+
{
|
314
|
+
this.player.Play();
|
315
|
+
this.SetState(MediaRunning);
|
316
|
+
}
|
317
|
+
|
318
|
+
this.duration = this.player.NaturalDuration.TimeSpan.TotalSeconds;
|
319
|
+
this.prepareOnly = false;
|
320
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaDuration, this.duration));
|
321
|
+
}
|
322
|
+
|
323
|
+
/// <summary>
|
324
|
+
/// Callback to be invoked when playback of a media source has completed
|
325
|
+
/// </summary>
|
326
|
+
private void MediaEnded(object sender, RoutedEventArgs arg)
|
327
|
+
{
|
328
|
+
this.SetState(MediaStopped);
|
329
|
+
}
|
330
|
+
|
331
|
+
/// <summary>
|
332
|
+
/// Callback to be invoked when playback of a media source has failed
|
333
|
+
/// </summary>
|
334
|
+
private void MediaFailed(object sender, RoutedEventArgs arg)
|
335
|
+
{
|
336
|
+
player.Stop();
|
337
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError.ToString(), "Media failed"));
|
338
|
+
}
|
339
|
+
|
340
|
+
/// <summary>
|
341
|
+
/// Seek or jump to a new time in the track
|
342
|
+
/// </summary>
|
343
|
+
/// <param name="milliseconds">The new track position</param>
|
344
|
+
public void seekToPlaying(int milliseconds)
|
345
|
+
{
|
346
|
+
if (this.player != null)
|
347
|
+
{
|
348
|
+
TimeSpan tsPos = new TimeSpan(0, 0, 0, 0, milliseconds);
|
349
|
+
this.player.Position = tsPos;
|
350
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaPosition, milliseconds / 1000.0f));
|
351
|
+
}
|
352
|
+
}
|
353
|
+
|
354
|
+
/// <summary>
|
355
|
+
/// Set the volume of the player
|
356
|
+
/// </summary>
|
357
|
+
/// <param name="vol">volume 0.0-1.0, default value is 0.5</param>
|
358
|
+
public void setVolume(double vol)
|
359
|
+
{
|
360
|
+
if (this.player != null)
|
361
|
+
{
|
362
|
+
this.player.Volume = vol;
|
363
|
+
}
|
364
|
+
}
|
365
|
+
|
366
|
+
/// <summary>
|
367
|
+
/// Pauses playing
|
368
|
+
/// </summary>
|
369
|
+
public void pausePlaying()
|
370
|
+
{
|
371
|
+
if (this.state == MediaRunning)
|
372
|
+
{
|
373
|
+
this.player.Pause();
|
374
|
+
this.SetState(MediaPaused);
|
375
|
+
}
|
376
|
+
else
|
377
|
+
{
|
378
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorPauseState));
|
379
|
+
}
|
380
|
+
}
|
381
|
+
|
382
|
+
|
383
|
+
/// <summary>
|
384
|
+
/// Stops playing the audio file
|
385
|
+
/// </summary>
|
386
|
+
public void stopPlaying()
|
387
|
+
{
|
388
|
+
if ((this.state == MediaRunning) || (this.state == MediaPaused))
|
389
|
+
{
|
390
|
+
this.player.Stop();
|
391
|
+
|
392
|
+
this.player.Position = new TimeSpan(0L);
|
393
|
+
this.SetState(MediaStopped);
|
394
|
+
}
|
395
|
+
else
|
396
|
+
{
|
397
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaError, MediaErrorStopState));
|
398
|
+
}
|
399
|
+
}
|
400
|
+
|
401
|
+
/// <summary>
|
402
|
+
/// Gets current position of playback
|
403
|
+
/// </summary>
|
404
|
+
/// <returns>current position</returns>
|
405
|
+
public double getCurrentPosition()
|
406
|
+
{
|
407
|
+
if ((this.state == MediaRunning) || (this.state == MediaPaused))
|
408
|
+
{
|
409
|
+
double currentPosition = this.player.Position.TotalSeconds;
|
410
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaPosition, currentPosition));
|
411
|
+
return currentPosition;
|
412
|
+
}
|
413
|
+
else
|
414
|
+
{
|
415
|
+
return -1;
|
416
|
+
}
|
417
|
+
}
|
418
|
+
|
419
|
+
/// <summary>
|
420
|
+
/// Gets the duration of the audio file
|
421
|
+
/// </summary>
|
422
|
+
/// <param name="filePath">The name of the audio file</param>
|
423
|
+
/// <returns>track duration</returns>
|
424
|
+
public double getDuration(string filePath)
|
425
|
+
{
|
426
|
+
if (this.recorder != null)
|
427
|
+
{
|
428
|
+
return (-2);
|
429
|
+
}
|
430
|
+
|
431
|
+
if (this.player != null)
|
432
|
+
{
|
433
|
+
return this.duration;
|
434
|
+
|
435
|
+
}
|
436
|
+
else
|
437
|
+
{
|
438
|
+
this.prepareOnly = true;
|
439
|
+
this.startPlaying(filePath);
|
440
|
+
return this.duration;
|
441
|
+
}
|
442
|
+
}
|
443
|
+
|
444
|
+
/// <summary>
|
445
|
+
/// Sets the state and send it to JavaScript
|
446
|
+
/// </summary>
|
447
|
+
/// <param name="state">state</param>
|
448
|
+
private void SetState(int state)
|
449
|
+
{
|
450
|
+
if (this.state != state)
|
451
|
+
{
|
452
|
+
this.handler.InvokeCustomScript(new ScriptCallback(CallbackFunction, this.id, MediaState, state));
|
453
|
+
}
|
454
|
+
|
455
|
+
this.state = state;
|
456
|
+
}
|
457
|
+
|
458
|
+
#region record methods
|
459
|
+
|
460
|
+
/// <summary>
|
461
|
+
/// Copies data from recorder to memory storages and updates recording state
|
462
|
+
/// </summary>
|
463
|
+
/// <param name="sender"></param>
|
464
|
+
/// <param name="e"></param>
|
465
|
+
private void recorderBufferReady(object sender, EventArgs e)
|
466
|
+
{
|
467
|
+
this.recorder.GetData(this.buffer);
|
468
|
+
this.memoryStream.Write(this.buffer, 0, this.buffer.Length);
|
469
|
+
}
|
470
|
+
|
471
|
+
/// <summary>
|
472
|
+
/// Writes audio data from memory to isolated storage
|
473
|
+
/// </summary>
|
474
|
+
/// <returns></returns>
|
475
|
+
private void SaveAudioClipToLocalStorage()
|
476
|
+
{
|
477
|
+
if (this.memoryStream == null || this.memoryStream.Length <= 0)
|
478
|
+
{
|
479
|
+
return;
|
480
|
+
}
|
481
|
+
|
482
|
+
this.UpdateWavHeader(this.memoryStream);
|
483
|
+
|
484
|
+
try
|
485
|
+
{
|
486
|
+
using (IsolatedStorageFile isoFile = IsolatedStorageFile.GetUserStoreForApplication())
|
487
|
+
{
|
488
|
+
string directory = Path.GetDirectoryName(audioFile);
|
489
|
+
|
490
|
+
if (!isoFile.DirectoryExists(directory))
|
491
|
+
{
|
492
|
+
isoFile.CreateDirectory(directory);
|
493
|
+
}
|
494
|
+
|
495
|
+
this.memoryStream.Seek(0, SeekOrigin.Begin);
|
496
|
+
|
497
|
+
using (IsolatedStorageFileStream fileStream = isoFile.CreateFile(audioFile))
|
498
|
+
{
|
499
|
+
this.memoryStream.CopyTo(fileStream);
|
500
|
+
}
|
501
|
+
}
|
502
|
+
}
|
503
|
+
catch (Exception)
|
504
|
+
{
|
505
|
+
//TODO: log or do something else
|
506
|
+
throw;
|
507
|
+
}
|
508
|
+
}
|
509
|
+
|
510
|
+
|
511
|
+
|
512
|
+
#region Wav format
|
513
|
+
// Original source http://damianblog.com/2011/02/07/storing-wp7-recorded-audio-as-wav-format-streams/
|
514
|
+
|
515
|
+
/// <summary>
|
516
|
+
/// Adds wav file format header to the stream
|
517
|
+
/// https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
|
518
|
+
/// </summary>
|
519
|
+
/// <param name="stream">Wav stream</param>
|
520
|
+
/// <param name="sampleRate">Sample Rate</param>
|
521
|
+
private void WriteWavHeader(Stream stream, int sampleRate)
|
522
|
+
{
|
523
|
+
const int bitsPerSample = 16;
|
524
|
+
const int bytesPerSample = bitsPerSample / 8;
|
525
|
+
var encoding = System.Text.Encoding.UTF8;
|
526
|
+
|
527
|
+
// ChunkID Contains the letters "RIFF" in ASCII form (0x52494646 big-endian form).
|
528
|
+
stream.Write(encoding.GetBytes("RIFF"), 0, 4);
|
529
|
+
|
530
|
+
// NOTE this will be filled in later
|
531
|
+
stream.Write(BitConverter.GetBytes(0), 0, 4);
|
532
|
+
|
533
|
+
// Format Contains the letters "WAVE"(0x57415645 big-endian form).
|
534
|
+
stream.Write(encoding.GetBytes("WAVE"), 0, 4);
|
535
|
+
|
536
|
+
// Subchunk1ID Contains the letters "fmt " (0x666d7420 big-endian form).
|
537
|
+
stream.Write(encoding.GetBytes("fmt "), 0, 4);
|
538
|
+
|
539
|
+
// Subchunk1Size 16 for PCM. This is the size of therest of the Subchunk which follows this number.
|
540
|
+
stream.Write(BitConverter.GetBytes(16), 0, 4);
|
541
|
+
|
542
|
+
// AudioFormat PCM = 1 (i.e. Linear quantization) Values other than 1 indicate some form of compression.
|
543
|
+
stream.Write(BitConverter.GetBytes((short)1), 0, 2);
|
544
|
+
|
545
|
+
// NumChannels Mono = 1, Stereo = 2, etc.
|
546
|
+
stream.Write(BitConverter.GetBytes((short)1), 0, 2);
|
547
|
+
|
548
|
+
// SampleRate 8000, 44100, etc.
|
549
|
+
stream.Write(BitConverter.GetBytes(sampleRate), 0, 4);
|
550
|
+
|
551
|
+
// ByteRate = SampleRate * NumChannels * BitsPerSample/8
|
552
|
+
stream.Write(BitConverter.GetBytes(sampleRate * bytesPerSample), 0, 4);
|
553
|
+
|
554
|
+
// BlockAlign NumChannels * BitsPerSample/8 The number of bytes for one sample including all channels.
|
555
|
+
stream.Write(BitConverter.GetBytes((short)(bytesPerSample)), 0, 2);
|
556
|
+
|
557
|
+
// BitsPerSample 8 bits = 8, 16 bits = 16, etc.
|
558
|
+
stream.Write(BitConverter.GetBytes((short)(bitsPerSample)), 0, 2);
|
559
|
+
|
560
|
+
// Subchunk2ID Contains the letters "data" (0x64617461 big-endian form).
|
561
|
+
stream.Write(encoding.GetBytes("data"), 0, 4);
|
562
|
+
|
563
|
+
// NOTE to be filled in later
|
564
|
+
stream.Write(BitConverter.GetBytes(0), 0, 4);
|
565
|
+
}
|
566
|
+
|
567
|
+
/// <summary>
|
568
|
+
/// Updates wav file format header
|
569
|
+
/// https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
|
570
|
+
/// </summary>
|
571
|
+
/// <param name="stream">Wav stream</param>
|
572
|
+
private void UpdateWavHeader(Stream stream)
|
573
|
+
{
|
574
|
+
if (!stream.CanSeek) throw new Exception("Can't seek stream to update wav header");
|
575
|
+
|
576
|
+
var oldPos = stream.Position;
|
577
|
+
|
578
|
+
// ChunkSize 36 + SubChunk2Size
|
579
|
+
stream.Seek(4, SeekOrigin.Begin);
|
580
|
+
stream.Write(BitConverter.GetBytes((int)stream.Length - 8), 0, 4);
|
581
|
+
|
582
|
+
// Subchunk2Size == NumSamples * NumChannels * BitsPerSample/8 This is the number of bytes in the data.
|
583
|
+
stream.Seek(40, SeekOrigin.Begin);
|
584
|
+
stream.Write(BitConverter.GetBytes((int)stream.Length - 44), 0, 4);
|
585
|
+
|
586
|
+
stream.Seek(oldPos, SeekOrigin.Begin);
|
587
|
+
}
|
588
|
+
|
589
|
+
#endregion
|
590
|
+
|
591
|
+
#region Xna loop
|
592
|
+
/// <summary>
|
593
|
+
/// Special initialization required for the microphone: XNA game loop
|
594
|
+
/// </summary>
|
595
|
+
private void InitializeXnaGameLoop()
|
596
|
+
{
|
597
|
+
// Timer to simulate the XNA game loop (Microphone is from XNA)
|
598
|
+
this.dtXna = new DispatcherTimer();
|
599
|
+
this.dtXna.Interval = TimeSpan.FromMilliseconds(33);
|
600
|
+
this.dtXna.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
|
601
|
+
this.dtXna.Start();
|
602
|
+
}
|
603
|
+
/// <summary>
|
604
|
+
/// Finalizes XNA game loop for microphone
|
605
|
+
/// </summary>
|
606
|
+
private void FinalizeXnaGameLoop()
|
607
|
+
{
|
608
|
+
// Timer to simulate the XNA game loop (Microphone is from XNA)
|
609
|
+
this.dtXna.Stop();
|
610
|
+
this.dtXna = null;
|
611
|
+
}
|
612
|
+
|
613
|
+
#endregion
|
614
|
+
|
615
|
+
#endregion
|
616
|
+
}
|
617
|
+
}
|