mobox 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (833) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +89 -0
  5. data/Rakefile +2 -0
  6. data/bin/mobox +275 -0
  7. data/lib/mobox.rb +34 -0
  8. data/lib/mobox/config.rb +36 -0
  9. data/lib/mobox/helpers.rb +9 -0
  10. data/lib/mobox/render_scope.rb +9 -0
  11. data/lib/mobox/server.rb +91 -0
  12. data/lib/mobox/version.rb +3 -0
  13. data/mobox.gemspec +31 -0
  14. data/template/.mobox +2 -0
  15. data/template/Gemfile +3 -0
  16. data/template/config.ru +76 -0
  17. data/template/src/assets/images/mobox-logo-inkscape.svg +177 -0
  18. data/template/src/assets/images/mobox-logo.pdf +0 -0
  19. data/template/src/assets/images/mobox-logo.png +0 -0
  20. data/template/src/assets/images/mobox-logo.svg +120 -0
  21. data/template/src/assets/javascripts/app/config.js.coffee.erb +2 -0
  22. data/template/src/assets/javascripts/app/controllers/.gitignore +0 -0
  23. data/template/src/assets/javascripts/app/controllers/home.js.coffee +10 -0
  24. data/template/src/assets/javascripts/app/helpers/.gitignore +0 -0
  25. data/template/src/assets/javascripts/app/index.js.coffee +7 -0
  26. data/template/src/assets/javascripts/app/lib/.gitignore +0 -0
  27. data/template/src/assets/javascripts/app/lib/app.js.coffee +6 -0
  28. data/template/src/assets/javascripts/app/lib/config.js.coffee +3 -0
  29. data/template/src/assets/javascripts/app/lib/view.js.coffee +18 -0
  30. data/template/src/assets/javascripts/app/models/.gitignore +0 -0
  31. data/template/src/assets/javascripts/app/views/.gitignore +0 -0
  32. data/template/src/assets/javascripts/app/views/home/index.jst.hamljs +8 -0
  33. data/template/src/assets/javascripts/application.js.coffee +25 -0
  34. data/template/src/assets/javascripts/vendor/1140gs/css3-mediaqueries.js +779 -0
  35. data/template/src/assets/javascripts/vendor/cordova-2.0.0.js +5240 -0
  36. data/template/src/assets/javascripts/vendor/gfx/gfx.cube.js +161 -0
  37. data/template/src/assets/javascripts/vendor/gfx/gfx.effects.js +330 -0
  38. data/template/src/assets/javascripts/vendor/gfx/gfx.flip.js +52 -0
  39. data/template/src/assets/javascripts/vendor/gfx/gfx.js +93 -0
  40. data/template/src/assets/javascripts/vendor/gfx/gfx.overlay.js +81 -0
  41. data/template/src/assets/javascripts/vendor/gfx/index.js +5 -0
  42. data/template/src/assets/javascripts/vendor/hammer/.gitignore +1 -0
  43. data/template/src/assets/javascripts/vendor/hammer/LICENSE +19 -0
  44. data/template/src/assets/javascripts/vendor/hammer/hammer.js +741 -0
  45. data/template/src/assets/javascripts/vendor/hammer/index.coffee +2 -0
  46. data/template/src/assets/javascripts/vendor/hammer/jquery.hammer.js +26 -0
  47. data/template/src/assets/javascripts/vendor/hammer/jquery.specialevent.hammer.js +39 -0
  48. data/template/src/assets/javascripts/vendor/jquery.js +4 -0
  49. data/template/src/assets/javascripts/vendor/jquery_transit/index.coffee +1 -0
  50. data/template/src/assets/javascripts/vendor/jquery_transit/jquery.transit.js +658 -0
  51. data/template/src/assets/javascripts/vendor/spine/ajax.js +318 -0
  52. data/template/src/assets/javascripts/vendor/spine/list.js +74 -0
  53. data/template/src/assets/javascripts/vendor/spine/local.js +30 -0
  54. data/template/src/assets/javascripts/vendor/spine/manager.js +158 -0
  55. data/template/src/assets/javascripts/vendor/spine/panel.js +132 -0
  56. data/template/src/assets/javascripts/vendor/spine/relation.js +255 -0
  57. data/template/src/assets/javascripts/vendor/spine/route.js +220 -0
  58. data/template/src/assets/javascripts/vendor/spine/spine.js +913 -0
  59. data/template/src/assets/javascripts/vendor/spine/stage.js +146 -0
  60. data/template/src/assets/javascripts/vendor/spine/tabs.js +66 -0
  61. data/template/src/assets/javascripts/vendor/spine/tmpl.js +22 -0
  62. data/template/src/assets/javascripts/vendor/spine/touch.js +79 -0
  63. data/template/src/assets/stylesheets/application.css.sass +3 -0
  64. data/template/src/assets/stylesheets/base.sass +78 -0
  65. data/template/src/assets/stylesheets/vendor/1140gs/1140gs.sass +110 -0
  66. data/template/src/assets/stylesheets/vendor/1140gs/conditionals.sass +34 -0
  67. data/template/src/assets/stylesheets/vendor/1140gs/ie.css +43 -0
  68. data/template/src/assets/stylesheets/vendor/1140gs/index.sass +1 -0
  69. data/template/src/assets/stylesheets/vendor/spine_mobile/index.sass +1 -0
  70. data/template/src/assets/stylesheets/vendor/spine_mobile/mixin.sass +89 -0
  71. data/template/src/assets/stylesheets/vendor/spine_mobile/spine_mobile.sass +57 -0
  72. data/template/src/assets/stylesheets/vendor/spine_mobile/theme.sass +79 -0
  73. data/template/src/config.yml +2 -0
  74. data/template/src/index.haml +21 -0
  75. data/vendor/compass-sprockets/README.md +5 -0
  76. data/vendor/compass-sprockets/lib/compass-sprockets.rb +32 -0
  77. data/vendor/compass-sprockets/lib/compass/sprockets.rb +56 -0
  78. data/vendor/compass-sprockets/lib/compass/sprockets/version.rb +6 -0
  79. data/vendor/compass-sprockets/lib/sprockets/compressors.rb +96 -0
  80. data/vendor/compass-sprockets/lib/sprockets/static_compiler.rb +62 -0
  81. data/vendor/haml-sprockets/Gemfile +4 -0
  82. data/vendor/haml-sprockets/LICENSE +8 -0
  83. data/vendor/haml-sprockets/README.md +33 -0
  84. data/vendor/haml-sprockets/Rakefile +1 -0
  85. data/vendor/haml-sprockets/lib/haml-sprockets.rb +34 -0
  86. data/vendor/haml-sprockets/lib/haml-sprockets/engine.rb +7 -0
  87. data/vendor/haml-sprockets/lib/haml-sprockets/version.rb +5 -0
  88. data/vendor/haml-sprockets/spec/lib/haml-sprockets_spec.rb +43 -0
  89. data/vendor/haml-sprockets/spec/spec_helper.rb +2 -0
  90. data/vendor/haml-sprockets/vendor/assets/javascripts/haml.js +651 -0
  91. data/vendor/phonegap/.gitignore +19 -0
  92. data/vendor/phonegap/LICENSE +426 -0
  93. data/vendor/phonegap/README.md +49 -0
  94. data/vendor/phonegap/VERSION +1 -0
  95. data/vendor/phonegap/changelog +205 -0
  96. data/vendor/phonegap/doc/LICENSE +548 -0
  97. data/vendor/phonegap/doc/NOTICE +11 -0
  98. data/vendor/phonegap/doc/_index.html +355 -0
  99. data/vendor/phonegap/doc/_index.json +1 -0
  100. data/vendor/phonegap/doc/arrow.png +0 -0
  101. data/vendor/phonegap/doc/cordova_accelerometer_accelerometer.md.html +728 -0
  102. data/vendor/phonegap/doc/cordova_camera_camera.cleanup.md.html +159 -0
  103. data/vendor/phonegap/doc/cordova_camera_camera.md.html +670 -0
  104. data/vendor/phonegap/doc/cordova_compass_compass.md.html +707 -0
  105. data/vendor/phonegap/doc/cordova_connection_connection.md.html +355 -0
  106. data/vendor/phonegap/doc/cordova_contacts_contacts.md.html +1715 -0
  107. data/vendor/phonegap/doc/cordova_device_device.md.html +682 -0
  108. data/vendor/phonegap/doc/cordova_events_events.md.html +1538 -0
  109. data/vendor/phonegap/doc/cordova_file_file.md.html +2306 -0
  110. data/vendor/phonegap/doc/cordova_geolocation_geolocation.md.html +1002 -0
  111. data/vendor/phonegap/doc/cordova_media_capture_capture.md.html +1256 -0
  112. data/vendor/phonegap/doc/cordova_media_media.md.html +1745 -0
  113. data/vendor/phonegap/doc/cordova_notification_notification.md.html +691 -0
  114. data/vendor/phonegap/doc/cordova_storage_storage.md.html +988 -0
  115. data/vendor/phonegap/doc/guide_command-line_index.md.html +323 -0
  116. data/vendor/phonegap/doc/guide_cordova-webview_android.md.html +180 -0
  117. data/vendor/phonegap/doc/guide_cordova-webview_index.md.html +131 -0
  118. data/vendor/phonegap/doc/guide_cordova-webview_ios.md.html +275 -0
  119. data/vendor/phonegap/doc/guide_getting-started_android_index.md.html +291 -0
  120. data/vendor/phonegap/doc/guide_getting-started_bada_index.md.html +225 -0
  121. data/vendor/phonegap/doc/guide_getting-started_blackberry_index.md.html +267 -0
  122. data/vendor/phonegap/doc/guide_getting-started_index.md.html +132 -0
  123. data/vendor/phonegap/doc/guide_getting-started_ios_index.md.html +248 -0
  124. data/vendor/phonegap/doc/guide_getting-started_symbian_index.md.html +198 -0
  125. data/vendor/phonegap/doc/guide_getting-started_webos_index.md.html +200 -0
  126. data/vendor/phonegap/doc/guide_getting-started_windows-phone_index.md.html +228 -0
  127. data/vendor/phonegap/doc/guide_plugin-development_android_index.md.html +275 -0
  128. data/vendor/phonegap/doc/guide_plugin-development_bada_index.md.html +192 -0
  129. data/vendor/phonegap/doc/guide_plugin-development_blackberry_index.md.html +259 -0
  130. data/vendor/phonegap/doc/guide_plugin-development_index.md.html +230 -0
  131. data/vendor/phonegap/doc/guide_plugin-development_ios_index.md.html +282 -0
  132. data/vendor/phonegap/doc/guide_plugin-development_webos_index.md.html +125 -0
  133. data/vendor/phonegap/doc/guide_plugin-development_windows-phone_index.md.html +125 -0
  134. data/vendor/phonegap/doc/guide_upgrading_android_index.md.html +321 -0
  135. data/vendor/phonegap/doc/guide_upgrading_bada_index.md.html +165 -0
  136. data/vendor/phonegap/doc/guide_upgrading_blackberry_index.md.html +244 -0
  137. data/vendor/phonegap/doc/guide_upgrading_index.md.html +136 -0
  138. data/vendor/phonegap/doc/guide_upgrading_ios_index.md.html +547 -0
  139. data/vendor/phonegap/doc/guide_upgrading_symbian_index.md.html +123 -0
  140. data/vendor/phonegap/doc/guide_upgrading_webos_index.md.html +161 -0
  141. data/vendor/phonegap/doc/guide_upgrading_windows-phone_index.md.html +332 -0
  142. data/vendor/phonegap/doc/guide_whitelist_index.md.html +299 -0
  143. data/vendor/phonegap/doc/img/guide/getting-started/android/AndroidFlow.png +0 -0
  144. data/vendor/phonegap/doc/img/guide/getting-started/android/buildPath.jpg +0 -0
  145. data/vendor/phonegap/doc/img/guide/getting-started/android/javaSrc.jpg +0 -0
  146. data/vendor/phonegap/doc/img/guide/getting-started/android/manifest.jpg +0 -0
  147. data/vendor/phonegap/doc/img/guide/getting-started/android/manifest.png +0 -0
  148. data/vendor/phonegap/doc/img/guide/getting-started/android/new_android_project.jpeg +0 -0
  149. data/vendor/phonegap/doc/img/guide/getting-started/android/step_1.png +0 -0
  150. data/vendor/phonegap/doc/img/guide/getting-started/android/step_2.png +0 -0
  151. data/vendor/phonegap/doc/img/guide/getting-started/android/step_3.png +0 -0
  152. data/vendor/phonegap/doc/img/guide/getting-started/android/step_4.png +0 -0
  153. data/vendor/phonegap/doc/img/guide/getting-started/android/step_5.png +0 -0
  154. data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_1_run.png +0 -0
  155. data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_2_run.png +0 -0
  156. data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_project.png +0 -0
  157. data/vendor/phonegap/doc/img/guide/getting-started/bada/bada_set_target.png +0 -0
  158. data/vendor/phonegap/doc/img/guide/getting-started/bada/import_bada_project.png +0 -0
  159. data/vendor/phonegap/doc/img/guide/getting-started/bada/import_bada_project_2.png +0 -0
  160. data/vendor/phonegap/doc/img/guide/getting-started/ios/HelloWorldiPhone4.png +0 -0
  161. data/vendor/phonegap/doc/img/guide/getting-started/ios/XCode4-templates.png +0 -0
  162. data/vendor/phonegap/doc/img/guide/getting-started/ios/bin_create_project.png +0 -0
  163. data/vendor/phonegap/doc/img/guide/getting-started/ios/bin_folder.png +0 -0
  164. data/vendor/phonegap/doc/img/guide/getting-started/ios/create-folder-reference.png +0 -0
  165. data/vendor/phonegap/doc/img/guide/getting-started/ios/index-not-found.png +0 -0
  166. data/vendor/phonegap/doc/img/guide/getting-started/ios/project.jpg +0 -0
  167. data/vendor/phonegap/doc/img/guide/getting-started/ios/www-folder.png +0 -0
  168. data/vendor/phonegap/doc/img/guide/getting-started/ios/xcode4-name_your_app.png +0 -0
  169. data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wp7projectstructure.PNG +0 -0
  170. data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wpd.png +0 -0
  171. data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wpfirstrun.PNG +0 -0
  172. data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wpnewproj.PNG +0 -0
  173. data/vendor/phonegap/doc/img/guide/getting-started/windows-phone/wprun.png +0 -0
  174. data/vendor/phonegap/doc/index.css +404 -0
  175. data/vendor/phonegap/doc/index.html +210 -0
  176. data/vendor/phonegap/doc/index.js +74 -0
  177. data/vendor/phonegap/doc/line.png +0 -0
  178. data/vendor/phonegap/doc/mobile.css +139 -0
  179. data/vendor/phonegap/doc/prettify/LICENSE +191 -0
  180. data/vendor/phonegap/doc/prettify/lang-apollo.js +2 -0
  181. data/vendor/phonegap/doc/prettify/lang-css.js +2 -0
  182. data/vendor/phonegap/doc/prettify/lang-hs.js +2 -0
  183. data/vendor/phonegap/doc/prettify/lang-lisp.js +2 -0
  184. data/vendor/phonegap/doc/prettify/lang-lua.js +2 -0
  185. data/vendor/phonegap/doc/prettify/lang-ml.js +2 -0
  186. data/vendor/phonegap/doc/prettify/lang-proto.js +1 -0
  187. data/vendor/phonegap/doc/prettify/lang-scala.js +2 -0
  188. data/vendor/phonegap/doc/prettify/lang-sql.js +2 -0
  189. data/vendor/phonegap/doc/prettify/lang-vb.js +2 -0
  190. data/vendor/phonegap/doc/prettify/lang-vhdl.js +3 -0
  191. data/vendor/phonegap/doc/prettify/lang-wiki.js +2 -0
  192. data/vendor/phonegap/doc/prettify/lang-yaml.js +2 -0
  193. data/vendor/phonegap/doc/prettify/prettify.css +44 -0
  194. data/vendor/phonegap/doc/prettify/prettify.js +33 -0
  195. data/vendor/phonegap/keys +201 -0
  196. data/vendor/phonegap/lib/DISCLAIMER +8 -0
  197. data/vendor/phonegap/lib/LICENSE +548 -0
  198. data/vendor/phonegap/lib/NOTICE +11 -0
  199. data/vendor/phonegap/lib/README.MD +54 -0
  200. data/vendor/phonegap/lib/android/LICENSE +202 -0
  201. data/vendor/phonegap/lib/android/NOTICE +5 -0
  202. data/vendor/phonegap/lib/android/README.md +114 -0
  203. data/vendor/phonegap/lib/android/VERSION +1 -0
  204. data/vendor/phonegap/lib/android/bin/create +147 -0
  205. data/vendor/phonegap/lib/android/bin/create.bat +15 -0
  206. data/vendor/phonegap/lib/android/bin/create.js +188 -0
  207. data/vendor/phonegap/lib/android/bin/create.xml +98 -0
  208. data/vendor/phonegap/lib/android/bin/package.json +22 -0
  209. data/vendor/phonegap/lib/android/bin/templates/cordova/ApplicationInfo/ApplicationInfo.class +0 -0
  210. data/vendor/phonegap/lib/android/bin/templates/cordova/ApplicationInfo/ApplicationInfo.java +44 -0
  211. data/vendor/phonegap/lib/android/bin/templates/cordova/BOOM +7 -0
  212. data/vendor/phonegap/lib/android/bin/templates/cordova/BOOM.bat +1 -0
  213. data/vendor/phonegap/lib/android/bin/templates/cordova/appinfo.jar +0 -0
  214. data/vendor/phonegap/lib/android/bin/templates/cordova/clean +7 -0
  215. data/vendor/phonegap/lib/android/bin/templates/cordova/clean.bat +1 -0
  216. data/vendor/phonegap/lib/android/bin/templates/cordova/cordova +85 -0
  217. data/vendor/phonegap/lib/android/bin/templates/cordova/cordova.bat +15 -0
  218. data/vendor/phonegap/lib/android/bin/templates/cordova/cordova.js +104 -0
  219. data/vendor/phonegap/lib/android/bin/templates/cordova/debug +7 -0
  220. data/vendor/phonegap/lib/android/bin/templates/cordova/debug.bat +1 -0
  221. data/vendor/phonegap/lib/android/bin/templates/cordova/emulate +7 -0
  222. data/vendor/phonegap/lib/android/bin/templates/cordova/emulate.bat +1 -0
  223. data/vendor/phonegap/lib/android/bin/templates/cordova/log +7 -0
  224. data/vendor/phonegap/lib/android/bin/templates/cordova/log.bat +1 -0
  225. data/vendor/phonegap/lib/android/bin/templates/project/Activity.java +35 -0
  226. data/vendor/phonegap/lib/android/bin/templates/project/AndroidManifest.xml +61 -0
  227. data/vendor/phonegap/lib/android/bin/templates/project/assets/www/index.html +60 -0
  228. data/vendor/phonegap/lib/android/bin/templates/project/assets/www/main.js +165 -0
  229. data/vendor/phonegap/lib/android/bin/templates/project/assets/www/master.css +116 -0
  230. data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-hdpi/icon.png +0 -0
  231. data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-ldpi/icon.png +0 -0
  232. data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-mdpi/icon.png +0 -0
  233. data/vendor/phonegap/lib/android/bin/templates/project/res/drawable-xhdpi/icon.png +0 -0
  234. data/vendor/phonegap/lib/android/bin/templates/project/res/drawable/icon.png +0 -0
  235. data/vendor/phonegap/lib/android/bin/tests/test_create_unix.js +135 -0
  236. data/vendor/phonegap/lib/android/bin/tests/test_create_win.js +143 -0
  237. data/vendor/phonegap/lib/android/cordova-2.0.0.jar +0 -0
  238. data/vendor/phonegap/lib/android/cordova-2.0.0.js +5724 -0
  239. data/vendor/phonegap/lib/android/example/AndroidManifest.xml +61 -0
  240. data/vendor/phonegap/lib/android/example/ant.properties +17 -0
  241. data/vendor/phonegap/lib/android/example/assets/www/cordova-2.0.0.js +5724 -0
  242. data/vendor/phonegap/lib/android/example/assets/www/index.html +60 -0
  243. data/vendor/phonegap/lib/android/example/assets/www/main.js +165 -0
  244. data/vendor/phonegap/lib/android/example/assets/www/master.css +116 -0
  245. data/vendor/phonegap/lib/android/example/build.xml +83 -0
  246. data/vendor/phonegap/lib/android/example/cordova/BOOM +7 -0
  247. data/vendor/phonegap/lib/android/example/cordova/appinfo.jar +0 -0
  248. data/vendor/phonegap/lib/android/example/cordova/clean +7 -0
  249. data/vendor/phonegap/lib/android/example/cordova/cordova +85 -0
  250. data/vendor/phonegap/lib/android/example/cordova/debug +7 -0
  251. data/vendor/phonegap/lib/android/example/cordova/emulate +7 -0
  252. data/vendor/phonegap/lib/android/example/cordova/log +7 -0
  253. data/vendor/phonegap/lib/android/example/libs/cordova-2.0.0.jar +0 -0
  254. data/vendor/phonegap/lib/android/example/proguard-project.txt +20 -0
  255. data/vendor/phonegap/lib/android/example/project.properties +14 -0
  256. data/vendor/phonegap/lib/android/example/res/drawable-hdpi/ic_launcher.png +0 -0
  257. data/vendor/phonegap/lib/android/example/res/drawable-hdpi/icon.png +0 -0
  258. data/vendor/phonegap/lib/android/example/res/drawable-ldpi/ic_launcher.png +0 -0
  259. data/vendor/phonegap/lib/android/example/res/drawable-ldpi/icon.png +0 -0
  260. data/vendor/phonegap/lib/android/example/res/drawable-mdpi/ic_launcher.png +0 -0
  261. data/vendor/phonegap/lib/android/example/res/drawable-mdpi/icon.png +0 -0
  262. data/vendor/phonegap/lib/android/example/res/drawable-xhdpi/icon.png +0 -0
  263. data/vendor/phonegap/lib/android/example/res/drawable/icon.png +0 -0
  264. data/vendor/phonegap/lib/android/example/res/layout/main.xml +13 -0
  265. data/vendor/phonegap/lib/android/example/res/values/strings.xml +4 -0
  266. data/vendor/phonegap/lib/android/example/res/xml/config.xml +54 -0
  267. data/vendor/phonegap/lib/android/example/src/org/apache/cordova/example/cordovaExample.java +35 -0
  268. data/vendor/phonegap/lib/android/xml/config.xml +54 -0
  269. data/vendor/phonegap/lib/bada/Icons/Cordova.png +0 -0
  270. data/vendor/phonegap/lib/bada/Icons/Cordova_Splash.png +0 -0
  271. data/vendor/phonegap/lib/bada/LICENSE +202 -0
  272. data/vendor/phonegap/lib/bada/NOTICE +5 -0
  273. data/vendor/phonegap/lib/bada/README.md +48 -0
  274. data/vendor/phonegap/lib/bada/Res/cordova/accelerometer.js +131 -0
  275. data/vendor/phonegap/lib/bada/Res/cordova/camera.js +102 -0
  276. data/vendor/phonegap/lib/bada/Res/cordova/compass.js +77 -0
  277. data/vendor/phonegap/lib/bada/Res/cordova/contact.js +355 -0
  278. data/vendor/phonegap/lib/bada/Res/cordova/cordova.base.js +561 -0
  279. data/vendor/phonegap/lib/bada/Res/cordova/cordova.bat +21 -0
  280. data/vendor/phonegap/lib/bada/Res/cordova/cordova.js +1661 -0
  281. data/vendor/phonegap/lib/bada/Res/cordova/debugconsole.js +126 -0
  282. data/vendor/phonegap/lib/bada/Res/cordova/device.js +46 -0
  283. data/vendor/phonegap/lib/bada/Res/cordova/file.js +682 -0
  284. data/vendor/phonegap/lib/bada/Res/cordova/geolocation.js +152 -0
  285. data/vendor/phonegap/lib/bada/Res/cordova/network.js +70 -0
  286. data/vendor/phonegap/lib/bada/Res/cordova/notification.js +117 -0
  287. data/vendor/phonegap/lib/bada/Res/cordova/position.js +74 -0
  288. data/vendor/phonegap/lib/bada/Res/eng-GB.xml +26 -0
  289. data/vendor/phonegap/lib/bada/Res/images/cordova_logo_normal_dark.png +0 -0
  290. data/vendor/phonegap/lib/bada/Res/index.html +108 -0
  291. data/vendor/phonegap/lib/bada/Res/main.js +390 -0
  292. data/vendor/phonegap/lib/bada/VERSION +1 -0
  293. data/vendor/phonegap/lib/bada/application.xml +45 -0
  294. data/vendor/phonegap/lib/bada/inc/Accelerometer.h +54 -0
  295. data/vendor/phonegap/lib/bada/inc/Compass.h +52 -0
  296. data/vendor/phonegap/lib/bada/inc/Contacts.h +62 -0
  297. data/vendor/phonegap/lib/bada/inc/Cordova.h +82 -0
  298. data/vendor/phonegap/lib/bada/inc/CordovaCommand.h +46 -0
  299. data/vendor/phonegap/lib/bada/inc/DebugConsole.h +41 -0
  300. data/vendor/phonegap/lib/bada/inc/Device.h +43 -0
  301. data/vendor/phonegap/lib/bada/inc/GeoLocation.h +52 -0
  302. data/vendor/phonegap/lib/bada/inc/Kamera.h +49 -0
  303. data/vendor/phonegap/lib/bada/inc/Network.h +56 -0
  304. data/vendor/phonegap/lib/bada/inc/Notification.h +50 -0
  305. data/vendor/phonegap/lib/bada/inc/WebForm.h +97 -0
  306. data/vendor/phonegap/lib/bada/manifest.xml +61 -0
  307. data/vendor/phonegap/lib/bada/src/Accelerometer.cpp +135 -0
  308. data/vendor/phonegap/lib/bada/src/Compass.cpp +131 -0
  309. data/vendor/phonegap/lib/bada/src/Contacts.cpp +600 -0
  310. data/vendor/phonegap/lib/bada/src/Cordova.cpp +139 -0
  311. data/vendor/phonegap/lib/bada/src/CordovaCommand.cpp +33 -0
  312. data/vendor/phonegap/lib/bada/src/CordovaEntry.cpp +60 -0
  313. data/vendor/phonegap/lib/bada/src/DebugConsole.cpp +81 -0
  314. data/vendor/phonegap/lib/bada/src/Device.cpp +81 -0
  315. data/vendor/phonegap/lib/bada/src/GeoLocation.cpp +144 -0
  316. data/vendor/phonegap/lib/bada/src/Kamera.cpp +121 -0
  317. data/vendor/phonegap/lib/bada/src/Network.cpp +123 -0
  318. data/vendor/phonegap/lib/bada/src/Notification.cpp +176 -0
  319. data/vendor/phonegap/lib/bada/src/WebForm.cpp +231 -0
  320. data/vendor/phonegap/lib/badaWac/Icons/codova_bada_wac_splash_type4.png +0 -0
  321. data/vendor/phonegap/lib/badaWac/Icons/codova_bada_wac_splash_type5.png +0 -0
  322. data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_icon_type5.png +0 -0
  323. data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_wac_icon_type3.png +0 -0
  324. data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_wac_icon_type4.png +0 -0
  325. data/vendor/phonegap/lib/badaWac/Icons/cordova_bada_wac_splash_type3.png +0 -0
  326. data/vendor/phonegap/lib/badaWac/LICENSE +201 -0
  327. data/vendor/phonegap/lib/badaWac/NOTICE +5 -0
  328. data/vendor/phonegap/lib/badaWac/README.md +12 -0
  329. data/vendor/phonegap/lib/badaWac/Res/config.xml +47 -0
  330. data/vendor/phonegap/lib/badaWac/Res/cordova-2.0.0.js +5676 -0
  331. data/vendor/phonegap/lib/badaWac/Res/css/index.css +100 -0
  332. data/vendor/phonegap/lib/badaWac/Res/img/cordova.png +0 -0
  333. data/vendor/phonegap/lib/badaWac/Res/index.html +24 -0
  334. data/vendor/phonegap/lib/badaWac/Res/js/index.js +15 -0
  335. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_128.png +0 -0
  336. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_16.png +0 -0
  337. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_24.png +0 -0
  338. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_256.png +0 -0
  339. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_32.png +0 -0
  340. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_48.png +0 -0
  341. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_512.png +0 -0
  342. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_64.png +0 -0
  343. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_36.png +0 -0
  344. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_48.png +0 -0
  345. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_72.png +0 -0
  346. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_android_96.png +0 -0
  347. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_bb_80.png +0 -0
  348. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_114.png +0 -0
  349. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_144.png +0 -0
  350. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_57.png +0 -0
  351. data/vendor/phonegap/lib/badaWac/Res/res/icon/cordova_ios_72.png +0 -0
  352. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_hdpi_landscape.png +0 -0
  353. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_hdpi_portrait.png +0 -0
  354. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_ldpi_landscape.png +0 -0
  355. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_ldpi_portrait.png +0 -0
  356. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_mdpi_landscape.png +0 -0
  357. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_mdpi_portrait.png +0 -0
  358. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_xhdpi_landscape.png +0 -0
  359. data/vendor/phonegap/lib/badaWac/Res/res/screen/android_xhdpi_portrait.png +0 -0
  360. data/vendor/phonegap/lib/badaWac/Res/res/screen/blackberry_transparent_300.png +0 -0
  361. data/vendor/phonegap/lib/badaWac/Res/res/screen/blackberry_transparent_400.png +0 -0
  362. data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_landscape.png +0 -0
  363. data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_portrait.png +0 -0
  364. data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_retina_landscape.png +0 -0
  365. data/vendor/phonegap/lib/badaWac/Res/res/screen/ipad_retina_portrait.png +0 -0
  366. data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_landscape.png +0 -0
  367. data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_portrait.png +0 -0
  368. data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_retina_landscape.png +0 -0
  369. data/vendor/phonegap/lib/badaWac/Res/res/screen/iphone_retina_portrait.png +0 -0
  370. data/vendor/phonegap/lib/badaWac/Res/res/screen/windows_phone_portrait.jpg +0 -0
  371. data/vendor/phonegap/lib/badaWac/Res/sample/index.html +167 -0
  372. data/vendor/phonegap/lib/badaWac/Res/sample/js/cordova.js +5576 -0
  373. data/vendor/phonegap/lib/badaWac/Res/sample/js/sample.js +404 -0
  374. data/vendor/phonegap/lib/badaWac/Res/spec.html +50 -0
  375. data/vendor/phonegap/lib/badaWac/Res/spec/helper.js +11 -0
  376. data/vendor/phonegap/lib/badaWac/Res/spec/index.js +49 -0
  377. data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/MIT.LICENSE +20 -0
  378. data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/jasmine-html.js +616 -0
  379. data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/jasmine.css +81 -0
  380. data/vendor/phonegap/lib/badaWac/Res/spec/lib/jasmine-1.2.0/jasmine.js +2529 -0
  381. data/vendor/phonegap/lib/badaWac/VERSION +1 -0
  382. data/vendor/phonegap/lib/badaWac/application.xml +51 -0
  383. data/vendor/phonegap/lib/badaWac/manifest.xml +58 -0
  384. data/vendor/phonegap/lib/blackberry/LICENSE +268 -0
  385. data/vendor/phonegap/lib/blackberry/NOTICE +8 -0
  386. data/vendor/phonegap/lib/blackberry/README.md +90 -0
  387. data/vendor/phonegap/lib/blackberry/VERSION +1 -0
  388. data/vendor/phonegap/lib/blackberry/bin/create +84 -0
  389. data/vendor/phonegap/lib/blackberry/bin/create.bat +14 -0
  390. data/vendor/phonegap/lib/blackberry/bin/create.js +94 -0
  391. data/vendor/phonegap/lib/blackberry/bin/templates/dist/README.md +90 -0
  392. data/vendor/phonegap/lib/blackberry/bin/templates/project/blackberry.xml +356 -0
  393. data/vendor/phonegap/lib/blackberry/bin/templates/project/build.xml +138 -0
  394. data/vendor/phonegap/lib/blackberry/bin/templates/project/cordova/debug +53 -0
  395. data/vendor/phonegap/lib/blackberry/bin/templates/project/cordova/emulate +40 -0
  396. data/vendor/phonegap/lib/blackberry/bin/templates/project/lib/ant-contrib/LICENSE.txt +47 -0
  397. data/vendor/phonegap/lib/blackberry/bin/templates/project/lib/ant-contrib/ant-contrib-1.0b3.jar +0 -0
  398. data/vendor/phonegap/lib/blackberry/bin/templates/project/playbook.xml +283 -0
  399. data/vendor/phonegap/lib/blackberry/bin/templates/project/project.properties +97 -0
  400. data/vendor/phonegap/lib/blackberry/bin/templates/project/www/config.xml +82 -0
  401. data/vendor/phonegap/lib/blackberry/bin/templates/project/www/index.html +976 -0
  402. data/vendor/phonegap/lib/blackberry/bin/templates/project/www/json2.js +482 -0
  403. data/vendor/phonegap/lib/blackberry/bin/templates/project/www/plugins.xml +34 -0
  404. data/vendor/phonegap/lib/blackberry/bin/templates/project/www/resources/icon.png +0 -0
  405. data/vendor/phonegap/lib/blackberry/bin/templates/project/www/resources/loading_foreground.png +0 -0
  406. data/vendor/phonegap/lib/blackberry/sample/blackberry.xml +356 -0
  407. data/vendor/phonegap/lib/blackberry/sample/build.xml +138 -0
  408. data/vendor/phonegap/lib/blackberry/sample/cordova/debug +53 -0
  409. data/vendor/phonegap/lib/blackberry/sample/cordova/emulate +40 -0
  410. data/vendor/phonegap/lib/blackberry/sample/lib/ant-contrib/LICENSE.txt +47 -0
  411. data/vendor/phonegap/lib/blackberry/sample/lib/ant-contrib/ant-contrib-1.0b3.jar +0 -0
  412. data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/ext-air/Cordova_Network/library.xml +40 -0
  413. data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/ext-air/Cordova_Network/src/org/apache/cordova/network/Network.as +80 -0
  414. data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/ext/cordova.2.0.0.jar +0 -0
  415. data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/javascript/cordova-2.0.0.js +6407 -0
  416. data/vendor/phonegap/lib/blackberry/sample/lib/cordova.2.0.0/javascript/playbook/cordova-2.0.0.js +6845 -0
  417. data/vendor/phonegap/lib/blackberry/sample/playbook.xml +283 -0
  418. data/vendor/phonegap/lib/blackberry/sample/project.properties +97 -0
  419. data/vendor/phonegap/lib/blackberry/sample/www/config.xml +82 -0
  420. data/vendor/phonegap/lib/blackberry/sample/www/cordova-2.0.0.js +6407 -0
  421. data/vendor/phonegap/lib/blackberry/sample/www/ext-air/Cordova_Network/library.xml +40 -0
  422. data/vendor/phonegap/lib/blackberry/sample/www/ext-air/Cordova_Network/src/org/apache/cordova/network/Network.as +80 -0
  423. data/vendor/phonegap/lib/blackberry/sample/www/ext/cordova.2.0.0.jar +0 -0
  424. data/vendor/phonegap/lib/blackberry/sample/www/index.html +976 -0
  425. data/vendor/phonegap/lib/blackberry/sample/www/json2.js +482 -0
  426. data/vendor/phonegap/lib/blackberry/sample/www/playbook/cordova-2.0.0.js +6845 -0
  427. data/vendor/phonegap/lib/blackberry/sample/www/plugins.xml +34 -0
  428. data/vendor/phonegap/lib/blackberry/sample/www/resources/icon.png +0 -0
  429. data/vendor/phonegap/lib/blackberry/sample/www/resources/loading_foreground.png +0 -0
  430. data/vendor/phonegap/lib/blackberry/www/config.xml +82 -0
  431. data/vendor/phonegap/lib/blackberry/www/cordova-2.0.0.js +6407 -0
  432. data/vendor/phonegap/lib/blackberry/www/ext-air/Cordova_Network/library.xml +40 -0
  433. data/vendor/phonegap/lib/blackberry/www/ext-air/Cordova_Network/src/org/apache/cordova/network/Network.as +80 -0
  434. data/vendor/phonegap/lib/blackberry/www/ext/cordova.2.0.0.jar +0 -0
  435. data/vendor/phonegap/lib/blackberry/www/playbook/cordova-2.0.0.js +6845 -0
  436. data/vendor/phonegap/lib/blackberry/www/plugins.xml +34 -0
  437. data/vendor/phonegap/lib/ios/Cordova-2.0.0.dmg +0 -0
  438. data/vendor/phonegap/lib/ios/Cordova-2.0.0.dmg.SHA1 +1 -0
  439. data/vendor/phonegap/lib/ios/LICENSE +394 -0
  440. data/vendor/phonegap/lib/ios/NOTICE +5 -0
  441. data/vendor/phonegap/lib/ios/bin/BOOM +27 -0
  442. data/vendor/phonegap/lib/ios/bin/README.md +29 -0
  443. data/vendor/phonegap/lib/ios/bin/_build.sh +92 -0
  444. data/vendor/phonegap/lib/ios/bin/autotest +24 -0
  445. data/vendor/phonegap/lib/ios/bin/bench +48 -0
  446. data/vendor/phonegap/lib/ios/bin/create +99 -0
  447. data/vendor/phonegap/lib/ios/bin/package.json +15 -0
  448. data/vendor/phonegap/lib/ios/bin/replaces +28 -0
  449. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__.xcodeproj/TemplateIcon.icns +0 -0
  450. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__.xcodeproj/TemplateInfo.plist +28 -0
  451. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__.xcodeproj/project.pbxproj +638 -0
  452. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/.gitignore +6 -0
  453. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/AppDelegate.h +45 -0
  454. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/AppDelegate.m +135 -0
  455. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/MainViewController.h +32 -0
  456. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/MainViewController.m +141 -0
  457. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Classes/MainViewController.xib +138 -0
  458. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Cordova.plist +83 -0
  459. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/CordovaBuildSettings.xcconfig +26 -0
  460. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Plugins/README +20 -0
  461. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg.png +0 -0
  462. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg@2x.png +0 -0
  463. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg@2x~ipad.png +0 -0
  464. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/controls_bg~ipad.png +0 -0
  465. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone.png +0 -0
  466. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone@2x.png +0 -0
  467. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone@2x~ipad.png +0 -0
  468. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/microphone~ipad.png +0 -0
  469. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button.png +0 -0
  470. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button@2x.png +0 -0
  471. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button@2x~ipad.png +0 -0
  472. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/record_button~ipad.png +0 -0
  473. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg.png +0 -0
  474. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg@2x.png +0 -0
  475. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg@2x~ipad.png +0 -0
  476. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/recording_bg~ipad.png +0 -0
  477. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button.png +0 -0
  478. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button@2x.png +0 -0
  479. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button@2x~ipad.png +0 -0
  480. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/Capture.bundle/stop_button~ipad.png +0 -0
  481. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/de.lproj/Localizable.strings +26 -0
  482. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/en.lproj/Localizable.strings +25 -0
  483. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/es.lproj/Localizable.strings +25 -0
  484. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon-72.png +0 -0
  485. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon-72@2x.png +0 -0
  486. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon.png +0 -0
  487. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/icons/icon@2x.png +0 -0
  488. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/se.lproj/Localizable.strings +26 -0
  489. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Landscape@2x~ipad.png +0 -0
  490. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Landscape~ipad.png +0 -0
  491. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Portrait@2x~ipad.png +0 -0
  492. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default-Portrait~ipad.png +0 -0
  493. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default@2x~iphone.png +0 -0
  494. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/Resources/splash/Default~iphone.png +0 -0
  495. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/__TESTING__-Info.plist +78 -0
  496. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/__TESTING__-Prefix.pch +26 -0
  497. data/vendor/phonegap/lib/ios/bin/templates/project/__TESTING__/main.m +35 -0
  498. data/vendor/phonegap/lib/ios/bin/templates/project/cordova/debug +47 -0
  499. data/vendor/phonegap/lib/ios/bin/templates/project/cordova/emulate +58 -0
  500. data/vendor/phonegap/lib/ios/bin/templates/project/cordova/log +26 -0
  501. data/vendor/phonegap/lib/ios/bin/templates/project/www/config.xml +47 -0
  502. data/vendor/phonegap/lib/ios/bin/templates/project/www/cordova-2.0.0.js +5240 -0
  503. data/vendor/phonegap/lib/ios/bin/templates/project/www/css/index.css +100 -0
  504. data/vendor/phonegap/lib/ios/bin/templates/project/www/img/cordova.png +0 -0
  505. data/vendor/phonegap/lib/ios/bin/templates/project/www/index.html +44 -0
  506. data/vendor/phonegap/lib/ios/bin/templates/project/www/js/index.js +20 -0
  507. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_128.png +0 -0
  508. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_16.png +0 -0
  509. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_24.png +0 -0
  510. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_256.png +0 -0
  511. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_32.png +0 -0
  512. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_48.png +0 -0
  513. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_512.png +0 -0
  514. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_64.png +0 -0
  515. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_36.png +0 -0
  516. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_48.png +0 -0
  517. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_72.png +0 -0
  518. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_android_96.png +0 -0
  519. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_bb_80.png +0 -0
  520. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_114.png +0 -0
  521. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_144.png +0 -0
  522. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_57.png +0 -0
  523. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/icon/cordova_ios_72.png +0 -0
  524. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_hdpi_landscape.png +0 -0
  525. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_hdpi_portrait.png +0 -0
  526. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_ldpi_landscape.png +0 -0
  527. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_ldpi_portrait.png +0 -0
  528. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_mdpi_landscape.png +0 -0
  529. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_mdpi_portrait.png +0 -0
  530. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_xhdpi_landscape.png +0 -0
  531. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/android_xhdpi_portrait.png +0 -0
  532. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/blackberry_transparent_300.png +0 -0
  533. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/blackberry_transparent_400.png +0 -0
  534. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_landscape.png +0 -0
  535. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_portrait.png +0 -0
  536. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_retina_landscape.png +0 -0
  537. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/ipad_retina_portrait.png +0 -0
  538. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_landscape.png +0 -0
  539. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_portrait.png +0 -0
  540. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_retina_landscape.png +0 -0
  541. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/iphone_retina_portrait.png +0 -0
  542. data/vendor/phonegap/lib/ios/bin/templates/project/www/res/screen/windows_phone_portrait.jpg +0 -0
  543. data/vendor/phonegap/lib/ios/bin/templates/project/www/spec.html +50 -0
  544. data/vendor/phonegap/lib/ios/bin/templates/project/www/spec/helper.js +11 -0
  545. data/vendor/phonegap/lib/ios/bin/templates/project/www/spec/index.js +49 -0
  546. data/vendor/phonegap/lib/ios/bin/test +44 -0
  547. data/vendor/phonegap/lib/ios/bin/tests/autotest.coffee +24 -0
  548. data/vendor/phonegap/lib/ios/bin/tests/create.coffee +34 -0
  549. data/vendor/phonegap/lib/ios/bin/tests/debug.coffee +18 -0
  550. data/vendor/phonegap/lib/ios/bin/tests/test.coffee +18 -0
  551. data/vendor/phonegap/lib/symbian/deprecated.txt +1 -0
  552. data/vendor/phonegap/lib/webos/LICENSE +202 -0
  553. data/vendor/phonegap/lib/webos/Makefile +127 -0
  554. data/vendor/phonegap/lib/webos/NOTICE +11 -0
  555. data/vendor/phonegap/lib/webos/README.md +52 -0
  556. data/vendor/phonegap/lib/webos/VERSION +1 -0
  557. data/vendor/phonegap/lib/webos/framework/appinfo.json +10 -0
  558. data/vendor/phonegap/lib/webos/framework/config.xml +47 -0
  559. data/vendor/phonegap/lib/webos/framework/cordova_48.png +0 -0
  560. data/vendor/phonegap/lib/webos/framework/css/index.css +100 -0
  561. data/vendor/phonegap/lib/webos/framework/img/cordova.png +0 -0
  562. data/vendor/phonegap/lib/webos/framework/index.html +24 -0
  563. data/vendor/phonegap/lib/webos/framework/js/index.js +20 -0
  564. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_128.png +0 -0
  565. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_16.png +0 -0
  566. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_24.png +0 -0
  567. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_256.png +0 -0
  568. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_32.png +0 -0
  569. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_48.png +0 -0
  570. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_512.png +0 -0
  571. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_64.png +0 -0
  572. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_36.png +0 -0
  573. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_48.png +0 -0
  574. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_72.png +0 -0
  575. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_android_96.png +0 -0
  576. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_bb_80.png +0 -0
  577. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_114.png +0 -0
  578. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_144.png +0 -0
  579. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_57.png +0 -0
  580. data/vendor/phonegap/lib/webos/framework/res/icon/cordova_ios_72.png +0 -0
  581. data/vendor/phonegap/lib/webos/framework/res/screen/android_hdpi_landscape.png +0 -0
  582. data/vendor/phonegap/lib/webos/framework/res/screen/android_hdpi_portrait.png +0 -0
  583. data/vendor/phonegap/lib/webos/framework/res/screen/android_ldpi_landscape.png +0 -0
  584. data/vendor/phonegap/lib/webos/framework/res/screen/android_ldpi_portrait.png +0 -0
  585. data/vendor/phonegap/lib/webos/framework/res/screen/android_mdpi_landscape.png +0 -0
  586. data/vendor/phonegap/lib/webos/framework/res/screen/android_mdpi_portrait.png +0 -0
  587. data/vendor/phonegap/lib/webos/framework/res/screen/android_xhdpi_landscape.png +0 -0
  588. data/vendor/phonegap/lib/webos/framework/res/screen/android_xhdpi_portrait.png +0 -0
  589. data/vendor/phonegap/lib/webos/framework/res/screen/blackberry_transparent_300.png +0 -0
  590. data/vendor/phonegap/lib/webos/framework/res/screen/blackberry_transparent_400.png +0 -0
  591. data/vendor/phonegap/lib/webos/framework/res/screen/ipad_landscape.png +0 -0
  592. data/vendor/phonegap/lib/webos/framework/res/screen/ipad_portrait.png +0 -0
  593. data/vendor/phonegap/lib/webos/framework/res/screen/ipad_retina_landscape.png +0 -0
  594. data/vendor/phonegap/lib/webos/framework/res/screen/ipad_retina_portrait.png +0 -0
  595. data/vendor/phonegap/lib/webos/framework/res/screen/iphone_landscape.png +0 -0
  596. data/vendor/phonegap/lib/webos/framework/res/screen/iphone_portrait.png +0 -0
  597. data/vendor/phonegap/lib/webos/framework/res/screen/iphone_retina_landscape.png +0 -0
  598. data/vendor/phonegap/lib/webos/framework/res/screen/iphone_retina_portrait.png +0 -0
  599. data/vendor/phonegap/lib/webos/framework/res/screen/windows_phone_portrait.jpg +0 -0
  600. data/vendor/phonegap/lib/webos/framework/spec.html +50 -0
  601. data/vendor/phonegap/lib/webos/framework/spec/helper.js +11 -0
  602. data/vendor/phonegap/lib/webos/framework/spec/index.js +49 -0
  603. data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/MIT.LICENSE +20 -0
  604. data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/jasmine-html.js +616 -0
  605. data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/jasmine.css +81 -0
  606. data/vendor/phonegap/lib/webos/framework/spec/lib/jasmine-1.2.0/jasmine.js +2529 -0
  607. data/vendor/phonegap/lib/webos/js/acceleration.js +59 -0
  608. data/vendor/phonegap/lib/webos/js/accelerometer.js +133 -0
  609. data/vendor/phonegap/lib/webos/js/application.js +54 -0
  610. data/vendor/phonegap/lib/webos/js/audio.js +113 -0
  611. data/vendor/phonegap/lib/webos/js/camera.js +60 -0
  612. data/vendor/phonegap/lib/webos/js/compass.js +167 -0
  613. data/vendor/phonegap/lib/webos/js/contacts.js +69 -0
  614. data/vendor/phonegap/lib/webos/js/cordova-core.js +405 -0
  615. data/vendor/phonegap/lib/webos/js/debugconsole.js +62 -0
  616. data/vendor/phonegap/lib/webos/js/device.js +98 -0
  617. data/vendor/phonegap/lib/webos/js/file.js +79 -0
  618. data/vendor/phonegap/lib/webos/js/geolocation.js +232 -0
  619. data/vendor/phonegap/lib/webos/js/map.js +67 -0
  620. data/vendor/phonegap/lib/webos/js/mojo.js +81 -0
  621. data/vendor/phonegap/lib/webos/js/mouse.js +40 -0
  622. data/vendor/phonegap/lib/webos/js/network.js +96 -0
  623. data/vendor/phonegap/lib/webos/js/notification.js +139 -0
  624. data/vendor/phonegap/lib/webos/js/orientation.js +124 -0
  625. data/vendor/phonegap/lib/webos/js/position.js +87 -0
  626. data/vendor/phonegap/lib/webos/js/service.js +74 -0
  627. data/vendor/phonegap/lib/webos/js/sms.js +60 -0
  628. data/vendor/phonegap/lib/webos/js/telephony.js +45 -0
  629. data/vendor/phonegap/lib/webos/js/window.js +88 -0
  630. data/vendor/phonegap/lib/webos/js/windowproperties.js +31 -0
  631. data/vendor/phonegap/lib/webos/lib/thumbs.0.5.2.js +104 -0
  632. data/vendor/phonegap/lib/windows-phone/LICENSE +12 -0
  633. data/vendor/phonegap/lib/windows-phone/NOTICE +5 -0
  634. data/vendor/phonegap/lib/windows-phone/README.md +50 -0
  635. data/vendor/phonegap/lib/windows-phone/VERSION +1 -0
  636. data/vendor/phonegap/lib/windows-phone/bin/create.bat +1 -0
  637. data/vendor/phonegap/lib/windows-phone/bin/create.js +154 -0
  638. data/vendor/phonegap/lib/windows-phone/example/App.xaml +37 -0
  639. data/vendor/phonegap/lib/windows-phone/example/App.xaml.cs +154 -0
  640. data/vendor/phonegap/lib/windows-phone/example/ApplicationIcon.png +0 -0
  641. data/vendor/phonegap/lib/windows-phone/example/Background.png +0 -0
  642. data/vendor/phonegap/lib/windows-phone/example/BuildManifestProcessor.js +81 -0
  643. data/vendor/phonegap/lib/windows-phone/example/CordovaExample.csproj +195 -0
  644. data/vendor/phonegap/lib/windows-phone/example/CordovaExample.sln +28 -0
  645. data/vendor/phonegap/lib/windows-phone/example/CordovaSourceDictionary.xml +4 -0
  646. data/vendor/phonegap/lib/windows-phone/example/MainPage.xaml +52 -0
  647. data/vendor/phonegap/lib/windows-phone/example/MainPage.xaml.cs +70 -0
  648. data/vendor/phonegap/lib/windows-phone/example/Plugins/Calculator.cs +46 -0
  649. data/vendor/phonegap/lib/windows-phone/example/Properties/AppManifest.xml +24 -0
  650. data/vendor/phonegap/lib/windows-phone/example/Properties/AssemblyInfo.cs +38 -0
  651. data/vendor/phonegap/lib/windows-phone/example/Properties/WMAppManifest.xml +59 -0
  652. data/vendor/phonegap/lib/windows-phone/example/SplashScreenImage.jpg +0 -0
  653. data/vendor/phonegap/lib/windows-phone/example/www/accelerometer.html +164 -0
  654. data/vendor/phonegap/lib/windows-phone/example/www/accelerometer2.html +175 -0
  655. data/vendor/phonegap/lib/windows-phone/example/www/audio.html +267 -0
  656. data/vendor/phonegap/lib/windows-phone/example/www/calculator.html +84 -0
  657. data/vendor/phonegap/lib/windows-phone/example/www/camera.html +115 -0
  658. data/vendor/phonegap/lib/windows-phone/example/www/capture.html +207 -0
  659. data/vendor/phonegap/lib/windows-phone/example/www/compass.html +150 -0
  660. data/vendor/phonegap/lib/windows-phone/example/www/contacts.html +169 -0
  661. data/vendor/phonegap/lib/windows-phone/example/www/cordova-2.0.0.js +5658 -0
  662. data/vendor/phonegap/lib/windows-phone/example/www/events.html +146 -0
  663. data/vendor/phonegap/lib/windows-phone/example/www/file.html +284 -0
  664. data/vendor/phonegap/lib/windows-phone/example/www/index.html +108 -0
  665. data/vendor/phonegap/lib/windows-phone/example/www/location.html +165 -0
  666. data/vendor/phonegap/lib/windows-phone/example/www/master.css +156 -0
  667. data/vendor/phonegap/lib/windows-phone/example/www/network.html +96 -0
  668. data/vendor/phonegap/lib/windows-phone/example/www/notification.html +112 -0
  669. data/vendor/phonegap/lib/windows-phone/example/www/storage.html +78 -0
  670. data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.back.rest.png +0 -0
  671. data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.close.rest.png +0 -0
  672. data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.feature.video.rest.png +0 -0
  673. data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.next.rest.png +0 -0
  674. data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.save.rest.png +0 -0
  675. data/vendor/phonegap/lib/windows-phone/framework/Images/appbar.stop.rest.png +0 -0
  676. data/vendor/phonegap/lib/windows-phone/framework/Properties/AssemblyInfo.cs +35 -0
  677. data/vendor/phonegap/lib/windows-phone/framework/WP7CordovaClassLib.csproj +281 -0
  678. data/vendor/phonegap/lib/windows-phone/framework/WP7CordovaClassLib.sln +20 -0
  679. data/vendor/phonegap/lib/windows-phone/framework/WP7CordovaClassLibBare.csproj +127 -0
  680. data/vendor/phonegap/lib/windows-phone/framework/WP7GapClassLibBare.sln +20 -0
  681. data/vendor/phonegap/lib/windows-phone/framework/resources/notification-beep.wav +0 -0
  682. data/vendor/phonegap/lib/windows-phone/templates/CordovaStarter-2.0.0.zip +0 -0
  683. data/vendor/phonegap/lib/windows-phone/templates/custom/App.xaml +37 -0
  684. data/vendor/phonegap/lib/windows-phone/templates/custom/App.xaml.cs +154 -0
  685. data/vendor/phonegap/lib/windows-phone/templates/custom/ApplicationIcon.png +0 -0
  686. data/vendor/phonegap/lib/windows-phone/templates/custom/Background.png +0 -0
  687. data/vendor/phonegap/lib/windows-phone/templates/custom/BuildManifestProcessor.js +83 -0
  688. data/vendor/phonegap/lib/windows-phone/templates/custom/CordovaAppProj.csproj +152 -0
  689. data/vendor/phonegap/lib/windows-phone/templates/custom/CordovaSolution.sln +22 -0
  690. data/vendor/phonegap/lib/windows-phone/templates/custom/CordovaSourceDictionary.xml +23 -0
  691. data/vendor/phonegap/lib/windows-phone/templates/custom/MainPage.xaml +52 -0
  692. data/vendor/phonegap/lib/windows-phone/templates/custom/MainPage.xaml.cs +72 -0
  693. data/vendor/phonegap/lib/windows-phone/templates/custom/Properties/AppManifest.xml +6 -0
  694. data/vendor/phonegap/lib/windows-phone/templates/custom/Properties/AssemblyInfo.cs +38 -0
  695. data/vendor/phonegap/lib/windows-phone/templates/custom/Properties/WMAppManifest.xml +32 -0
  696. data/vendor/phonegap/lib/windows-phone/templates/custom/SplashScreenImage.jpg +0 -0
  697. data/vendor/phonegap/lib/windows-phone/templates/custom/VERSION +1 -0
  698. data/vendor/phonegap/lib/windows-phone/templates/custom/www/cordova-2.0.0.js +5672 -0
  699. data/vendor/phonegap/lib/windows-phone/templates/custom/www/css/index.css +100 -0
  700. data/vendor/phonegap/lib/windows-phone/templates/custom/www/img/cordova.png +0 -0
  701. data/vendor/phonegap/lib/windows-phone/templates/custom/www/index.html +24 -0
  702. data/vendor/phonegap/lib/windows-phone/templates/custom/www/js/index.js +20 -0
  703. data/vendor/phonegap/lib/windows-phone/templates/description.txt +4 -0
  704. data/vendor/phonegap/lib/windows-phone/templates/full/App.xaml +37 -0
  705. data/vendor/phonegap/lib/windows-phone/templates/full/App.xaml.cs +154 -0
  706. data/vendor/phonegap/lib/windows-phone/templates/full/ApplicationIcon.png +0 -0
  707. data/vendor/phonegap/lib/windows-phone/templates/full/Background.png +0 -0
  708. data/vendor/phonegap/lib/windows-phone/templates/full/BuildManifestProcessor.js +80 -0
  709. data/vendor/phonegap/lib/windows-phone/templates/full/CordovaAppProj.csproj +153 -0
  710. data/vendor/phonegap/lib/windows-phone/templates/full/CordovaLib/WP7CordovaClassLib.dll +0 -0
  711. data/vendor/phonegap/lib/windows-phone/templates/full/CordovaSolution.sln +22 -0
  712. data/vendor/phonegap/lib/windows-phone/templates/full/CordovaSourceDictionary.xml +9 -0
  713. data/vendor/phonegap/lib/windows-phone/templates/full/MainPage.xaml +52 -0
  714. data/vendor/phonegap/lib/windows-phone/templates/full/MainPage.xaml.cs +72 -0
  715. data/vendor/phonegap/lib/windows-phone/templates/full/Properties/AppManifest.xml +6 -0
  716. data/vendor/phonegap/lib/windows-phone/templates/full/Properties/AssemblyInfo.cs +38 -0
  717. data/vendor/phonegap/lib/windows-phone/templates/full/Properties/WMAppManifest.xml +41 -0
  718. data/vendor/phonegap/lib/windows-phone/templates/full/SplashScreenImage.jpg +0 -0
  719. data/vendor/phonegap/lib/windows-phone/templates/full/VERSION +1 -0
  720. data/vendor/phonegap/lib/windows-phone/templates/full/cordova/debug.bat +68 -0
  721. data/vendor/phonegap/lib/windows-phone/templates/full/cordova/emulate.bat +24 -0
  722. data/vendor/phonegap/lib/windows-phone/templates/full/www/cordova-2.0.0.js +5672 -0
  723. data/vendor/phonegap/lib/windows-phone/templates/full/www/css/index.css +100 -0
  724. data/vendor/phonegap/lib/windows-phone/templates/full/www/img/cordova.png +0 -0
  725. data/vendor/phonegap/lib/windows-phone/templates/full/www/index.html +24 -0
  726. data/vendor/phonegap/lib/windows-phone/templates/full/www/js/index.js +20 -0
  727. data/vendor/phonegap/lib/windows-phone/templates/pg_templateIcon.png +0 -0
  728. data/vendor/phonegap/lib/windows-phone/templates/pg_templatePreview.jpg +0 -0
  729. data/vendor/phonegap/lib/windows-phone/templates/standalone/App.xaml +37 -0
  730. data/vendor/phonegap/lib/windows-phone/templates/standalone/App.xaml.cs +154 -0
  731. data/vendor/phonegap/lib/windows-phone/templates/standalone/ApplicationIcon.png +0 -0
  732. data/vendor/phonegap/lib/windows-phone/templates/standalone/Background.png +0 -0
  733. data/vendor/phonegap/lib/windows-phone/templates/standalone/BuildManifestProcessor.js +80 -0
  734. data/vendor/phonegap/lib/windows-phone/templates/standalone/CordovaAppProj.csproj +231 -0
  735. data/vendor/phonegap/lib/windows-phone/templates/standalone/CordovaSolution.sln +22 -0
  736. data/vendor/phonegap/lib/windows-phone/templates/standalone/CordovaSourceDictionary.xml +4 -0
  737. data/vendor/phonegap/lib/windows-phone/templates/standalone/MainPage.xaml +52 -0
  738. data/vendor/phonegap/lib/windows-phone/templates/standalone/MainPage.xaml.cs +72 -0
  739. data/vendor/phonegap/lib/windows-phone/templates/standalone/Properties/AppManifest.xml +6 -0
  740. data/vendor/phonegap/lib/windows-phone/templates/standalone/Properties/AssemblyInfo.cs +38 -0
  741. data/vendor/phonegap/lib/windows-phone/templates/standalone/Properties/WMAppManifest.xml +42 -0
  742. data/vendor/phonegap/lib/windows-phone/templates/standalone/SplashScreenImage.jpg +0 -0
  743. data/vendor/phonegap/lib/windows-phone/templates/standalone/VERSION +1 -0
  744. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordova/debug.bat +68 -0
  745. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordova/emulate.bat +24 -0
  746. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/BrowserMouseHelper.cs +345 -0
  747. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CommandFactory.cs +104 -0
  748. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Accelerometer.cs +195 -0
  749. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/AudioPlayer.cs +617 -0
  750. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/BaseCommand.cs +129 -0
  751. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Battery.cs +79 -0
  752. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Camera.cs +490 -0
  753. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Capture.cs +735 -0
  754. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Compass.cs +364 -0
  755. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Contacts.cs +643 -0
  756. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/DebugConsole.cs +49 -0
  757. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Device.cs +124 -0
  758. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/File.cs +1441 -0
  759. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/FileTransfer.cs +525 -0
  760. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/GeoLocation.cs +34 -0
  761. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/ImageExifHelper.cs +222 -0
  762. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Media.cs +522 -0
  763. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/MimeTypeMapper.cs +99 -0
  764. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/NetworkStatus.cs +124 -0
  765. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Commands/Notification.cs +322 -0
  766. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CordovaCommandCall.cs +86 -0
  767. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CordovaView.xaml +65 -0
  768. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/CordovaView.xaml.cs +451 -0
  769. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/DOMStorageHelper.cs +145 -0
  770. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.back.rest.png +0 -0
  771. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.close.rest.png +0 -0
  772. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.feature.video.rest.png +0 -0
  773. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.next.rest.png +0 -0
  774. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.save.rest.png +0 -0
  775. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/Images/appbar.stop.rest.png +0 -0
  776. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/JSON/JsonHelper.cs +97 -0
  777. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/NativeExecution.cs +207 -0
  778. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/OrientationHelper.cs +128 -0
  779. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/PluginResult.cs +165 -0
  780. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/ScriptCallback.cs +80 -0
  781. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/AudioCaptureTask.cs +105 -0
  782. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/AudioRecorder.xaml +66 -0
  783. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/AudioRecorder.xaml.cs +387 -0
  784. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/ImageCapture.xaml +26 -0
  785. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/ImageCapture.xaml.cs +107 -0
  786. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/NotificationBox.xaml +62 -0
  787. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/NotificationBox.xaml.cs +41 -0
  788. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/VideoCaptureTask.cs +104 -0
  789. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/VideoRecorder.xaml +52 -0
  790. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/UI/VideoRecorder.xaml.cs +405 -0
  791. data/vendor/phonegap/lib/windows-phone/templates/standalone/cordovalib/resources/notification-beep.wav +0 -0
  792. data/vendor/phonegap/lib/windows-phone/templates/standalone/www/cordova-2.0.0.js +5672 -0
  793. data/vendor/phonegap/lib/windows-phone/templates/standalone/www/css/index.css +100 -0
  794. data/vendor/phonegap/lib/windows-phone/templates/standalone/www/img/cordova.png +0 -0
  795. data/vendor/phonegap/lib/windows-phone/templates/standalone/www/index.html +24 -0
  796. data/vendor/phonegap/lib/windows-phone/templates/standalone/www/js/index.js +20 -0
  797. data/vendor/phonegap/lib/windows-phone/templates/vspackage/GapAppVsPackage.cs +64 -0
  798. data/vendor/phonegap/lib/windows-phone/templates/vspackage/GapAppVsPackage.csproj +174 -0
  799. data/vendor/phonegap/lib/windows-phone/templates/vspackage/GlobalSuppressions.cs +11 -0
  800. data/vendor/phonegap/lib/windows-phone/templates/vspackage/Guids.cs +14 -0
  801. data/vendor/phonegap/lib/windows-phone/templates/vspackage/Key.snk +0 -0
  802. data/vendor/phonegap/lib/windows-phone/templates/vspackage/Properties/AssemblyInfo.cs +36 -0
  803. data/vendor/phonegap/lib/windows-phone/templates/vspackage/Resources.Designer.cs +63 -0
  804. data/vendor/phonegap/lib/windows-phone/templates/vspackage/Resources.resx +129 -0
  805. data/vendor/phonegap/lib/windows-phone/templates/vspackage/Resources/Package.ico +0 -0
  806. data/vendor/phonegap/lib/windows-phone/templates/vspackage/VSPackage.resx +140 -0
  807. data/vendor/phonegap/lib/windows-phone/templates/vspackage/pg_templateIcon.png +0 -0
  808. data/vendor/phonegap/lib/windows-phone/templates/vspackage/pg_templatePreview.jpg +0 -0
  809. data/vendor/phonegap/lib/windows-phone/templates/vspackage/source.extension.vsixmanifest +30 -0
  810. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/App.xaml +38 -0
  811. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/App.xaml.cs +158 -0
  812. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/ApplicationIcon.png +0 -0
  813. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Background.png +0 -0
  814. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/BuildManifestProcessor.js +80 -0
  815. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/CordovaSourceDictionary.xml +4 -0
  816. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MainPage.xaml +52 -0
  817. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MainPage.xaml.cs +42 -0
  818. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MobileSpecUnitTests.csproj +141 -0
  819. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/MobileSpecUnitTests.sln +28 -0
  820. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Properties/AppManifest.xml +6 -0
  821. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Properties/AssemblyInfo.cs +35 -0
  822. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/Properties/WMAppManifest.xml +35 -0
  823. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/SplashScreenImage.jpg +0 -0
  824. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/www/cordova-2.0.0.js +5658 -0
  825. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/www/index.html +43 -0
  826. data/vendor/phonegap/lib/windows-phone/tests/MobileSpecUnitTests/www/master.css +112 -0
  827. data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy.sln +20 -0
  828. data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy/CordovaDeploy.csproj +79 -0
  829. data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy/Program.cs +219 -0
  830. data/vendor/phonegap/lib/windows-phone/tooling/CordovaDeploy/CordovaDeploy/Properties/AssemblyInfo.cs +36 -0
  831. data/vendor/phonegap/lib/windows-phone/tooling/scripts/debug.bat +68 -0
  832. data/vendor/phonegap/lib/windows-phone/tooling/scripts/emulate.bat +24 -0
  833. metadata +1040 -0
@@ -0,0 +1,21 @@
1
+ rem
2
+ rem
3
+ rem Licensed to the Apache Software Foundation (ASF) under one
4
+ rem or more contributor license agreements. See the NOTICE file
5
+ rem distributed with this work for additional information
6
+ rem regarding copyright ownership. The ASF licenses this file
7
+ rem to you under the Apache License, Version 2.0 (the
8
+ rem "License"); you may not use this file except in compliance
9
+ rem with the License. You may obtain a copy of the License at
10
+ rem
11
+ rem http://www.apache.org/licenses/LICENSE-2.0
12
+ rem
13
+ rem Unless required by applicable law or agreed to in writing,
14
+ rem software distributed under the License is distributed on an
15
+ rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ rem KIND, either express or implied. See the License for the
17
+ rem specific language governing permissions and limitations
18
+ rem under the License.
19
+ rem
20
+ rem
21
+ copy /B cordova.base.js+geolocation.js+position.js+accelerometer.js+network.js+debugconsole.js+contact.js+device.js+compass.js+notification.js+camera.js cordova.js
@@ -0,0 +1,1661 @@
1
+ /*
2
+ *
3
+ * Licensed to the Apache Software Foundation (ASF) under one
4
+ * or more contributor license agreements. See the NOTICE file
5
+ * distributed with this work for additional information
6
+ * regarding copyright ownership. The ASF licenses this file
7
+ * to you under the Apache License, Version 2.0 (the
8
+ * "License"); you may not use this file except in compliance
9
+ * with the License. You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing,
14
+ * software distributed under the License is distributed on an
15
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ * KIND, either express or implied. See the License for the
17
+ * specific language governing permissions and limitations
18
+ * under the License.
19
+ *
20
+ */
21
+
22
+ /**
23
+ * The order of events during page load and Cordova startup is as follows:
24
+ *
25
+ * onDOMContentLoaded Internal event that is received when the web page is loaded and parsed.
26
+ * window.onload Body onload event.
27
+ * onNativeReady Internal event that indicates the Cordova native side is ready.
28
+ * onCordovaInit Internal event that kicks off creation of all Cordova JavaScript objects (runs constructors).
29
+ * onCordovaReady Internal event fired when all Cordova JavaScript objects have been created
30
+ * onCordovaInfoReady Internal event fired when device properties are available
31
+ * onDeviceReady User event fired to indicate that Cordova is ready
32
+ * onResume User event fired to indicate a start/resume lifecycle event
33
+ *
34
+ * The only Cordova events that user code should register for are:
35
+ * onDeviceReady
36
+ * onResume
37
+ *
38
+ * Listeners can be registered as:
39
+ * document.addEventListener("deviceready", myDeviceReadyListener, false);
40
+ * document.addEventListener("resume", myResumeListener, false);
41
+ */
42
+
43
+ function debugPrint(body) {
44
+ var list = document.getElementById("debuglist");
45
+ var item = document.createElement("li");
46
+ item.appendChild(document.createTextNode(body));
47
+ list.appendChild(item);
48
+ }
49
+ /**
50
+ * This represents the Cordova API itself, and provides a global namespace for accessing
51
+ * information about the state of Cordova.
52
+ * @class
53
+ */
54
+ Cordova = {
55
+ queue: {
56
+ ready: true,
57
+ commands: [],
58
+ timer: null
59
+ },
60
+ _constructors: []
61
+ };
62
+
63
+ /**
64
+ * Boolean flag indicating if the Cordova API is available and initialized.
65
+ */ // TODO: Remove this, it is unused here ... -jm
66
+ Cordova.available = function() {
67
+ return window.device.uuid != undefined;
68
+ }
69
+
70
+ /**
71
+ * Custom pub-sub channel that can have functions subscribed to it
72
+ */
73
+ Cordova.Channel = function(type)
74
+ {
75
+ this.type = type;
76
+ this.handlers = {};
77
+ this.guid = 0;
78
+ this.fired = false;
79
+ this.enabled = true;
80
+ };
81
+
82
+ /**
83
+ * Subscribes the given function to the channel. Any time that
84
+ * Channel.fire is called so too will the function.
85
+ * Optionally specify an execution context for the function
86
+ * and a guid that can be used to stop subscribing to the channel.
87
+ * Returns the guid.
88
+ */
89
+ Cordova.Channel.prototype.subscribe = function(f, c, g) {
90
+ // need a function to call
91
+ if (f == null) { return; }
92
+
93
+ var func = f;
94
+ if (typeof c == "object" && f instanceof Function) { func = Cordova.close(c, f); }
95
+
96
+ g = g || func.observer_guid || f.observer_guid || this.guid++;
97
+ func.observer_guid = g;
98
+ f.observer_guid = g;
99
+ this.handlers[g] = func;
100
+ return g;
101
+ };
102
+
103
+ /**
104
+ * Like subscribe but the function is only called once and then it
105
+ * auto-unsubscribes itself.
106
+ */
107
+ Cordova.Channel.prototype.subscribeOnce = function(f, c) {
108
+ var g = null;
109
+ var _this = this;
110
+ var m = function() {
111
+ f.apply(c || null, arguments);
112
+ _this.unsubscribe(g);
113
+ }
114
+ if (this.fired) {
115
+ if (typeof c == "object" && f instanceof Function) { f = Cordova.close(c, f); }
116
+ f.apply(this, this.fireArgs);
117
+ } else {
118
+ g = this.subscribe(m);
119
+ }
120
+ return g;
121
+ };
122
+
123
+ /**
124
+ * Unsubscribes the function with the given guid from the channel.
125
+ */
126
+ Cordova.Channel.prototype.unsubscribe = function(g) {
127
+ if (g instanceof Function) { g = g.observer_guid; }
128
+ this.handlers[g] = null;
129
+ delete this.handlers[g];
130
+ };
131
+
132
+ /**
133
+ * Calls all functions subscribed to this channel.
134
+ */
135
+ Cordova.Channel.prototype.fire = function(e) {
136
+ if (this.enabled) {
137
+ var fail = false;
138
+ for (var item in this.handlers) {
139
+ var handler = this.handlers[item];
140
+ if (handler instanceof Function) {
141
+ var rv = (handler.apply(this, arguments)==false);
142
+ fail = fail || rv;
143
+ }
144
+ }
145
+ this.fired = true;
146
+ this.fireArgs = arguments;
147
+ return !fail;
148
+ }
149
+ return true;
150
+ };
151
+
152
+ /**
153
+ * Calls the provided function only after all of the channels specified
154
+ * have been fired.
155
+ */
156
+ Cordova.Channel.join = function(h, c) {
157
+ var i = c.length;
158
+ var f = function() {
159
+ if (!(--i)) h();
160
+ }
161
+ for (var j=0; j<i; j++) {
162
+ (!c[j].fired?c[j].subscribeOnce(f):i--);
163
+ }
164
+ if (!i) h();
165
+ };
166
+
167
+ /**
168
+ * Add an initialization function to a queue that ensures it will run and initialize
169
+ * application constructors only once Cordova has been initialized.
170
+ * @param {Function} func The function callback you want run once Cordova is initialized
171
+ */
172
+ Cordova.addConstructor = function(func) {
173
+ Cordova.onCordovaInit.subscribeOnce(function() {
174
+ // try {
175
+ func();
176
+ // } catch(e) {
177
+ // if (typeof(debug['log']) == 'function') {
178
+ // debug.log("Failed to run constructor: " + debug.processMessage(e));
179
+ // } else {
180
+ // alert("Failed to run constructor: " + e.message);
181
+ // }
182
+ // }
183
+ });
184
+ };
185
+
186
+ /**
187
+ * Plugins object.
188
+ */
189
+ if (!window.plugins) {
190
+ window.plugins = {};
191
+ }
192
+
193
+ /**
194
+ * Adds new plugin object to window.plugins.
195
+ * The plugin is accessed using window.plugins.<name>
196
+ *
197
+ * @param name The plugin name
198
+ * @param obj The plugin object
199
+ */
200
+ Cordova.addPlugin = function(name, obj) {
201
+ if (!window.plugins[name]) {
202
+ window.plugins[name] = obj;
203
+ }
204
+ else {
205
+ console.log("Plugin " + name + " already exists.");
206
+ }
207
+ };
208
+
209
+ /**
210
+ * onDOMContentLoaded channel is fired when the DOM content
211
+ * of the page has been parsed.
212
+ */
213
+ Cordova.onDOMContentLoaded = new Cordova.Channel('onDOMContentLoaded');
214
+
215
+ /**
216
+ * onNativeReady channel is fired when the Cordova native code
217
+ * has been initialized.
218
+ */
219
+ Cordova.onNativeReady = new Cordova.Channel('onNativeReady');
220
+
221
+ /**
222
+ * onCordovaInit channel is fired when the web page is fully loaded and
223
+ * Cordova native code has been initialized.
224
+ */
225
+ Cordova.onCordovaInit = new Cordova.Channel('onCordovaInit');
226
+
227
+ /**
228
+ * onCordovaReady channel is fired when the JS Cordova objects have been created.
229
+ */
230
+ Cordova.onCordovaReady = new Cordova.Channel('onCordovaReady');
231
+
232
+ /**
233
+ * onCordovaInfoReady channel is fired when the Cordova device properties
234
+ * has been set.
235
+ */
236
+ Cordova.onCordovaInfoReady = new Cordova.Channel('onCordovaInfoReady');
237
+
238
+ /**
239
+ * onResume channel is fired when the Cordova native code
240
+ * resumes.
241
+ */
242
+ Cordova.onResume = new Cordova.Channel('onResume');
243
+
244
+ /**
245
+ * onPause channel is fired when the Cordova native code
246
+ * pauses.
247
+ */
248
+ Cordova.onPause = new Cordova.Channel('onPause');
249
+
250
+ // _nativeReady is global variable that the native side can set
251
+ // to signify that the native code is ready. It is a global since
252
+ // it may be called before any Cordova JS is ready.
253
+ if (typeof _nativeReady !== 'undefined') { Cordova.onNativeReady.fire(); }
254
+
255
+ /**
256
+ * onDeviceReady is fired only after all Cordova objects are created and
257
+ * the device properties are set.
258
+ */
259
+ Cordova.onDeviceReady = new Cordova.Channel('onDeviceReady');
260
+
261
+ /**
262
+ * Create all Cordova objects once page has fully loaded and native side is ready.
263
+ */
264
+ Cordova.Channel.join(function() {
265
+
266
+ // Run Cordova constructors
267
+ Cordova.onCordovaInit.fire();
268
+
269
+ // Fire event to notify that all objects are created
270
+ Cordova.onCordovaReady.fire();
271
+
272
+ }, [ Cordova.onDOMContentLoaded, Cordova.onNativeReady ]);
273
+
274
+ /**
275
+ * Fire onDeviceReady event once all constructors have run and Cordova info has been
276
+ * received from native side.
277
+ */
278
+ Cordova.Channel.join(function() {
279
+ Cordova.onDeviceReady.fire();
280
+
281
+ // Fire the onresume event, since first one happens before JavaScript is loaded
282
+ Cordova.onResume.fire();
283
+ }, [ Cordova.onCordovaReady, Cordova.onCordovaInfoReady]);
284
+
285
+ // Listen for DOMContentLoaded and notify our channel subscribers
286
+ document.addEventListener('DOMContentLoaded', function() {
287
+ Cordova.onDOMContentLoaded.fire();
288
+ }, false);
289
+
290
+ // Intercept calls to document.addEventListener and watch for deviceready
291
+ Cordova.m_document_addEventListener = document.addEventListener;
292
+
293
+ document.addEventListener = function(evt, handler, capture) {
294
+ var e = evt.toLowerCase();
295
+ if (e == 'deviceready') {
296
+ Cordova.onDeviceReady.subscribeOnce(handler);
297
+ } else if (e == 'resume') {
298
+ Cordova.onResume.subscribe(handler);
299
+ // if subscribing listener after event has already fired, invoke the handler
300
+ if (Cordova.onResume.fired && handler instanceof Function) {
301
+ handler();
302
+ }
303
+ } else if (e == 'pause') {
304
+ Cordova.onPause.subscribe(handler);
305
+ } else {
306
+ Cordova.m_document_addEventListener.call(document, evt, handler, capture);
307
+ }
308
+ };
309
+
310
+ Cordova.m_element_addEventListener = Element.prototype.addEventListener;
311
+
312
+ /**
313
+ * For BlackBerry, the touchstart event does not work so we need to do click
314
+ * events when touchstart events are attached.
315
+ */
316
+ Element.prototype.addEventListener = function(evt, handler, capture) {
317
+ if (evt === 'touchstart') {
318
+ evt = 'click';
319
+ }
320
+ Cordova.m_element_addEventListener.call(this, evt, handler, capture);
321
+ };
322
+
323
+ /**
324
+ * Does a deep clone of the object.
325
+ *
326
+ * @param obj
327
+ * @return
328
+ */
329
+ Cordova.clone = function(obj) {
330
+ if(!obj) {
331
+ return obj;
332
+ }
333
+
334
+ if(obj instanceof Array){
335
+ var retVal = new Array();
336
+ for(var i = 0; i < obj.length; ++i){
337
+ retVal.push(Cordova.clone(obj[i]));
338
+ }
339
+ return retVal;
340
+ }
341
+
342
+ if (obj instanceof Function) {
343
+ return obj;
344
+ }
345
+
346
+ if(!(obj instanceof Object)){
347
+ return obj;
348
+ }
349
+
350
+ if(obj instanceof Date){
351
+ return obj;
352
+ }
353
+
354
+ retVal = new Object();
355
+ for(i in obj){
356
+ if(!(i in retVal) || retVal[i] != obj[i]) {
357
+ retVal[i] = Cordova.clone(obj[i]);
358
+ }
359
+ }
360
+ return retVal;
361
+ };
362
+
363
+ Cordova.close = function(context, func, params) {
364
+ if (typeof params === 'undefined') {
365
+ return function() {
366
+ return func.apply(context, arguments);
367
+ }
368
+ } else {
369
+ return function() {
370
+ return func.apply(context, params);
371
+ }
372
+ }
373
+ };
374
+
375
+ Cordova.callbackId = 0;
376
+ Cordova.callbacks = {};
377
+ Cordova.callbackStatus = {
378
+ NO_RESULT: 0,
379
+ OK: 1,
380
+ CLASS_NOT_FOUND_EXCEPTION: 2,
381
+ ILLEGAL_ACCESS_EXCEPTION: 3,
382
+ INSTANTIATION_EXCEPTION: 4,
383
+ MALFORMED_URL_EXCEPTION: 5,
384
+ IO_EXCEPTION: 6,
385
+ INVALID_ACTION: 7,
386
+ JSON_EXCEPTION: 8,
387
+ ERROR: 9
388
+ };
389
+
390
+ /**
391
+ * Called by native code when returning successful result from an action.
392
+ *
393
+ * @param callbackId
394
+ * @param args
395
+ */
396
+ Cordova.callbackSuccess = function(callbackId, args) {
397
+ if (Cordova.callbacks[callbackId]) {
398
+
399
+ // If result is to be sent to callback
400
+ if (args.status == Cordova.callbackStatus.OK) {
401
+ try {
402
+ if (Cordova.callbacks[callbackId].success) {
403
+ Cordova.callbacks[callbackId].success(args.message);
404
+ }
405
+ }
406
+ catch (e) {
407
+ console.log("Error in success callback: "+callbackId+" = "+e);
408
+ }
409
+ }
410
+
411
+ // Clear callback if not expecting any more results
412
+ if (!args.keepCallback) {
413
+ delete Cordova.callbacks[callbackId];
414
+ }
415
+ }
416
+ };
417
+
418
+ /**
419
+ * Called by native code when returning error result from an action.
420
+ *
421
+ * @param callbackId
422
+ * @param args
423
+ */
424
+ Cordova.callbackError = function(callbackId, args) {
425
+ if (Cordova.callbacks[callbackId]) {
426
+ try {
427
+ if (Cordova.callbacks[callbackId].fail) {
428
+ Cordova.callbacks[callbackId].fail(args.message);
429
+ }
430
+ }
431
+ catch (e) {
432
+ console.log("Error in error callback: "+callbackId+" = "+e);
433
+ }
434
+
435
+ // Clear callback if not expecting any more results
436
+ if (!args.keepCallback) {
437
+ delete Cordova.callbacks[callbackId];
438
+ }
439
+ }
440
+ };
441
+
442
+ /**
443
+ * Create a UUID
444
+ *
445
+ * @return
446
+ */
447
+ Cordova.createUUID = function() {
448
+ return Cordova.UUIDcreatePart(4) + '-' +
449
+ Cordova.UUIDcreatePart(2) + '-' +
450
+ Cordova.UUIDcreatePart(2) + '-' +
451
+ Cordova.UUIDcreatePart(2) + '-' +
452
+ Cordova.UUIDcreatePart(6);
453
+ };
454
+
455
+ Cordova.UUIDcreatePart = function(length) {
456
+ var uuidpart = "";
457
+ for (var i=0; i<length; i++) {
458
+ var uuidchar = parseInt((Math.random() * 256)).toString(16);
459
+ if (uuidchar.length == 1) {
460
+ uuidchar = "0" + uuidchar;
461
+ }
462
+ uuidpart += uuidchar;
463
+ }
464
+ return uuidpart;
465
+ };
466
+ /**
467
+ * Execute a Cordova command in a queued fashion, to ensure commands do not
468
+ * execute with any race conditions, and only run when Cordova is ready to
469
+ * receive them.
470
+ *
471
+ */
472
+ Cordova.exec = function() {
473
+
474
+ Cordova.queue.commands.push(arguments);
475
+ if (Cordova.queue.timer == null)
476
+ Cordova.queue.timer = setInterval(Cordova.run_command, 10);
477
+ };
478
+
479
+ /**
480
+ * Internal function used to dispatch the request to Cordova. It processes the
481
+ * command queue and executes the next command on the list. Simple parameters are passed
482
+ * as arguments on the url. JavaScript objects converted into a JSON string and passed as a
483
+ * query string argument of the url.
484
+ * Arguments may be in one of two formats:
485
+ * FORMAT ONE (preferable)
486
+ * The native side will call Cordova.callbackSuccess or Cordova.callbackError,
487
+ * depending upon the result of the action.
488
+ *
489
+ * @param {Function} success The success callback
490
+ * @param {Function} fail The fail callback
491
+ * @param {String} service The name of the service to use
492
+ * @param {String} action The name of the action to use
493
+ * @param {String[]} [args] Zero or more arguments to pass to the method
494
+ *
495
+ * FORMAT TWO
496
+ * @param {String} command Command to be run in Cordova, e.g. "ClassName.method"
497
+ * @param {String[]} [args] Zero or more arguments to pass to the method
498
+ * object parameters are passed as an array object [object1, object2] each object will be passed as JSON strings
499
+ * @private
500
+ */
501
+ Cordova.run_command = function() {
502
+ if (!Cordova.available() || !Cordova.queue.ready)
503
+ return;
504
+
505
+ var args = Cordova.queue.commands.shift();
506
+ if (Cordova.queue.commands.length == 0) {
507
+ clearInterval(Cordova.queue.timer);
508
+ Cordova.queue.timer = null;
509
+ }
510
+
511
+ var service;
512
+ var callbackId = null;
513
+ var start=0;
514
+ try {
515
+ if (args[0] == null || typeof args[0] === "function") {
516
+ var success = args[0];
517
+ var fail = args[1];
518
+ service = args[2] + "." + args[3];
519
+ args = args[4]; //array of arguments to
520
+ if (success || fail) {
521
+ callbackId = service + Cordova.callbackId++;
522
+ Cordova.callbacks[callbackId] = {success:success, fail:fail};
523
+ }
524
+ } else {
525
+ service = args[0];
526
+ start = 1;
527
+ }
528
+
529
+ var uri = [];
530
+ var query = [];
531
+ for (var i = start; i < args.length; i++) {
532
+ var arg = args[i];
533
+ if (arg == undefined || arg == null)
534
+ continue;
535
+ if (typeof(arg) == 'object') {
536
+ for(i in arg) {
537
+ if(typeof(arg[i]) != 'object') {
538
+ query.push(encodeURIComponent(i) + '=' + encodeURIComponent(arg[i]));
539
+ }
540
+ }
541
+ }
542
+ else {
543
+ uri.push(encodeURIComponent(arg));
544
+ }
545
+ }
546
+ var next = callbackId != null ? ("/" + callbackId + "/") : "/";
547
+ var url = "gap://" + service + next + uri.join("/");
548
+
549
+ if (query.length > 0) {
550
+ url += "?" + query.join("&");
551
+ }
552
+ Cordova.queue.ready = false;
553
+ document.location = url;
554
+
555
+ } catch (e) {
556
+ console.log("CordovaExec Error: "+e);
557
+ }
558
+
559
+
560
+ };
561
+
562
+
563
+ /*
564
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
565
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
566
+ *
567
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
568
+ * Copyright (c) 2010, IBM Corporation
569
+ */
570
+
571
+ /**
572
+ * This class provides access to device GPS data.
573
+ * @constructor
574
+ */
575
+ function Geolocation() {
576
+
577
+ // The last known GPS position.
578
+ this.lastPosition = null;
579
+ this.id = null;
580
+ };
581
+
582
+ /**
583
+ * Position error object
584
+ *
585
+ * @param code
586
+ * @param message
587
+ */
588
+ function PositionError(code, message) {
589
+ this.code = code || 0;
590
+ this.message = message || '';
591
+ };
592
+
593
+ PositionError.UNKNOWN_ERROR = 0;
594
+ PositionError.PERMISSION_DENIED = 1;
595
+ PositionError.POSITION_UNAVAILABLE = 2;
596
+ PositionError.TIMEOUT = 3;
597
+
598
+ /**
599
+ * Asynchronously aquires the current position.
600
+ *
601
+ * @param {Function} successCallback The function to call when the position data is available
602
+ * @param {Function} errorCallback The function to call when there is an error getting the heading position. (OPTIONAL)
603
+ * @param {PositionOptions} options The options for getting the position data. (OPTIONAL)
604
+ */
605
+ Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) {
606
+ this.id = Cordova.createUUID();
607
+ // default maximumAge value should be 0, and set if positive
608
+ var maximumAge = 0;
609
+
610
+ // default timeout value should be infinity, but that's a really long time
611
+ var timeout = 3600000;
612
+
613
+ var enableHighAccuracy = false;
614
+ if (options) {
615
+ if (options.maximumAge && (options.maximumAge > 0)) {
616
+ maximumAge = options.maximumAge;
617
+ }
618
+ if (options.enableHighAccuracy) {
619
+ enableHighAccuracy = options.enableHighAccuracy;
620
+ }
621
+ if (options.timeout) {
622
+ timeout = (options.timeout < 0) ? 0 : options.timeout;
623
+ }
624
+ }
625
+ Cordova.exec(successCallback, errorCallback, "org.apache.cordova.Geolocation", "getCurrentPosition", [maximumAge, timeout, enableHighAccuracy]);
626
+ }
627
+
628
+ /**
629
+ * Asynchronously watches the geolocation for changes to geolocation. When a change occurs,
630
+ * the successCallback is called with the new location.
631
+ *
632
+ * @param {Function} successCallback The function to call each time the location data is available
633
+ * @param {Function} errorCallback The function to call when there is an error getting the location data. (OPTIONAL)
634
+ * @param {PositionOptions} options The options for getting the location data such as frequency. (OPTIONAL)
635
+ * @return String The watch id that must be passed to #clearWatch to stop watching.
636
+ */
637
+ Geolocation.prototype.watchPosition = function(successCallback, errorCallback, options) {
638
+
639
+ // default maximumAge value should be 0, and set if positive
640
+ var maximumAge = 0;
641
+
642
+ // DO NOT set timeout to a large value for watchPosition in BlackBerry.
643
+ // The interval used for updates is half the timeout value, so a large
644
+ // timeout value will mean a long wait for the first location.
645
+ var timeout = 10000;
646
+
647
+ var enableHighAccuracy = false;
648
+ if (options) {
649
+ if (options.maximumAge && (options.maximumAge > 0)) {
650
+ maximumAge = options.maximumAge;
651
+ }
652
+ if (options.enableHighAccuracy) {
653
+ enableHighAccuracy = options.enableHighAccuracy;
654
+ }
655
+ if (options.timeout) {
656
+ timeout = (options.timeout < 0) ? 0 : options.timeout;
657
+ }
658
+ }
659
+ this.id = Cordova.createUUID();
660
+ Cordova.exec(successCallback, errorCallback, "org.apache.cordova.Geolocation", "watchPosition", [maximumAge, timeout, enableHighAccuracy]);
661
+ return this.id;
662
+ };
663
+
664
+ /**
665
+ * Clears the specified position watch.
666
+ *
667
+ * @param {String} id The ID of the watch returned from #watchPosition
668
+ */
669
+ Geolocation.prototype.clearWatch = function(id) {
670
+ Cordova.exec(null, null, "org.apache.cordova.Geolocation", "stop", []);
671
+ this.id = null;
672
+ };
673
+
674
+ /**
675
+ * Force the Cordova geolocation to be used instead of built-in.
676
+ */
677
+ Geolocation.usingCordova = false;
678
+ Geolocation.useCordova = function() {
679
+ if (Geolocation.usingCordova) {
680
+ return;
681
+ }
682
+ Geolocation.usingCordova = true;
683
+
684
+ // Set built-in geolocation methods to our own implementations
685
+ // (Cannot replace entire geolocation, but can replace individual methods)
686
+ navigator.geolocation.getCurrentPosition = navigator._geo.getCurrentPosition;
687
+ navigator.geolocation.watchPosition = navigator._geo.watchPosition;
688
+ navigator.geolocation.clearWatch = navigator._geo.clearWatch;
689
+ navigator.geolocation.success = navigator._geo.success;
690
+ navigator.geolocation.fail = navigator._geo.fail;
691
+ };
692
+
693
+ Cordova.addConstructor(function() {
694
+ navigator._geo = new Geolocation();
695
+
696
+ // if no native geolocation object, use Cordova geolocation
697
+ if (typeof navigator.geolocation == 'undefined') {
698
+ navigator.geolocation = navigator._geo;
699
+ Geolocation.usingCordova = true;
700
+ }
701
+ });
702
+
703
+ /*
704
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
705
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
706
+ *
707
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
708
+ * Copyright (c) 2010, IBM Corporation
709
+ */
710
+
711
+ /**
712
+ * This class contains position information.
713
+ * @param {Object} lat
714
+ * @param {Object} lng
715
+ * @param {Object} acc
716
+ * @param {Object} alt
717
+ * @param {Object} altacc
718
+ * @param {Object} head
719
+ * @param {Object} vel
720
+ * @constructor
721
+ */
722
+ function Position(coords, timestamp) {
723
+ this.coords = coords;
724
+ this.timestamp = timestamp;
725
+ }
726
+
727
+ function PositionOptions(enableHighAccuracy, timeout, maximumAge, minimumAccuracy) {
728
+ this.enableHighAccuracy = enableHighAccuracy || false;
729
+ this.timeout = timeout || 10000000;
730
+ this.maximumAge = maximumAge || 0;
731
+ this.minimumAccuracy = minimumAccuracy || 10000000;
732
+ }
733
+
734
+ function Coordinates(lat, lng, alt, acc, head, vel, altacc) {
735
+ /**
736
+ * The latitude of the position.
737
+ */
738
+ this.latitude = lat || 0;
739
+ /**
740
+ * The longitude of the position,
741
+ */
742
+ this.longitude = lng || 0;
743
+ /**
744
+ * The accuracy of the position.
745
+ */
746
+ this.accuracy = acc || 0;
747
+ /**
748
+ * The altitude of the position.
749
+ */
750
+ this.altitude = alt || 0;
751
+ /**
752
+ * The direction the device is moving at the position.
753
+ */
754
+ this.heading = head || 0;
755
+ /**
756
+ * The velocity with which the device is moving at the position.
757
+ */
758
+ this.speed = vel || 0;
759
+ /**
760
+ * The altitude accuracy of the position.
761
+ */
762
+ this.altitudeAccuracy = (altacc != 'undefined') ? altacc : null;
763
+ }
764
+ /*
765
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
766
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
767
+ *
768
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
769
+ * Copyright (c) 2010, IBM Corporation
770
+ */
771
+ function Acceleration(x, y, z, timestamp) {
772
+ this.x = x;
773
+ this.y = y;
774
+ this.z = z;
775
+ this.timestamp = timestamp || new Date().getTime();
776
+ };
777
+
778
+ /**
779
+ * Class provides access to device accelerometer data.
780
+ * @constructor
781
+ */
782
+ function Accelerometer() {
783
+
784
+ /**
785
+ * The last known acceleration. type=Acceleration()
786
+ */
787
+ this.lastAcceleration = null;
788
+ this.id = null;
789
+ };
790
+
791
+ /**
792
+ * Asynchronously acquires the current acceleration.
793
+ *
794
+ * @param {Function} successCallback The function to call when the acceleration data is available
795
+ * @param {Function} errorCallback The function to call when there is an error getting the acceleration data. (OPTIONAL)
796
+ * @param {AccelerationOptions} options The options for getting the accelerometer data such as timeout. (OPTIONAL)
797
+ */
798
+ Accelerometer.prototype.getCurrentAcceleration = function(successCallback, errorCallback, options) {
799
+
800
+ // successCallback required
801
+ if (typeof successCallback != "function") {
802
+ console.log("Accelerometer Error: successCallback is not a function");
803
+ return;
804
+ }
805
+
806
+ // errorCallback optional
807
+ if (errorCallback && (typeof errorCallback != "function")) {
808
+ console.log("Accelerometer Error: errorCallback is not a function");
809
+ return;
810
+ }
811
+
812
+ // Get acceleration
813
+ Cordova.exec(successCallback, errorCallback, "org.apache.cordova.Accelerometer", "getCurrentAcceleration", []);
814
+ };
815
+
816
+ /**
817
+ * Asynchronously acquires the device acceleration at a given interval.
818
+ *
819
+ * @param {Function} successCallback The function to call each time the acceleration data is available
820
+ * @param {Function} errorCallback The function to call when there is an error getting the acceleration data. (OPTIONAL)
821
+ * @param {AccelerationOptions} options The options for getting the accelerometer data such as timeout. (OPTIONAL)
822
+ * @return String The watch id that must be passed to #clearWatch to stop watching.
823
+ */
824
+ Accelerometer.prototype.watchAcceleration = function(successCallback, errorCallback, options) {
825
+
826
+ // Default interval (10 sec)
827
+ var frequency = (options != undefined) ? options.frequency : 10000;
828
+
829
+ // successCallback required
830
+ if (typeof successCallback != "function") {
831
+ console.log("Accelerometer Error: successCallback is not a function");
832
+ return;
833
+ }
834
+
835
+ // errorCallback optional
836
+ if (errorCallback && (typeof errorCallback != "function")) {
837
+ console.log("Accelerometer Error: errorCallback is not a function");
838
+ return;
839
+ }
840
+ // Start watch timer
841
+ this.id = Cordova.createUUID();
842
+ Cordova.exec(successCallback, errorCallback, "org.apache.cordova.Accelerometer", "watchAcceleration", []);
843
+ return this.id;
844
+ };
845
+
846
+ /**
847
+ * Clears the specified accelerometer watch.
848
+ *
849
+ * @param {String} id The id of the watch returned from #watchAcceleration.
850
+ */
851
+ Accelerometer.prototype.clearWatch = function(id) {
852
+
853
+ // Stop javascript timer & remove from timer list
854
+ if (id == this.id) {
855
+ Cordova.exec(null, null, "org.apache.cordova.Accelerometer", "clearWatch", []);
856
+ }
857
+ };
858
+
859
+ /*
860
+ * Native callback when watchAcceleration has a new acceleration.
861
+ */
862
+ Accelerometer.prototype.success = function(id, result) {
863
+ try {
864
+ var accel = new Acceleration(result.x, result.y, result.z, result.timestamp);
865
+ navigator.accelerometer.lastAcceleration = accel;
866
+ navigator.accelerometer.listeners[id].success(accel);
867
+ }
868
+ catch (e) {
869
+ debugPrint("Geolocation Error: "+e.message);
870
+ console.log("Geolocation Error: Error calling success callback function.");
871
+ }
872
+
873
+ if (id == "global") {
874
+ delete navigator.accelerometer.listeners["global"];
875
+ }
876
+ };
877
+
878
+ Cordova.addConstructor(function() {
879
+ if (typeof navigator.accelerometer == "undefined") navigator.accelerometer = new Accelerometer();
880
+ });
881
+
882
+ /*
883
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
884
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
885
+ *
886
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
887
+ * Copyright (c) 2010, IBM Corporation
888
+ */
889
+
890
+ /**
891
+ * Network status.
892
+ */
893
+ NetworkStatus = {
894
+ NOT_REACHABLE: 0,
895
+ REACHABLE_VIA_CARRIER_DATA_NETWORK: 1,
896
+ REACHABLE_VIA_WIFI_NETWORK: 2
897
+ };
898
+
899
+ /**
900
+ * This class provides access to device Network data (reachability).
901
+ * @constructor
902
+ */
903
+ function Network() {
904
+ /**
905
+ * The last known Network status.
906
+ * { hostName: string, ipAddress: string,
907
+ remoteHostStatus: int(0/1/2), internetConnectionStatus: int(0/1/2), localWiFiConnectionStatus: int (0/2) }
908
+ */
909
+ this.lastReachability = null;
910
+ };
911
+
912
+ /**
913
+ * Determine if a URI is reachable over the network.
914
+
915
+ * @param {Object} uri
916
+ * @param {Function} callback
917
+ * @param {Object} options (isIpAddress:boolean)
918
+ */
919
+ Network.prototype.isReachable = function(uri, callback, options) {
920
+ var isIpAddress = false;
921
+ if (options && options.isIpAddress) {
922
+ isIpAddress = options.isIpAddress;
923
+ }
924
+ Cordova.exec(callback, null, 'org.apache.cordova.Network', 'isReachable', [uri, isIpAddress]);
925
+ };
926
+
927
+ /**
928
+ * Called by the geolocation framework when the reachability status has changed.
929
+ * @param {Reachibility} reachability The current reachability status.
930
+ */
931
+ // TODO: Callback from native code not implemented for Android
932
+ Network.prototype.updateReachability = function(reachability) {
933
+ this.lastReachability = reachability;
934
+ };
935
+
936
+ Cordova.addConstructor(function() {
937
+ if (typeof navigator.network == "undefined") navigator.network = new Network();
938
+ });
939
+ /**
940
+ * This class provides access to the debugging console.
941
+ * @constructor
942
+ */
943
+ function DebugConsole(isDeprecated) {
944
+ this.logLevel = DebugConsole.INFO_LEVEL;
945
+ this.isDeprecated = isDeprecated ? true : false;
946
+ }
947
+
948
+ // from most verbose, to least verbose
949
+ DebugConsole.ALL_LEVEL = 1; // same as first level
950
+ DebugConsole.INFO_LEVEL = 1;
951
+ DebugConsole.WARN_LEVEL = 2;
952
+ DebugConsole.ERROR_LEVEL = 4;
953
+ DebugConsole.NONE_LEVEL = 8;
954
+
955
+ DebugConsole.prototype.setLevel = function(level) {
956
+ this.logLevel = level;
957
+ }
958
+
959
+ /**
960
+ * Utility function for rendering and indenting strings, or serializing
961
+ * objects to a string capable of being printed to the console.
962
+ * @param {Object|String} message The string or object to convert to an indented string
963
+ * @private
964
+ */
965
+ DebugConsole.prototype.processMessage = function(message, maxDepth) {
966
+ if (maxDepth === undefined) maxDepth = 0;
967
+ if (typeof(message) != 'object') {
968
+ return (this.isDeprecated ? "WARNING: debug object is deprecated, please use console object " + message : message);
969
+ } else {
970
+ /**
971
+ * @function
972
+ * @ignore
973
+ */
974
+ function indent(str) {
975
+ return str.replace(/^/mg, " ");
976
+ }
977
+ /**
978
+ * @function
979
+ * @ignore
980
+ */
981
+ function makeStructured(obj, depth) {
982
+ var str = "";
983
+ for (var i in obj) {
984
+ try {
985
+ if (typeof(obj[i]) == 'object' && depth < maxDepth) {
986
+ str += i + ": " + indent(makeStructured(obj[i])) + " ";
987
+ } else {
988
+ str += i + " = " + indent(String(obj[i])).replace(/^ /, "") + " ";
989
+ }
990
+ } catch(e) {
991
+ str += i + " = EXCEPTION: " + e.message + " ";
992
+ }
993
+ }
994
+ return str;
995
+ }
996
+
997
+ return ((this.isDeprecated ? "WARNING: debug object is deprecated, please use console object " : "") + "Object: " + makeStructured(message, maxDepth));
998
+ }
999
+ };
1000
+
1001
+ /**
1002
+ * Print a normal log message to the console
1003
+ * @param {Object|String} message Message or object to print to the console
1004
+ */
1005
+ DebugConsole.prototype.log = function(message, maxDepth) {
1006
+ if (Cordova.available && this.logLevel <= DebugConsole.INFO_LEVEL)
1007
+ Cordova.exec(null, null, 'org.apache.cordova.DebugConsole', 'log',
1008
+ [this.processMessage(message, maxDepth), 'INFO']
1009
+ );
1010
+ else
1011
+ console.log(message);
1012
+ };
1013
+
1014
+ /**
1015
+ * Print a warning message to the console
1016
+ * @param {Object|String} message Message or object to print to the console
1017
+ */
1018
+ DebugConsole.prototype.warn = function(message, maxDepth) {
1019
+ if (Cordova.available && this.logLevel <= DebugConsole.WARN_LEVEL)
1020
+ Cordova.exec(null, null, 'org.apache.cordova.DebugConsole', 'log',
1021
+ [this.processMessage(message, maxDepth), 'WARN']
1022
+ );
1023
+ else
1024
+ console.error(message);
1025
+ };
1026
+
1027
+ /**
1028
+ * Print an error message to the console
1029
+ * @param {Object|String} message Message or object to print to the console
1030
+ */
1031
+ DebugConsole.prototype.error = function(message, maxDepth) {
1032
+ if (Cordova.available && this.logLevel <= DebugConsole.ERROR_LEVEL)
1033
+ Cordova.exec(null, null, 'org.apache.cordova.DebugConsole', 'log',
1034
+ [this.processMessage(message, maxDepth), 'ERROR']
1035
+ );
1036
+ else
1037
+ console.error(message);
1038
+ };
1039
+
1040
+ Cordova.addConstructor(function() {
1041
+ window.console = new DebugConsole();
1042
+ window.debug = new DebugConsole(true);
1043
+ });
1044
+ /*
1045
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
1046
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
1047
+ *
1048
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
1049
+ * Copyright (c) 2010, IBM Corporation
1050
+ */
1051
+
1052
+ /**
1053
+ * Contains information about a single contact.
1054
+ * @param {DOMString} id unique identifier
1055
+ * @param {DOMString} displayName
1056
+ * @param {ContactName} name
1057
+ * @param {DOMString} nickname
1058
+ * @param {ContactField[]} phoneNumbers array of phone numbers
1059
+ * @param {ContactField[]} emails array of email addresses
1060
+ * @param {ContactAddress[]} addresses array of addresses
1061
+ * @param {ContactField[]} ims instant messaging user ids
1062
+ * @param {ContactOrganization[]} organizations
1063
+ * @param {DOMString} revision date contact was last updated
1064
+ * @param {DOMString} birthday contact's birthday
1065
+ * @param {DOMString} gender contact's gender
1066
+ * @param {DOMString} note user notes about contact
1067
+ * @param {ContactField[]} photos
1068
+ * @param {ContactField[]} urls contact's web sites
1069
+ * @param {DOMString} timezone UTC time zone offset
1070
+ */
1071
+
1072
+ var Contact = function(id, displayName, name, nickname, phoneNumbers, emails, addresses,
1073
+ ims, organizations, revision, birthday, gender, note, photos, categories, urls, timezone) {
1074
+ this.id = id || null;
1075
+ this.displayName = displayName || null;
1076
+ this.name = name || null; // ContactName
1077
+ this.nickname = nickname || null;
1078
+ this.phoneNumbers = phoneNumbers || null; // ContactField[]
1079
+ this.emails = emails || null; // ContactField[]
1080
+ this.addresses = addresses || null; // ContactAddress[]
1081
+ this.ims = ims || null; // ContactField[]
1082
+ this.organizations = organizations || null; // ContactOrganization[]
1083
+ this.revision = revision || null; // JS Date
1084
+ this.birthday = birthday || null; // JS Date
1085
+ this.gender = gender || null;
1086
+ this.note = note || null;
1087
+ this.photos = photos || null; // ContactField[]
1088
+ this.categories = categories || null;
1089
+ this.urls = urls || null; // ContactField[]
1090
+ this.timezone = timezone || null;
1091
+ };
1092
+
1093
+ /**
1094
+ * Removes contact from device storage.
1095
+ * @param successCB success callback
1096
+ * @param errorCB error callback (optional)
1097
+ */
1098
+ Contact.prototype.remove = function(successCB, errorCB) {
1099
+ if (this.id == null) {
1100
+ var errorObj = new ContactError();
1101
+ errorObj.code = ContactError.NOT_FOUND_ERROR;
1102
+ errorCB(errorObj);
1103
+ }
1104
+ else {
1105
+ Cordova.exec(successCB, errorCB, "org.apache.cordova.Contacts", "remove", [this.id]);
1106
+ }
1107
+ };
1108
+ /**
1109
+ * Bada ONLY
1110
+ * displays contact via Bada Contact UI
1111
+ *
1112
+ * @param errorCB error callback
1113
+ */
1114
+ Contact.prototype.display = function(successCB, errorCB, options) {
1115
+ if (this.id == null) {
1116
+ var errorObj = new ContactError();
1117
+ errorObj.code = ContactError.NOT_FOUND_ERROR;
1118
+ errorCB(errorObj);
1119
+ }
1120
+ else {
1121
+ Cordova.exec(successCB, errorCB, "org.apache.cordova.Contacts","displayContact", [this.id, options]);
1122
+ }
1123
+ };
1124
+
1125
+ /**
1126
+ * Creates a deep copy of this Contact.
1127
+ * With the contact ID set to null.
1128
+ * @return copy of this Contact
1129
+ */
1130
+ Contact.prototype.clone = function() {
1131
+ var clonedContact = Cordova.clone(this);
1132
+ clonedContact.id = null;
1133
+ // Loop through and clear out any id's in phones, emails, etc.
1134
+ if (clonedContact.phoneNumbers) {
1135
+ for (i=0; i<clonedContact.phoneNumbers.length; i++) {
1136
+ clonedContact.phoneNumbers[i].id = null;
1137
+ }
1138
+ }
1139
+ if (clonedContact.emails) {
1140
+ for (i=0; i<clonedContact.emails.length; i++) {
1141
+ clonedContact.emails[i].id = null;
1142
+ }
1143
+ }
1144
+ if (clonedContact.addresses) {
1145
+ for (i=0; i<clonedContact.addresses.length; i++) {
1146
+ clonedContact.addresses[i].id = null;
1147
+ }
1148
+ }
1149
+ if (clonedContact.ims) {
1150
+ for (i=0; i<clonedContact.ims.length; i++) {
1151
+ clonedContact.ims[i].id = null;
1152
+ }
1153
+ }
1154
+ if (clonedContact.organizations) {
1155
+ for (i=0; i<clonedContact.organizations.length; i++) {
1156
+ clonedContact.organizations[i].id = null;
1157
+ }
1158
+ }
1159
+ if (clonedContact.photos) {
1160
+ for (i=0; i<clonedContact.photos.length; i++) {
1161
+ clonedContact.photos[i].id = null;
1162
+ }
1163
+ }
1164
+ if (clonedContact.urls) {
1165
+ for (i=0; i<clonedContact.urls.length; i++) {
1166
+ clonedContact.urls[i].id = null;
1167
+ }
1168
+ }
1169
+ return clonedContact;
1170
+ };
1171
+
1172
+ /**
1173
+ * Persists contact to device storage.
1174
+ * @param successCB success callback
1175
+ * @param errorCB error callback - optional
1176
+ */
1177
+ Contact.prototype.save = function(successCB, errorCB) {
1178
+ // Read by Bada to create contact
1179
+ var id = navigator.service.contacts.records.push(this) - 1;
1180
+ Cordova.exec(successCB, errorCB, "org.apache.cordova.Contacts", "save", [id]);
1181
+ };
1182
+
1183
+ /**
1184
+ * Contact name.
1185
+ * @param formatted
1186
+ * @param familyName
1187
+ * @param givenName
1188
+ * @param middle
1189
+ * @param prefix
1190
+ * @param suffix
1191
+ */
1192
+ var ContactName = function(formatted, familyName, givenName, middle, prefix, suffix) {
1193
+ this.formatted = formatted != "undefined" ? formatted : null;
1194
+ this.familyName = familyName != "undefined" ? familyName : null;
1195
+ this.givenName = givenName != "undefined" ? givenName : null;
1196
+ this.middleName = middle != "undefined" ? middle : null;
1197
+ this.honorificPrefix = prefix != "undefined" ? prefix : null;
1198
+ this.honorificSuffix = suffix != "undefined" ? suffix : null;
1199
+ };
1200
+
1201
+ /**
1202
+ * Generic contact field.
1203
+ * @param type
1204
+ * @param value
1205
+ * @param primary
1206
+ * @param id
1207
+ */
1208
+ var ContactField = function(type, value, pref, id) {
1209
+ this.type = type != "undefined" ? type : null;
1210
+ this.value = value != "undefined" ? value : null;
1211
+ this.pref = pref != "undefined" ? pref : null;
1212
+ this.id = id != "undefined" ? id : null;
1213
+ };
1214
+
1215
+ /**
1216
+ * Contact address.
1217
+ * @param formatted
1218
+ * @param streetAddress
1219
+ * @param locality
1220
+ * @param region
1221
+ * @param postalCode
1222
+ * @param country
1223
+ */
1224
+ var ContactAddress = function(formatted, streetAddress, locality, region, postalCode, country, id) {
1225
+ this.formatted = formatted != "undefined" ? formatted : null;
1226
+ this.streetAddress = streetAddress != "undefined" ? streetAddress : null;
1227
+ this.locality = locality != "undefined" ? locality : null;
1228
+ this.region = region != "undefined" ? region : null;
1229
+ this.postalCode = postalCode != "undefined" ? postalCode : null;
1230
+ this.country = country != "undefined" ? country : null;
1231
+ this.id = id != "undefined" ? id : null;
1232
+ };
1233
+
1234
+ /**
1235
+ * Contact organization.
1236
+ * @param name
1237
+ * @param dept
1238
+ * @param title
1239
+ * @param startDate
1240
+ * @param endDate
1241
+ * @param location
1242
+ * @param desc
1243
+ */
1244
+ var ContactOrganization = function(name, dept, title, startDate, endDate, location, desc) {
1245
+ this.name = name != "undefined" ? name : null;
1246
+ this.department = dept != "undefined" ? dept : null;
1247
+ this.title = title != "undefined" ? title : null;
1248
+ this.startDate = startDate != "undefined" ? startDate : null;
1249
+ this.endDate = endDate != "undefined" ? endDate : null;
1250
+ this.location = location != "undefined" ? location : null;
1251
+ this.description = desc != "undefined" ? desc : null;
1252
+ };
1253
+
1254
+ /**
1255
+ * Contact account.
1256
+ * @param domain
1257
+ * @param username
1258
+ * @param userid
1259
+ */
1260
+ var ContactAccount = function(domain, username, userid) {
1261
+ this.domain = domain != "undefined" ? domain : null;
1262
+ this.username = username != "undefined" ? username : null;
1263
+ this.userid = userid != "undefined" ? userid : null;
1264
+ }
1265
+
1266
+ /**
1267
+ * Represents a group of Contacts.
1268
+ */
1269
+ var Contacts = function() {
1270
+ this.inProgress = false;
1271
+ this.records = new Array(); // used by bada to create contacts
1272
+ this.results = new Array(); // used by bada to update contact results
1273
+ this.resultsCallback = null;
1274
+ this.errorCallback = null;
1275
+ };
1276
+ /**
1277
+ * Returns an array of Contacts matching the search criteria.
1278
+ * @param fields that should be searched
1279
+ * @param successCB success callback
1280
+ * @param errorCB error callback (optional)
1281
+ * @param {ContactFindOptions} options that can be applied to contact searching
1282
+ * @return array of Contacts matching search criteria
1283
+ */
1284
+ Contacts.prototype.find = function(fields, successCB, errorCB, options) {
1285
+ /* fields searched are: displayName, Email, Phone Number, User Id
1286
+ * other fields are ignored
1287
+ */
1288
+ Cordova.exec(successCB, errorCB, "org.apache.cordova.Contacts","find",[options.filter]);
1289
+ };
1290
+
1291
+ /**
1292
+ * need to turn the JSON string representing contact object into actual object
1293
+ * @param JSON string with contact data
1294
+ * Call stored results function with Contact object
1295
+ */
1296
+ Contacts.prototype._findCallback = function(contact)
1297
+ {
1298
+ if(contact) {
1299
+ try {
1300
+ this.results.push(this.create(contact));
1301
+ } catch(e){
1302
+ console.log("Error parsing contact");
1303
+ }
1304
+ }
1305
+ };
1306
+ /**
1307
+ * Need to return an error object rather than just a single error code
1308
+ * @param error code
1309
+ * Call optional error callback if found.
1310
+ * Called from objective c find, remove, and save methods on error.
1311
+ */
1312
+ Contacts.prototype._errCallback = function(pluginResult)
1313
+ {
1314
+ var errorObj = new ContactError();
1315
+ errorObj.code = pluginResult.message;
1316
+ pluginResult.message = errorObj;
1317
+ return pluginResult;
1318
+ };
1319
+ // Bada only api to create a new contact via the GUI
1320
+ Contacts.prototype.newContactUI = function(successCallback) {
1321
+ Cordova.exec(successCallback, null, "org.apache.cordova.Contacts","newContact", []);
1322
+ };
1323
+ // Bada only api to select a contact via the GUI
1324
+ Contacts.prototype.chooseContact = function(successCallback, options) {
1325
+ Cordova.exec(successCallback, null, "org.apache.cordova.Contacts","chooseContact", options);
1326
+ };
1327
+
1328
+
1329
+ /**
1330
+ * This function creates a new contact, but it does not persist the contact
1331
+ * to device storage. To persist the contact to device storage, invoke
1332
+ * contact.save().
1333
+ * @param properties an object who's properties will be examined to create a new Contact
1334
+ * @returns new Contact object
1335
+ */
1336
+ Contacts.prototype.create = function(properties) {
1337
+ var contact = new Contact();
1338
+ for (i in properties) {
1339
+ if (contact[i]!='undefined') {
1340
+ contact[i]=properties[i];
1341
+ }
1342
+ }
1343
+ return contact;
1344
+ };
1345
+
1346
+ /**
1347
+ * ContactFindOptions.
1348
+ * @param filter used to match contacts against
1349
+ * @param multiple boolean used to determine if more than one contact should be returned
1350
+ * @param updatedSince return only contact records that have been updated on or after the given time
1351
+ */
1352
+ var ContactFindOptions = function(filter, multiple, updatedSince) {
1353
+ this.filter = filter || '';
1354
+ this.multiple = multiple || true;
1355
+ this.updatedSince = updatedSince || '';
1356
+ };
1357
+
1358
+ /**
1359
+ * ContactError.
1360
+ * An error code assigned by an implementation when an error has occurred
1361
+ */
1362
+ var ContactError = function() {
1363
+ this.code=null;
1364
+ };
1365
+
1366
+ /**
1367
+ * Error codes
1368
+ */
1369
+ ContactError.UNKNOWN_ERROR = 0;
1370
+ ContactError.INVALID_ARGUMENT_ERROR = 1;
1371
+ ContactError.NOT_FOUND_ERROR = 2;
1372
+ ContactError.TIMEOUT_ERROR = 3;
1373
+ ContactError.PENDING_OPERATION_ERROR = 4;
1374
+ ContactError.IO_ERROR = 5;
1375
+ ContactError.NOT_SUPPORTED_ERROR = 6;
1376
+ ContactError.PERMISSION_DENIED_ERROR = 20;
1377
+
1378
+ /**
1379
+ * Add the contact interface into the browser.
1380
+ */
1381
+ Cordova.addConstructor(function() {
1382
+ if(typeof navigator.service == "undefined") navigator.service = new Object();
1383
+ if(typeof navigator.service.contacts == "undefined") navigator.service.contacts = new Contacts();
1384
+ });
1385
+
1386
+
1387
+ /*
1388
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
1389
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
1390
+ *
1391
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
1392
+ * Copyright (c) 2010, IBM Corporation
1393
+ */
1394
+
1395
+ /**
1396
+ * This represents the mobile device, and provides properties for inspecting the model, version, UUID of the
1397
+ * phone, etc.
1398
+ * @constructor
1399
+ */
1400
+ function Device() {
1401
+ this.platform = null;
1402
+ this.version = null;
1403
+ this.name = null;
1404
+ this.uuid = null;
1405
+ };
1406
+
1407
+ Cordova.addConstructor(function() {
1408
+ navigator.device = window.device = window.device || new Device();
1409
+ Cordova.onCordovaInfoReady.fire();
1410
+ });
1411
+ /**
1412
+ * This class provides access to device Compass data.
1413
+ * @constructor
1414
+ */
1415
+ function Compass() {
1416
+ /**
1417
+ * The last known Compass position.
1418
+ */
1419
+ this.uuid = null;
1420
+ };
1421
+
1422
+ /**
1423
+ * Asynchronously aquires the current heading.
1424
+ * @param {Function} successCallback The function to call when the heading
1425
+ * data is available
1426
+ * @param {Function} errorCallback The function to call when there is an error
1427
+ * getting the heading data.
1428
+ * @param {PositionOptions} options The options for getting the heading data
1429
+ * such as timeout.
1430
+ */
1431
+ Compass.prototype.getCurrentHeading = function(successCallback, errorCallback, options) {
1432
+ Cordova.exec(successCallback, errorCallback, "org.apache.cordova.Compass", "getCurrentHeading", options);
1433
+ };
1434
+
1435
+ /**
1436
+ * Asynchronously aquires the heading repeatedly at a given interval.
1437
+ * @param {Function} successCallback The function to call each time the heading
1438
+ * data is available
1439
+ * @param {Function} errorCallback The function to call when there is an error
1440
+ * getting the heading data.
1441
+ * @param {HeadingOptions} options The options for getting the heading data
1442
+ * such as timeout and the frequency of the watch.
1443
+ */
1444
+ Compass.prototype.watchHeading= function(successCallback, errorCallback, options) {
1445
+ this.uuid = Cordova.createUUID();
1446
+ Cordova.exec(successCallback, errorCallback, "org.apache.cordova.Compass", "watchHeading", [this.uuid, options.frequency || 3000]);
1447
+ return this.uuid;
1448
+ };
1449
+
1450
+
1451
+ /**
1452
+ * Clears the specified heading watch.
1453
+ * @param {String} watchId The ID of the watch returned from #watchHeading.
1454
+ */
1455
+ Compass.prototype.clearWatch = function(watchId) {
1456
+ if(this.uuid == watchId) {
1457
+ Cordova.exec(null, null, "org.apache.cordova.Compass", "clearWatch", [this.uuid]);
1458
+ this.uuid = null;
1459
+ } else {
1460
+ debugPrint('no clear watch');
1461
+ }
1462
+ };
1463
+
1464
+ Cordova.addConstructor(function() {
1465
+ if (typeof navigator.compass == "undefined") navigator.compass = new Compass();
1466
+ });
1467
+
1468
+ /*
1469
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
1470
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
1471
+ *
1472
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
1473
+ * Copyright (c) 2010, IBM Corporation
1474
+ */
1475
+
1476
+ MessageBox.MSGBOX_STYLE_NONE = 0;
1477
+ MessageBox.MSGBOX_STYLE_OK = 1;
1478
+ MessageBox.MSGBOX_STYLE_CANCEL = 2;
1479
+ MessageBox.MSGBOX_STYLE_OKCANCEL = 3;
1480
+ MessageBox.MSGBOX_STYLE_YESNO = 4;
1481
+ MessageBox.MSGBOX_STYLE_YESNOCANCEL = 5;
1482
+ MessageBox.MSGBOX_STYLE_ABORTRETRYIGNORE = 6;
1483
+ MessageBox.MSGBOX_STYLE_CANCELTRYCONTINUE = 7;
1484
+ MessageBox.MSGBOX_STYLE_RETRYCANCEL = 8;
1485
+
1486
+ /**
1487
+ * This class provides access to notifications on the device.
1488
+ */
1489
+ function Notification() {
1490
+ this.messageBox = new MessageBox("Test Alert", "This is an alert", "OK");
1491
+ }
1492
+
1493
+ /*
1494
+ * MessageBox: used by Bada to retrieve Dialog Information
1495
+ */
1496
+
1497
+ function MessageBox(title, message, messageBoxStyle) {
1498
+ this.title = title;
1499
+ this.message = message;
1500
+ this.messageBoxStyle = messageBoxStyle;
1501
+ }
1502
+
1503
+ labelsToBoxStyle = function(buttonLabels) {
1504
+ if(!buttonLabels)
1505
+ return MessageBox.MSGBOX_STYLE_NONE;
1506
+ if(buttonLabels == "OK")
1507
+ return MessageBox.MSGBOX_STYLE_OK;
1508
+ if(buttonLabels == "Cancel")
1509
+ return MessageBox.MSGBOX_STYLE_CANCEL;
1510
+ if(buttonLabels == "OK,Cancel")
1511
+ return MessageBox.MSGBOX_STYLE_OKCANCEL;
1512
+ if(buttonLabels == "Yes,No")
1513
+ return MessageBox.MSGBOX_STYLE_YESNO;
1514
+ if(buttonLabels == "Yes,No,Cancel")
1515
+ return MessageBox.MSGBOX_STYLE_YESNOCANCEL;
1516
+ if(buttonLabels == "Abort,Retry,Ignore")
1517
+ return MessageBox.MSGBOX_STYLE_ABORTRETRYIGNORE;
1518
+ if(buttonLabels == "Cancel,Try,Continue")
1519
+ return MessageBox.MSGBOX_STYLE_CANCELTRYCONTINUE;
1520
+ if(buttonLabels == "Retry,Cancel")
1521
+ return MessageBox.MSGBOX_STYLE_RETRYCANCEL;
1522
+
1523
+ return MessageBox.MSGBOX_STYLE_NONE;
1524
+ }
1525
+
1526
+ /**
1527
+ * Open a native alert dialog, with a customizable title and button text.
1528
+ * @param {String} message Message to print in the body of the alert
1529
+ * @param {Function} completeCallback The callback that is invoked when user clicks a button.
1530
+ * @param {String} title Title of the alert dialog (default: 'Alert')
1531
+ * @param {String} buttonLabel Label of the close button (default: 'OK')
1532
+ */
1533
+ Notification.prototype.alert = function(message, completeCallback, title, buttonLabel) {
1534
+ var _title = (title || "Alert");
1535
+ this.messageBox = new MessageBox(_title, message, labelsToBoxStyle(buttonLabel));
1536
+ Cordova.exec(completeCallback, null, 'org.apache.cordova.Notification', 'alert', []);
1537
+ };
1538
+
1539
+ /**
1540
+ * Open a custom confirmation dialog, with a customizable title and button text.
1541
+ * @param {String} message Message to print in the body of the dialog
1542
+ * @param {Function}resultCallback The callback that is invoked when a user clicks a button.
1543
+ * @param {String} title Title of the alert dialog (default: 'Confirm')
1544
+ * @param {String} buttonLabels Comma separated list of the button labels (default: 'OK,Cancel')
1545
+ */
1546
+ Notification.prototype.confirm = function(message, resultCallback, title, buttonLabels) {
1547
+ var _title = (title || "Confirm");
1548
+ var _buttonLabels = (buttonLabels || "OK,Cancel");
1549
+ this.messageBox = new MessageBox(_title, message, labelsToBoxStyle(buttonLabels));
1550
+ return Cordova.exec(resultCallback, null, 'org.apache.cordova.Notification', 'confirm', []);
1551
+ };
1552
+
1553
+ /**
1554
+ * Causes the device to vibrate.
1555
+ * @param {Integer} mills The number of milliseconds to vibrate for.
1556
+ */
1557
+ Notification.prototype.vibrate = function(mills) {
1558
+ Cordova.exec(null, null, 'org.apache.cordova.Notification', 'vibrate', [mills]);
1559
+ };
1560
+
1561
+ /**
1562
+ * Causes the device to beep.
1563
+ * @param {Integer} count The number of beeps.
1564
+ */
1565
+ Notification.prototype.beep = function(count) {
1566
+ Cordova.exec(null, null, 'org.apache.cordova.Notification', 'beep', [count]);
1567
+ };
1568
+
1569
+ Cordova.addConstructor(function() {
1570
+ if (typeof navigator.notification == "undefined") navigator.notification = new Notification();
1571
+ });
1572
+
1573
+ /*
1574
+ * Cordova is available under *either* the terms of the modified BSD license *or* the
1575
+ * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
1576
+ *
1577
+ * Copyright (c) 2005-2010, Nitobi Software Inc.
1578
+ * Copyright (c) 2010, IBM Corporation
1579
+ */
1580
+
1581
+ /**
1582
+ * This class provides access to the device camera.
1583
+ *
1584
+ * @constructor
1585
+ */
1586
+ Camera = function() {
1587
+ this.options = null;
1588
+ };
1589
+
1590
+ /**
1591
+ * Format of image that returned from getPicture.
1592
+ *
1593
+ * Example: navigator.camera.getPicture(success, fail,
1594
+ * { quality: 80,
1595
+ * destinationType: Camera.DestinationType.DATA_URL,
1596
+ * sourceType: Camera.PictureSourceType.PHOTOLIBRARY})
1597
+ */
1598
+ Camera.DestinationType = {
1599
+ DATA_URL: 0, // Return base64 encoded string
1600
+ FILE_URI: 1 // Return file URI
1601
+ };
1602
+ Camera.prototype.DestinationType = Camera.DestinationType;
1603
+
1604
+ /**
1605
+ * Source to getPicture from.
1606
+ *
1607
+ * Example: navigator.camera.getPicture(success, fail,
1608
+ * { quality: 80,
1609
+ * destinationType: Camera.DestinationType.DATA_URL,
1610
+ * sourceType: Camera.PictureSourceType.PHOTOLIBRARY})
1611
+ */
1612
+ Camera.PictureSourceType = { // Ignored on Blackberry
1613
+ PHOTOLIBRARY : 0, // Choose image from picture library
1614
+ CAMERA : 1, // Take picture from camera
1615
+ SAVEDPHOTOALBUM : 2 // Choose image from picture library
1616
+ };
1617
+ Camera.prototype.PictureSourceType = Camera.PictureSourceType;
1618
+
1619
+ /**
1620
+ * Gets a picture from source defined by "options.sourceType", and returns the
1621
+ * image as defined by the "options.destinationType" option.
1622
+
1623
+ * The defaults are sourceType=CAMERA and destinationType=DATA_URL.
1624
+ *
1625
+ * @param {Function} successCallback
1626
+ * @param {Function} errorCallback
1627
+ * @param {Object} options
1628
+ */
1629
+ Camera.prototype.getPicture = function(successCallback, errorCallback, options) {
1630
+
1631
+ // successCallback required
1632
+ if (typeof successCallback != "function") {
1633
+ console.log("Camera Error: successCallback is not a function");
1634
+ return;
1635
+ }
1636
+
1637
+ // errorCallback optional
1638
+ if (errorCallback && (typeof errorCallback != "function")) {
1639
+ console.log("Camera Error: errorCallback is not a function");
1640
+ return;
1641
+ }
1642
+
1643
+ this.options = options;
1644
+ var quality = 80;
1645
+ if (options.quality) {
1646
+ quality = this.options.quality;
1647
+ }
1648
+ var destinationType = Camera.DestinationType.DATA_URL;
1649
+ if (this.options.destinationType) {
1650
+ destinationType = this.options.destinationType;
1651
+ }
1652
+ var sourceType = Camera.PictureSourceType.CAMERA;
1653
+ if (typeof this.options.sourceType == "number") {
1654
+ sourceType = this.options.sourceType;
1655
+ }
1656
+ Cordova.exec(successCallback, errorCallback, "org.apache.cordova.Camera", "getPicture", [quality, destinationType, sourceType]);
1657
+ };
1658
+
1659
+ Cordova.addConstructor(function() {
1660
+ if (typeof navigator.camera == "undefined") navigator.camera = new Camera();
1661
+ });