rhodes 2.1.0 → 2.2.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
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