rhodes 2.1.0 → 2.2.0.beta.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 (241) hide show
  1. data/CHANGELOG +7 -0
  2. data/README.textile +4 -5
  3. data/Rakefile +8 -1
  4. data/lib/build/jake.rb +22 -16
  5. data/lib/extensions/rhoxml/rexml/cdata.rb +67 -0
  6. data/lib/extensions/rhoxml/rexml/document.rb +2 -116
  7. data/lib/extensions/rhoxml/rexml/element.rb +1 -1
  8. data/lib/extensions/rhoxml/rexml/text.rb +117 -0
  9. data/lib/framework/rho/render.rb +19 -11
  10. data/lib/framework/rho/rho.rb +17 -10
  11. data/lib/framework/rho/rhobluetooth.rb +103 -0
  12. data/lib/framework/rho/rhocontroller.rb +2 -0
  13. data/lib/framework/rho/rhoevent.rb +43 -0
  14. data/lib/framework/rho/rhoevent_bb.rb +80 -0
  15. data/lib/framework/rho/rhoevent_c.rb +47 -0
  16. data/lib/framework/rhodes.rb +2 -2
  17. data/lib/framework/rhom/rhom_db_adapter.rb +2 -1
  18. data/lib/framework/rhom/rhom_model.rb +9 -3
  19. data/lib/framework/rhom/rhom_object_factory.rb +46 -22
  20. data/lib/framework/rhom/rhom_source.rb +12 -10
  21. data/lib/framework/version.rb +2 -2
  22. data/lib/rhodes.rb +2 -2
  23. data/platform/android/Rhodes/AndroidManifest.xml +23 -2
  24. data/platform/android/Rhodes/gen/com/rhomobile/rhodes/R.java +54 -38
  25. data/platform/android/Rhodes/jni/include/rhodes.h +3 -0
  26. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +2 -2
  27. data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +4 -0
  28. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +16 -0
  29. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_bluetooth_RhoBluetoothManager.h +21 -0
  30. data/platform/android/Rhodes/jni/src/bluetooth.cpp +169 -0
  31. data/platform/android/Rhodes/jni/src/callbacks.cpp +10 -0
  32. data/platform/android/Rhodes/jni/src/event.cpp +429 -0
  33. data/platform/android/Rhodes/jni/src/fileapi.cpp +51 -1
  34. data/platform/android/Rhodes/jni/src/rhodes.cpp +16 -0
  35. data/platform/android/Rhodes/jni/src/sslimpl.cpp +3 -0
  36. data/platform/android/Rhodes/res/layout/bt_device_list.xml +42 -0
  37. data/platform/android/Rhodes/res/layout/bt_device_name.xml +7 -0
  38. data/platform/android/Rhodes/res/values/strings.xml +8 -0
  39. data/platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java +14 -0
  40. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +2 -0
  41. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Push.java +7 -0
  42. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +58 -0
  43. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java +53 -0
  44. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +8 -0
  45. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +144 -3
  46. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/IRhoBluetoothManager.java +66 -0
  47. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java +201 -0
  48. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java +139 -0
  49. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerNew.java +401 -0
  50. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerOld.java +136 -0
  51. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothSession.java +457 -0
  52. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/UUIDHelper.java +71 -0
  53. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +12 -7
  54. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +19 -0
  55. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +261 -0
  56. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +4 -2
  57. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +2 -2
  58. data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/MailUriHandler.java +10 -2
  59. data/platform/android/build/RhodesSRC_build.files +33 -22
  60. data/platform/android/build/android.rake +198 -27
  61. data/platform/android/build/librhodes_build.files +3 -1
  62. data/platform/android/build/libruby_build.files +4 -1
  63. data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBResult.java +2 -2
  64. data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBRowResult.java +1 -1
  65. data/platform/bb/Hsqldb/src/org/hsqldb/Expression.java +7 -4
  66. data/platform/bb/Hsqldb/src/org/hsqldb/Like.java +3 -3
  67. data/platform/bb/Hsqldb/src/org/hsqldb/Table.java +3 -1
  68. data/platform/bb/Hsqldb/src/org/hsqldb/Tokenizer.java +1 -1
  69. data/platform/bb/RubyVM/RubyVM.jdp +1 -0
  70. data/platform/bb/RubyVM/src/com/rho/RhoConf.java +108 -1
  71. data/platform/bb/RubyVM/src/com/rho/RhoLogConf.java +7 -1
  72. data/platform/bb/RubyVM/src/com/rho/RhoRuby.java +7 -4
  73. data/platform/bb/RubyVM/src/com/rho/ThreadQueue.java +7 -1
  74. data/platform/bb/RubyVM/src/com/rho/net/AsyncHttp.java +1 -1
  75. data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +21 -23
  76. data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +19 -10
  77. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +8 -0
  78. data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +3 -0
  79. data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +14 -17
  80. data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyFile.java +7 -5
  81. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RhoSupport.java +2 -0
  82. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyRuntime.java +10 -1
  83. data/platform/bb/RubyVM/src/j2me/io/File.java +7 -6
  84. data/platform/bb/build/RubyVM_build.files +412 -412
  85. data/platform/bb/build/bb.rake +42 -18
  86. data/platform/bb/build/hsqldb_build.files +151 -151
  87. data/platform/bb/build/rhodes_build.files +44 -40
  88. data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +2 -0
  89. data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +237 -0
  90. data/platform/bb/rhodes/platform/common/com/rho/RhodesApplicationPlatform.java +14 -0
  91. data/platform/bb/rhodes/rhodes.jdp +6 -1
  92. data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +7 -1
  93. data/platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java +14 -0
  94. data/platform/bb/rhodes/src/com/rho/net/NetworkAccess.java +62 -76
  95. data/platform/bb/rhodes/src/com/rho/rubyext/RhoCalendar.java +660 -0
  96. data/platform/bb/rhodes/src/{rhomobile → com/rho/rubyext}/RhoPhonebook.java +95 -38
  97. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +22 -1
  98. data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +26 -6
  99. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -7
  100. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothManager.java +528 -0
  101. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothPort.java +281 -0
  102. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothScreen.java +119 -0
  103. data/platform/bb/rhodes/src/rhomobile/camera/CameraFilesListener.java +2 -2
  104. data/platform/iphone/Classes/AppManager/AppManager.m +70 -7
  105. data/platform/iphone/Classes/Bluetooth/Bluetooth.h +72 -0
  106. data/platform/iphone/Classes/Bluetooth/Bluetooth.m +414 -0
  107. data/platform/iphone/Classes/Event/Event.h +12 -0
  108. data/platform/iphone/Classes/Event/Event.m +300 -0
  109. data/platform/iphone/Classes/LogOptionsController.h +2 -1
  110. data/platform/iphone/Classes/LogOptionsController.m +1 -1
  111. data/platform/iphone/Classes/LogViewController.h +2 -1
  112. data/platform/iphone/Classes/MapView/MapViewController.h +2 -1
  113. data/platform/iphone/Classes/RhoViewController.h +16 -0
  114. data/platform/iphone/Classes/RhoViewController.m +20 -0
  115. data/platform/iphone/Classes/Rhodes.h +12 -0
  116. data/platform/iphone/Classes/Rhodes.m +34 -6
  117. data/platform/iphone/Classes/Signature/SignatureViewController.h +2 -2
  118. data/platform/iphone/Classes/Signature/SignatureViewController.m +0 -10
  119. data/platform/iphone/Classes/SimpleMainView.h +2 -2
  120. data/platform/iphone/Classes/SimpleMainView.m +5 -14
  121. data/platform/iphone/Classes/SplashViewController.h +2 -2
  122. data/platform/iphone/Classes/TabbedMainView.h +2 -2
  123. data/platform/iphone/Classes/TabbedMainView.m +5 -10
  124. data/platform/iphone/Info.plist +5 -5
  125. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +39 -0
  126. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +47 -4
  127. data/platform/osx/Rhodes Debugger/NoodleLineNumberView.m +3 -2
  128. data/platform/shared/common/AutoPointer.h +3 -0
  129. data/platform/shared/common/RhoConf.cpp +2 -1
  130. data/platform/shared/common/RhoThread.h +1 -1
  131. data/platform/shared/common/RhoTime.h +3 -3
  132. data/platform/shared/common/RhodesApp.cpp +75 -23
  133. data/platform/shared/common/RhodesApp.h +4 -0
  134. data/platform/shared/common/RhodesAppBase.h +2 -0
  135. data/platform/shared/common/ThreadQueue.cpp +23 -18
  136. data/platform/shared/common/ThreadQueue.h +2 -0
  137. data/platform/shared/db/res/db/syncdb.schema +39 -39
  138. data/platform/shared/logging/RhoLogConf.cpp +58 -3
  139. data/platform/shared/logging/RhoLogConf.h +3 -1
  140. data/platform/shared/net/CURLNetRequest.cpp +17 -6
  141. data/platform/shared/net/HttpServer.cpp +125 -25
  142. data/platform/shared/net/HttpServer.h +4 -3
  143. data/platform/shared/ruby/ext/bluetooth/bluetooth.i +56 -0
  144. data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +2563 -0
  145. data/platform/shared/ruby/ext/calendar/calendar.i +28 -0
  146. data/platform/shared/ruby/ext/calendar/calendar_wrap.c +2251 -0
  147. data/platform/shared/ruby/ext/calendar/event.h +41 -0
  148. data/platform/shared/ruby/ext/calendar/event.i +28 -0
  149. data/platform/shared/ruby/ext/calendar/event_wrap.c +2151 -0
  150. data/platform/shared/ruby/ext/rho/rhoruby.c +103 -3
  151. data/platform/shared/ruby/ext/rho/rhoruby.h +16 -2
  152. data/platform/shared/ruby/ext/rhoconf/rhoconf.i +12 -0
  153. data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +101 -0
  154. data/platform/shared/ruby/ext/system/system.i +14 -0
  155. data/platform/shared/ruby/ext/system/system_wrap.c +2568 -2208
  156. data/platform/shared/ruby/main.c +8 -0
  157. data/platform/shared/rubyext/GeoLocation.cpp +6 -3
  158. data/platform/shared/rubyext/System.cpp +14 -0
  159. data/platform/shared/sync/SyncEngine.cpp +9 -1
  160. data/platform/shared/sync/SyncNotify.cpp +16 -8
  161. data/platform/shared/sync/SyncNotify.h +1 -0
  162. data/platform/shared/sync/SyncThread.cpp +7 -12
  163. data/platform/shared/sync/SyncThread.h +5 -3
  164. data/platform/wm/build/wm.rake +7 -1
  165. data/platform/wm/rhodes/Alert.cpp +1 -1
  166. data/platform/wm/rhodes/MainWindow.cpp +28 -0
  167. data/platform/wm/rhodes/MainWindow.h +9 -0
  168. data/platform/wm/rhodes/OutlookApp.cpp +72 -0
  169. data/platform/wm/rhodes/OutlookApp.h +22 -0
  170. data/platform/wm/rhodes/Rhodes.cpp +8 -0
  171. data/platform/wm/rhodes/Rhodes.rc +31 -0
  172. data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +1274 -0
  173. data/platform/wm/rhodes/bluetooth/Bluetooth.h +321 -0
  174. data/platform/wm/rhodes/phonebook/NativeAddressBook.cpp +37 -70
  175. data/platform/wm/rhodes/phonebook/NativeAddressBook.h +0 -4
  176. data/platform/wm/rhodes/resource.h +8 -1
  177. data/platform/wm/rhodes/rho/net/NetRequest.cpp +4 -0
  178. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -4
  179. data/platform/wm/rhodes/rho/rubyext/calendar.cpp +487 -0
  180. data/platform/wm/rhodes/rhodes.vcproj +28 -11
  181. data/platform/wm/rhodes/stdafx.h +1 -0
  182. data/platform/wm/rubylib/rubylib.vcproj +32 -0
  183. data/rakefile.rb +8 -1
  184. data/res/generators/templates/application/Rakefile +1 -1
  185. data/res/generators/templates/application/app/layout.erb +4 -1
  186. data/res/generators/templates/application/build.yml +0 -1
  187. data/res/generators/templates/application/public/css/iphone.css +2 -2
  188. data/res/generators/templates/application/public/jqtouch/jqtouch-iphone.css +9 -0
  189. data/res/generators/templates/application/public/jqtouch/jqtouch.css +1 -5
  190. data/res/generators/templates/application/public/jqtouch/jqtouch.js +3 -2
  191. data/rhodes.gemspec +1 -1
  192. data/spec/perfomance_spec/app/Benchmark/benchmark.rb +4 -0
  193. data/spec/perfomance_spec/app/Benchmark/bulk_results.erb +13 -0
  194. data/spec/perfomance_spec/app/Benchmark/controller.rb +178 -0
  195. data/spec/perfomance_spec/app/Benchmark/create_results.erb +13 -0
  196. data/spec/perfomance_spec/app/Benchmark/customers.erb +35 -0
  197. data/spec/perfomance_spec/app/Benchmark/index.erb +9 -0
  198. data/spec/perfomance_spec/app/Benchmark/products.erb +25 -0
  199. data/spec/perfomance_spec/app/Benchmark/search_results.erb +13 -0
  200. data/spec/perfomance_spec/app/Customer/customer.rb +6 -0
  201. data/spec/perfomance_spec/app/Perftest/index.erb +5 -0
  202. data/spec/perfomance_spec/app/Product/index.erb +25 -0
  203. data/spec/perfomance_spec/app/Product/product.rb +6 -0
  204. data/spec/perfomance_spec/app/helpers/application_helper.rb +126 -0
  205. data/spec/perfomance_spec/app/helpers/browser_helper.rb +18 -0
  206. data/spec/perfomance_spec/rhoconfig.txt +1 -1
  207. data/spec/phone_spec/app/Account_s/account_s.rb +5 -2
  208. data/spec/phone_spec/app/Case/case.rb +1 -0
  209. data/spec/phone_spec/app/Case_s/case_s.rb +2 -0
  210. data/spec/phone_spec/app/Data/perftest.json +35 -0
  211. data/spec/phone_spec/app/Data/testCDATA.xml +11 -0
  212. data/spec/phone_spec/app/Product/product.rb +1 -1
  213. data/spec/phone_spec/app/{Spec → spec}/asynchttp_spec.rb +66 -17
  214. data/spec/phone_spec/app/{Spec → spec}/barcode_spec.rb +0 -0
  215. data/spec/phone_spec/app/{Spec → spec}/blobsync_spec.rb +0 -0
  216. data/spec/phone_spec/app/{Spec → spec}/bsearch_spec.rb +0 -0
  217. data/spec/phone_spec/app/{Spec → spec}/bulksync_spec.rb +0 -0
  218. data/spec/phone_spec/app/{Spec → spec}/contacts_spec.rb +0 -0
  219. data/spec/phone_spec/app/{Spec → spec}/crypt_spec.rb +0 -0
  220. data/spec/phone_spec/app/{Spec → spec}/date_spec.rb +0 -0
  221. data/spec/phone_spec/app/spec/events_spec.rb +199 -0
  222. data/spec/phone_spec/app/{Spec → spec}/fixtures/client_info.txt +0 -0
  223. data/spec/phone_spec/app/{Spec → spec}/fixtures/object_values.txt +0 -0
  224. data/spec/phone_spec/app/{Spec → spec}/json_spec.rb +11 -2
  225. data/spec/phone_spec/app/{Spec → spec}/mapview_spec.rb +0 -0
  226. data/spec/phone_spec/app/{Spec → spec}/nativebar_spec.rb +0 -0
  227. data/spec/phone_spec/app/{Spec → spec}/navbar_spec.rb +0 -0
  228. data/spec/phone_spec/app/{Spec → spec}/pagination/fixtures/object_values.txt +0 -0
  229. data/spec/phone_spec/app/{Spec → spec}/rho_controller_spec.rb +5 -0
  230. data/spec/phone_spec/app/{Spec → spec}/rho_spec.rb +48 -0
  231. data/spec/phone_spec/app/{Spec → spec}/rhofile_spec.rb +9 -6
  232. data/spec/phone_spec/app/{Spec → spec}/rhom_object_spec.rb +188 -9
  233. data/spec/phone_spec/app/{Spec → spec}/syncengine_spec.rb +0 -0
  234. data/spec/phone_spec/app/{Spec → spec}/xml_spec.rb +15 -0
  235. data/spec/phone_spec/app/{Spec → spec}/xruby_spec.rb +0 -0
  236. data/spec/phone_spec/app/spec_runner.rb +4 -1
  237. data/spec/phone_spec/build.yml +2 -1
  238. metadata +95 -31
  239. data/platform/bb/rhodes/platform/5.0/com/rho/RhoMainScreen.java +0 -36
  240. data/platform/bb/rhodes/platform/6.0/com/rho/BrowserAdapter5.java +0 -155
  241. data/platform/bb/rhodes/platform/6.0/com/rho/RhoMainScreen.java +0 -36
@@ -86,7 +86,7 @@
86
86
  IgnoreImportLibrary="true"
87
87
  UseUnicodeResponseFiles="false"
88
88
  AdditionalOptions=" /subsystem:windowsce,5.01 /machine:THUMB"
89
- AdditionalDependencies="aygshell.lib Ws2.lib Ceshell.lib wininet.lib Cellcore.lib Gpsapi.lib comsuppwd.lib pimstore.lib"
89
+ AdditionalDependencies="aygshell.lib Ws2.lib Ceshell.lib wininet.lib Cellcore.lib Gpsapi.lib comsuppwd.lib pimstore.lib bthutil.lib"
90
90
  OutputFile="$(OutDir)/rhodes.exe"
91
91
  LinkIncremental="2"
92
92
  AdditionalLibraryDirectories="$(OutDir)"
@@ -186,9 +186,9 @@
186
186
  AdditionalDependencies="wininet.lib comsuppwd.lib ws2_32.lib"
187
187
  OutputFile="$(OutDir)/rhodes.exe"
188
188
  LinkIncremental="2"
189
+ AdditionalLibraryDirectories="$(OutDir)"
189
190
  GenerateDebugInformation="true"
190
191
  SubSystem="0"
191
- AdditionalLibraryDirectories="$(OutDir)"
192
192
  StackReserveSize="196608"
193
193
  StackCommitSize="4096"
194
194
  ImportLibrary="$(OutDir)/Rhodes.lib"
@@ -469,7 +469,7 @@
469
469
  IgnoreImportLibrary="true"
470
470
  UseUnicodeResponseFiles="false"
471
471
  AdditionalOptions=" /subsystem:windowsce,5.01 /machine:THUMB"
472
- AdditionalDependencies="Ws2.lib Ceshell.lib wininet.lib Cellcore.lib Gpsapi.lib comsuppw.lib pimstore.lib"
472
+ AdditionalDependencies="Ws2.lib Ceshell.lib wininet.lib Cellcore.lib Gpsapi.lib comsuppw.lib pimstore.lib bthutil.lib"
473
473
  OutputFile="$(OutDir)/rhodes.exe"
474
474
  LinkIncremental="1"
475
475
  AdditionalLibraryDirectories="$(OutDir)"
@@ -567,8 +567,8 @@
567
567
  AdditionalDependencies="wininet.lib comsuppwd.lib ws2_32.lib"
568
568
  OutputFile="$(OutDir)/rhodes.exe"
569
569
  LinkIncremental="1"
570
- GenerateDebugInformation="false"
571
570
  AdditionalLibraryDirectories="$(OutDir)"
571
+ GenerateDebugInformation="false"
572
572
  SubSystem="0"
573
573
  StackReserveSize="196608"
574
574
  StackCommitSize="4096"
@@ -830,6 +830,10 @@
830
830
  RelativePath=".\menubar.cpp"
831
831
  >
832
832
  </File>
833
+ <File
834
+ RelativePath=".\OutlookApp.cpp"
835
+ >
836
+ </File>
833
837
  <File
834
838
  RelativePath=".\Rhodes.cpp"
835
839
  >
@@ -956,6 +960,10 @@
956
960
  RelativePath=".\OkCancelModalDialog.h"
957
961
  >
958
962
  </File>
963
+ <File
964
+ RelativePath=".\OutlookApp.h"
965
+ >
966
+ </File>
959
967
  <File
960
968
  RelativePath=".\resource.h"
961
969
  >
@@ -1042,6 +1050,10 @@
1042
1050
  <Filter
1043
1051
  Name="rubyext"
1044
1052
  >
1053
+ <File
1054
+ RelativePath=".\rho\rubyext\calendar.cpp"
1055
+ >
1056
+ </File>
1045
1057
  <File
1046
1058
  RelativePath=".\rho\rubyext\GeoLocationImpl.cpp"
1047
1059
  >
@@ -1141,13 +1153,18 @@
1141
1153
  <File
1142
1154
  RelativePath=".\signature\Signature.h"
1143
1155
  >
1144
- <FileConfiguration
1145
- Name="Debug|Win32"
1146
- >
1147
- <Tool
1148
- Name="VCCustomBuildTool"
1149
- />
1150
- </FileConfiguration>
1156
+ </File>
1157
+ </Filter>
1158
+ <Filter
1159
+ Name="bluetooth"
1160
+ >
1161
+ <File
1162
+ RelativePath=".\bluetooth\Bluetooth.cpp"
1163
+ >
1164
+ </File>
1165
+ <File
1166
+ RelativePath=".\bluetooth\Bluetooth.h"
1167
+ >
1151
1168
  </File>
1152
1169
  </Filter>
1153
1170
  </Files>
@@ -157,6 +157,7 @@ using namespace ATL;
157
157
 
158
158
  #include "tcmalloc/rhomem.h"
159
159
  #include "logging/RhoLog.h"
160
+ //#include <afxwin.h>
160
161
 
161
162
  #if defined(OS_WINDOWS)
162
163
  #include <atlapp.h>
@@ -1576,6 +1576,14 @@
1576
1576
  >
1577
1577
  </File>
1578
1578
  </Filter>
1579
+ <Filter
1580
+ Name="bluetooth"
1581
+ >
1582
+ <File
1583
+ RelativePath="..\..\shared\ruby\ext\bluetooth\bluetooth_wrap.c"
1584
+ >
1585
+ </File>
1586
+ </Filter>
1579
1587
  <Filter
1580
1588
  Name="stringio"
1581
1589
  >
@@ -1660,6 +1668,30 @@
1660
1668
  >
1661
1669
  </File>
1662
1670
  </Filter>
1671
+ <Filter
1672
+ Name="calendar"
1673
+ >
1674
+ <File
1675
+ RelativePath="..\..\shared\ruby\ext\calendar\calendar.i"
1676
+ >
1677
+ </File>
1678
+ <File
1679
+ RelativePath="..\..\shared\ruby\ext\calendar\calendar_wrap.c"
1680
+ >
1681
+ </File>
1682
+ <File
1683
+ RelativePath="..\..\shared\ruby\ext\calendar\event.h"
1684
+ >
1685
+ </File>
1686
+ <File
1687
+ RelativePath="..\..\shared\ruby\ext\calendar\event.i"
1688
+ >
1689
+ </File>
1690
+ <File
1691
+ RelativePath="..\..\shared\ruby\ext\calendar\event_wrap.c"
1692
+ >
1693
+ </File>
1694
+ </Filter>
1663
1695
  </Filter>
1664
1696
  <Filter
1665
1697
  Name="generated"
@@ -63,9 +63,16 @@ namespace "config" do
63
63
 
64
64
  if RUBY_PLATFORM =~ /(win|w)32$/
65
65
  $all_files_mask = "*.*"
66
+ $rubypath = "res/build-tools/RhoRuby.exe"
66
67
  else
67
68
  $all_files_mask = "*"
69
+ if RUBY_PLATFORM =~ /darwin/
70
+ $rubypath = "res/build-tools/RubyMac"
71
+ else
72
+ $rubypath = "res/build-tools/rubylinux"
73
+ end
68
74
  end
75
+
69
76
  if $app_path.nil? #if we are called from the rakefile directly, this wont be set
70
77
  #load the apps path and config
71
78
 
@@ -768,7 +775,7 @@ namespace "build" do
768
775
  # desc "Build rhosync-client package"
769
776
  task :rhosync_client do
770
777
 
771
- ver = File.read("rhosync-client/version") #.gsub(".", "_")
778
+ ver = File.read("rhosync-client/version").chomp #.gsub(".", "_")
772
779
  zip_name = "rhosync-client-"+ver+".zip"
773
780
 
774
781
  bin_dir = "rhosync-client-bin"
@@ -16,7 +16,7 @@ else
16
16
  end
17
17
 
18
18
  unless File.exists? rakefilepath
19
- puts "\nCannot find your Rhodes gem or source path."
19
+ puts "\nCannot find your Rhodes gem or source path: #{rakefilepath}"
20
20
  puts "\nIf you have the sdk on your path or have installed the gem this"
21
21
  puts "can be resolved by running 'set-rhodes-sdk'"
22
22
  puts "\nYou can also set this manually by modifying your build.yml or"
@@ -11,6 +11,9 @@
11
11
  <script src="/public/jqtouch/jquery.1.3.2.min.js" type="text/javascript"></script>
12
12
  <script src="/public/jqtouch/jqtouch.js" type="text/javascript"></script>
13
13
  <link href="/public/jqtouch/jqtouch.css" type="text/css" rel="stylesheet"/>
14
+ <%% if System::get_property('platform') == 'APPLE' %>
15
+ <link href="/public/jqtouch/jqtouch-iphone.css" type="text/css" rel="stylesheet"/>
16
+ <%% end %>
14
17
  <script>$.jQTouch();</script>
15
18
  <%% end %>
16
19
 
@@ -39,4 +42,4 @@
39
42
  <%%= @content %>
40
43
  </body>
41
44
 
42
- </html>
45
+ </html>
@@ -10,7 +10,6 @@ applog: rholog.txt
10
10
  iphone:
11
11
  configuration: Debug
12
12
  sdk: iphonesimulator4.0
13
- emulator: 4.0.1
14
13
  provisionprofile:
15
14
  codesignidentity:
16
15
  entitlements:
@@ -203,7 +203,7 @@ h1 {
203
203
  padding: 15px 0 15px 0;
204
204
  }
205
205
 
206
- .content ul li a:hover {
206
+ .content ul li a:active {
207
207
  background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(5, 140, 245)), to(rgb(1, 95, 230)));
208
208
  }
209
209
 
@@ -407,4 +407,4 @@ h1 {
407
407
  margin: 0;
408
408
  margin: 0 8px;
409
409
  color: #565E70;
410
- }
410
+ }
@@ -0,0 +1,9 @@
1
+ body {
2
+ -webkit-perspective: 800;
3
+ -webkit-transform-style: preserve-3d;
4
+ }
5
+
6
+ body > * {
7
+ -webkit-backface-visibility: hidden;
8
+ -webkit-transform: translate3d(0,0,0) rotate(0) scale(1);
9
+ }
@@ -11,20 +11,16 @@ body {
11
11
  -webkit-user-select: none;
12
12
  -webkit-text-size-adjust: none;
13
13
  font-family: Helvetica;
14
- -webkit-perspective: 800;
15
- -webkit-transform-style: preserve-3d;
16
14
  }
17
15
  .selectable, input, textarea {
18
16
  -webkit-user-select: auto;
19
17
  }
20
18
  body > * {
21
- -webkit-backface-visibility: hidden;
22
19
  -webkit-box-sizing: border-box;
23
20
  display: none;
24
21
  position: absolute;
25
22
  left: 0;
26
23
  width: 100%;
27
- -webkit-transform: translate3d(0,0,0) rotate(0) scale(1);
28
24
  min-height: 420px !important;
29
25
  }
30
26
  body.fullscreen > * {
@@ -375,4 +371,4 @@ body > .current {
375
371
  .waiting {
376
372
  display: block !important;
377
373
  background: rgba(0,0,0,0.5);
378
- }
374
+ }
@@ -375,7 +375,8 @@
375
375
  {
376
376
  if (animation.name == "slide") {
377
377
  var css = {webkitTransitionDuration: null,
378
- webkitTransitionTimingFunction: null};
378
+ webkitTransitionTimingFunction: null,
379
+ webkitTransform: null};
379
380
  toPage.css(css);
380
381
  fromPage.css(css);
381
382
  }
@@ -738,4 +739,4 @@
738
739
  $.jQTouch.prototype.extensions.push(extension);
739
740
  }
740
741
 
741
- })(jQuery);
742
+ })(jQuery);
@@ -3,7 +3,7 @@ require "lib/rhodes.rb"
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = %q{rhodes}
6
- s.version = '2.1.0'
6
+ s.version = '2.2.0.beta.1'
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.authors = ["Rhomobile"]
@@ -0,0 +1,4 @@
1
+ class Benchmark
2
+ include Rhom::PropertyBag
3
+
4
+ end
@@ -0,0 +1,13 @@
1
+ <div class="toolbar">
2
+ <h1 id="pageTitle">
3
+ Benchmark
4
+ </h1>
5
+ </div>
6
+
7
+ <%@color = "#00ff00"%>
8
+
9
+ <ul id="perftest" title="PerfomanceTests" selected="true">
10
+ <li style="color:"
11
+ <%=@color%>">Controller Time (ms): <%=@time%>
12
+ </li>
13
+ </ul>
@@ -0,0 +1,178 @@
1
+ require 'rho/rhocontroller'
2
+ require 'helpers/browser_helper'
3
+
4
+ class BenchmarkController < Rho::RhoController
5
+ include BrowserHelper
6
+
7
+ #GET /Benchmark
8
+ def index
9
+ render
10
+ end
11
+
12
+ def create_test_data
13
+ db = Rho::RHO.get_src_db('Product')
14
+ db.start_transaction
15
+
16
+ (0..100).each do |i|
17
+ attrs = {'brand'=>"HTC#{i}", 'name'=>"Name#{i}"}
18
+
19
+ (0..100).each do |j|
20
+ attrs['price'] = j.to_s
21
+ Product.create( attrs )
22
+ end
23
+ end
24
+
25
+ db.commit
26
+ end
27
+
28
+ def search_test
29
+ SyncEngine.set_threaded_mode(false)
30
+ ::Rhom::Rhom.database_fullclient_reset_and_logout
31
+ SyncEngine.set_syncserver('http://localhost:9292/application')
32
+ SyncEngine.login('', '', "")
33
+ Rho::RhoConfig.bulksync_state='1'
34
+ $bench_results = "" unless $bench_results
35
+
36
+ time = Time.now.to_f
37
+ #create_test_data
38
+ Customer.sync
39
+
40
+ $bench_results << " Sync data(10,000) (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
41
+
42
+ time = Time.now.to_f
43
+
44
+ @customers = Customer.find(:all, :conditions => {'JobTitle' => 'PerfManager'})
45
+
46
+ $bench_results << " Search (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
47
+
48
+ time = Time.now.to_f
49
+
50
+ render :action => :customers
51
+
52
+ $bench_results << " Render (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
53
+
54
+ puts "BENCH results: \n#{$bench_results }"
55
+ render :action => :index
56
+
57
+ end
58
+
59
+ def create_test
60
+ SyncEngine.set_threaded_mode(false)
61
+ ::Rhom::Rhom.database_fullclient_reset_and_logout
62
+ SyncEngine.set_syncserver('http://rhodes-store-server.heroku.com/application')
63
+ SyncEngine.login('', '', "")
64
+ Rho::RhoConfig.bulksync_state='1'
65
+ SyncEngine.dosync
66
+
67
+ $bench_results = "" unless $bench_results
68
+ time = Time.now.to_f
69
+
70
+ Product.create( {'brand'=>"HTC", 'name'=>"NameTest", "price"=>'1'} )
71
+ $bench_results << " Create 1 item (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
72
+
73
+ time = Time.now.to_f
74
+ Product.sync
75
+ $bench_results << " Sync 1 item (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
76
+
77
+ time = Time.now.to_f
78
+ @products = Product.find(:all, :conditions => {'name' => 'NameTest'})
79
+
80
+ $bench_results << " Search (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
81
+
82
+ time = Time.now.to_f
83
+
84
+ render :action => :products
85
+
86
+ $bench_results << " Render (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
87
+
88
+ puts "BENCH results: \n#{$bench_results }"
89
+ render :action => :index
90
+
91
+ end
92
+
93
+ def bulk_test
94
+ $bench_results = "" unless $bench_results
95
+ time = Time.now.to_f
96
+
97
+ SyncEngine.set_threaded_mode(false)
98
+ ::Rhom::Rhom.database_fullclient_reset_and_logout
99
+ #SyncEngine.set_syncserver('http://store-bulk.rhohub.com/application')
100
+ #SyncEngine.login('lars', 'larspass', "/app/Settings/login_callback")
101
+ SyncEngine.set_syncserver('http://192.168.0.62:9292/application')
102
+ SyncEngine.login('', '', "")
103
+
104
+ Rho::RhoConfig.bulksync_state='0'
105
+ $bench_results << " Reset and login(ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
106
+
107
+ time = Time.now.to_f
108
+
109
+ SyncEngine.dosync
110
+
111
+ $bench_results << " Bulk sync(ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
112
+
113
+ time = Time.now.to_f
114
+
115
+ @customers = Customer.find(:all, :conditions => {'JobTitle' => 'PerfManager'})
116
+
117
+ $bench_results << " Search (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
118
+
119
+ time = Time.now.to_f
120
+
121
+ render :action => :customers
122
+
123
+ $bench_results << " Render (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
124
+
125
+ puts "BENCH results: \n#{$bench_results }"
126
+ render :action => :index
127
+
128
+ end
129
+
130
+ def asynchttp_test
131
+ $bench_results = "" unless $bench_results
132
+
133
+ ::Rhom::Rhom.database_fullclient_reset_and_logout
134
+
135
+ time = Time.now.to_f
136
+
137
+ res = Rho::AsyncHttp.get( :url => 'http://rhodes-perftest-json.heroku.com/test' )
138
+ $bench_results << " Download (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
139
+
140
+ time = Time.now.to_f
141
+
142
+ #parsed = res['body']
143
+ parsed = Rho::JSON.parse(res['body'])
144
+
145
+ $bench_results << " Parse JSON(ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
146
+
147
+ time = Time.now.to_f
148
+
149
+ db = Rho::RHO.get_src_db('Benchmark')
150
+ db.start_transaction
151
+
152
+ parsed.each do |id, values|
153
+ #values = srcHash['customer']
154
+ values['object'] = id
155
+ Benchmark.create(values)
156
+ end
157
+ db.commit
158
+
159
+ $bench_results << " Insert to DB (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
160
+
161
+ time = Time.now.to_f
162
+
163
+ @customers = Benchmark.find(:all, :conditions => {'JobTitle' => 'PerfManager'})
164
+
165
+ $bench_results << " Search (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
166
+
167
+ time = Time.now.to_f
168
+
169
+ render :action => :customers
170
+
171
+ $bench_results << " Render (ms): #{((Time.now.to_f - time) * 10**3 ).to_i}\n"
172
+
173
+ puts "BENCH results: \n#{$bench_results }"
174
+ render :action => :index
175
+
176
+ end
177
+
178
+ end