rhoconnect-client 5.5.0

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 (270) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +9 -0
  3. data/CREDITS +0 -0
  4. data/LICENSE +9 -0
  5. data/README.md +47 -0
  6. data/ext/rhoconnect-client/RhoConnectClient.rb +190 -0
  7. data/ext/rhoconnect-client/ext/RhoConnectClient.xml +726 -0
  8. data/ext/rhoconnect-client/ext/build +26 -0
  9. data/ext/rhoconnect-client/ext/build.bat +30 -0
  10. data/ext/rhoconnect-client/ext/platform/android/ext_java.files +1 -0
  11. data/ext/rhoconnect-client/ext/platform/android/ext_native.files +14 -0
  12. data/ext/rhoconnect-client/ext/platform/android/src/com/rhoconnectclient/RhoconnectClient.java +1 -0
  13. data/ext/rhoconnect-client/ext/platform/iphone/.gitignore +1 -0
  14. data/ext/rhoconnect-client/ext/platform/iphone/Rakefile +74 -0
  15. data/ext/rhoconnect-client/ext/platform/iphone/RhoconnectClient.xcodeproj/project.pbxproj +390 -0
  16. data/ext/rhoconnect-client/ext/platform/iphone/RhoconnectClient_Prefix.pch +7 -0
  17. data/ext/rhoconnect-client/ext/platform/iphone/impl/readme.txt +7 -0
  18. data/ext/rhoconnect-client/ext/platform/qt/Rakefile +35 -0
  19. data/ext/rhoconnect-client/ext/platform/qt/rhoconnect-client.pro +88 -0
  20. data/ext/rhoconnect-client/ext/platform/wm/Rhoconnect-client.sln +36 -0
  21. data/ext/rhoconnect-client/ext/platform/wm/Rhoconnect-client.vcproj +774 -0
  22. data/ext/rhoconnect-client/ext/platform/wm/Rhoconnect-client.vsprops +15 -0
  23. data/ext/rhoconnect-client/ext/platform/wm/src/rhoconnectclient_wm.cpp +40 -0
  24. data/ext/rhoconnect-client/ext/platform/wm/src/rhoconnectclient_wm.h +2 -0
  25. data/ext/rhoconnect-client/ext/platform/wp8/Rhoconnect-client.props +22 -0
  26. data/ext/rhoconnect-client/ext/platform/wp8/Rhoconnect-client.sln +32 -0
  27. data/ext/rhoconnect-client/ext/platform/wp8/Rhoconnect-client.vcxproj +220 -0
  28. data/ext/rhoconnect-client/ext/platform/wp8/Rhoconnect-client.vcxproj.filters +103 -0
  29. data/ext/rhoconnect-client/ext/shared/RhoConnectClientImpl.cpp +273 -0
  30. data/ext/rhoconnect-client/ext/shared/RhoConnectClientImpl.h +60 -0
  31. data/ext/rhoconnect-client/ext/shared/RhoConnectClientSingletonImpl.h +53 -0
  32. data/ext/rhoconnect-client/ext/shared/initRhoconnectClient.cpp +207 -0
  33. data/ext/rhoconnect-client/ext/shared/rhoconnectclient.c +18 -0
  34. data/ext/rhoconnect-client/ext/shared/sync/ClientRegister.cpp +398 -0
  35. data/ext/rhoconnect-client/ext/shared/sync/ClientRegister.h +147 -0
  36. data/ext/rhoconnect-client/ext/shared/sync/ISyncProtocol.h +91 -0
  37. data/ext/rhoconnect-client/ext/shared/sync/SyncEngine.cpp +1245 -0
  38. data/ext/rhoconnect-client/ext/shared/sync/SyncEngine.h +213 -0
  39. data/ext/rhoconnect-client/ext/shared/sync/SyncNotify.cpp +737 -0
  40. data/ext/rhoconnect-client/ext/shared/sync/SyncNotify.h +209 -0
  41. data/ext/rhoconnect-client/ext/shared/sync/SyncProtocol_3.h +220 -0
  42. data/ext/rhoconnect-client/ext/shared/sync/SyncProtocol_4.h +259 -0
  43. data/ext/rhoconnect-client/ext/shared/sync/SyncSource.cpp +1694 -0
  44. data/ext/rhoconnect-client/ext/shared/sync/SyncSource.h +212 -0
  45. data/ext/rhoconnect-client/ext/shared/sync/SyncThread.cpp +583 -0
  46. data/ext/rhoconnect-client/ext/shared/sync/SyncThread.h +250 -0
  47. data/ext/rhoconnect-client/ext.yml +12 -0
  48. data/lib/build/run_rhoconnect_spec.rb +135 -0
  49. data/lib/rhoconnect-client.rb +3 -0
  50. data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +1673 -0
  51. data/platform/shared/RhoConnectClient/RhoConnectClient.h +181 -0
  52. data/platform/shared/RhoConnectClient/RhoError.h +77 -0
  53. data/rhoconnect-client/C++/Tests/RhoConnectClientTest.cpp +830 -0
  54. data/rhoconnect-client/C++/Tests/win32/.gitignore +3 -0
  55. data/rhoconnect-client/C++/Tests/win32/RhoConnectClient.sln +65 -0
  56. data/rhoconnect-client/C++/Tests/win32/RhoConnectClient.vcproj +634 -0
  57. data/rhoconnect-client/C++/Tests/win32/RhoConnectClientTest/RhoConnectClientTest.vcproj +222 -0
  58. data/rhoconnect-client/C++/Tests/win32/RhoConnectClientTest/stdafx.h +65 -0
  59. data/rhoconnect-client/C++/Tests/win32/stdafx.h +65 -0
  60. data/rhoconnect-client/CHANGELOG +18 -0
  61. data/rhoconnect-client/Java/Android/build/android.rake +387 -0
  62. data/rhoconnect-client/Java/Android/build/android_sdk.rb +582 -0
  63. data/rhoconnect-client/Java/Android/build/libcurl_build.files +73 -0
  64. data/rhoconnect-client/Java/Android/build/libjson_build.files +9 -0
  65. data/rhoconnect-client/Java/Android/build/librhocommon_build.files +14 -0
  66. data/rhoconnect-client/Java/Android/build/librhodb_build.files +5 -0
  67. data/rhoconnect-client/Java/Android/build/librhoimpl_build.files +13 -0
  68. data/rhoconnect-client/Java/Android/build/librholog_build.files +4 -0
  69. data/rhoconnect-client/Java/Android/build/libsqlite_build.files +1 -0
  70. data/rhoconnect-client/Java/Android/build/libsync_build.files +7 -0
  71. data/rhoconnect-client/Java/Android/build/libunzip_build.files +1 -0
  72. data/rhoconnect-client/Java/Android/build/rhoconnectclient_build.files +3 -0
  73. data/rhoconnect-client/Java/Android/build/rhoimpljava_build.files +21 -0
  74. data/rhoconnect-client/Java/Android/src/com/rhomobile/rhodes/Capabilities.java +63 -0
  75. data/rhoconnect-client/Java/Android/src/com/rhomobile/rhodes/MemoryInfoCollector.java +79 -0
  76. data/rhoconnect-client/Java/Android/src/com/rhomobile/rhodes/util/ContextFactory.java +63 -0
  77. data/rhoconnect-client/Java/Android/test/.classpath +9 -0
  78. data/rhoconnect-client/Java/Android/test/.project +33 -0
  79. data/rhoconnect-client/Java/Android/test/AndroidManifest.xml +14 -0
  80. data/rhoconnect-client/Java/Android/test/assets/apps/androidtest.png +0 -0
  81. data/rhoconnect-client/Java/Android/test/assets/apps/rhoconfig.txt +19 -0
  82. data/rhoconnect-client/Java/Android/test/assets/apps/rhoconfig.txt.timestamp +1 -0
  83. data/rhoconnect-client/Java/Android/test/assets/db/syncdb.schema +44 -0
  84. data/rhoconnect-client/Java/Android/test/assets/db/syncdb.triggers +10 -0
  85. data/rhoconnect-client/Java/Android/test/assets/db/syncdb_java.triggers +21 -0
  86. data/rhoconnect-client/Java/Android/test/assets/rho.dat +9 -0
  87. data/rhoconnect-client/Java/Android/test/proguard.cfg +36 -0
  88. data/rhoconnect-client/Java/Android/test/project.properties +11 -0
  89. data/rhoconnect-client/Java/Android/test/res/drawable-hdpi/icon.png +0 -0
  90. data/rhoconnect-client/Java/Android/test/res/drawable-ldpi/icon.png +0 -0
  91. data/rhoconnect-client/Java/Android/test/res/drawable-mdpi/icon.png +0 -0
  92. data/rhoconnect-client/Java/Android/test/res/layout/main.xml +12 -0
  93. data/rhoconnect-client/Java/Android/test/res/values/strings.xml +5 -0
  94. data/rhoconnect-client/Java/Android/test/rhoimpl.jar +0 -0
  95. data/rhoconnect-client/Java/Android/test/src/com/rhomobile/rhoconnect_client_test/TestRhoConnectClient.java +343 -0
  96. data/rhoconnect-client/Java/Android/test/src/com/rhomobile/rhoconnect_client_test/TestRhoConnectClientBlobs.java +219 -0
  97. data/rhoconnect-client/Java/RhoConnect/.classpath +6 -0
  98. data/rhoconnect-client/Java/RhoConnect/.project +93 -0
  99. data/rhoconnect-client/Java/RhoConnect/assets/apps/rhoconfig.txt +19 -0
  100. data/rhoconnect-client/Java/RhoConnect/assets/apps/rhoconfig.txt.timestamp +1 -0
  101. data/rhoconnect-client/Java/RhoConnect/assets/db/syncdb.schema +44 -0
  102. data/rhoconnect-client/Java/RhoConnect/assets/db/syncdb.triggers +10 -0
  103. data/rhoconnect-client/Java/RhoConnect/assets/db/syncdb_java.triggers +21 -0
  104. data/rhoconnect-client/Java/RhoConnect/assets/rho.dat +8 -0
  105. data/rhoconnect-client/Java/RhoConnect/jni/include/RhoConnectJniNotify.h +61 -0
  106. data/rhoconnect-client/Java/RhoConnect/jni/include/com_rhomobile_rhoconnect_RhoConnectClient.h +181 -0
  107. data/rhoconnect-client/Java/RhoConnect/jni/include/com_rhomobile_rhoconnect_RhoConnectNotify.h +13 -0
  108. data/rhoconnect-client/Java/RhoConnect/jni/include/com_rhomobile_rhoconnect_RhoConnectNotify_IDelegate.h +13 -0
  109. data/rhoconnect-client/Java/RhoConnect/jni/include/com_rhomobile_rhoconnect_RhoConnectObjectNotify.h +13 -0
  110. data/rhoconnect-client/Java/RhoConnect/jni/include/com_rhomobile_rhoconnect_RhoConnectObjectNotify_IDelegate.h +13 -0
  111. data/rhoconnect-client/Java/RhoConnect/jni/include/com_rhomobile_rhoconnect_RhomModel.h +103 -0
  112. data/rhoconnect-client/Java/RhoConnect/jni/include/rhojava.inc +76 -0
  113. data/rhoconnect-client/Java/RhoConnect/jni/src/RhoConnectJniClient.cpp +401 -0
  114. data/rhoconnect-client/Java/RhoConnect/jni/src/RhoConnectJniModel.cpp +332 -0
  115. data/rhoconnect-client/Java/RhoConnect/jni/src/RhoConnectJniNotify.cpp +223 -0
  116. data/rhoconnect-client/Java/RhoConnect/jni/src/RhoConnectUtil.cpp +82 -0
  117. data/rhoconnect-client/Java/RhoConnect/jni/src/RhodesApp.cpp +114 -0
  118. data/rhoconnect-client/Java/RhoConnect/src/com/rhomobile/rhoconnect/RhoConnectClient.java +108 -0
  119. data/rhoconnect-client/Java/RhoConnect/src/com/rhomobile/rhoconnect/RhoConnectNotify.java +78 -0
  120. data/rhoconnect-client/Java/RhoConnect/src/com/rhomobile/rhoconnect/RhoConnectObjectNotify.java +71 -0
  121. data/rhoconnect-client/Java/RhoConnect/src/com/rhomobile/rhoconnect/RhomModel.java +195 -0
  122. data/rhoconnect-client/JavaScript/.classpath +10 -0
  123. data/rhoconnect-client/JavaScript/.gitignore +4 -0
  124. data/rhoconnect-client/JavaScript/.project +17 -0
  125. data/rhoconnect-client/JavaScript/README.textile +1 -0
  126. data/rhoconnect-client/JavaScript/build.xml +185 -0
  127. data/rhoconnect-client/JavaScript/doc/fsm-sample.js +44 -0
  128. data/rhoconnect-client/JavaScript/doc/fsm-sample.png +0 -0
  129. data/rhoconnect-client/JavaScript/src/RhoSyncJS.gwt.xml +21 -0
  130. data/rhoconnect-client/JavaScript/stubs/RhoSyncStubsJS.gwt.xml +21 -0
  131. data/rhoconnect-client/JavaScript/stubs/com/rho/Capabilities.java +7 -0
  132. data/rhoconnect-client/JavaScript/stubs/com/rho/IRhoRubyHelper.java +7 -0
  133. data/rhoconnect-client/JavaScript/stubs/com/rho/Mutex.java +5 -0
  134. data/rhoconnect-client/JavaScript/stubs/com/rho/RhoAppAdapter.java +39 -0
  135. data/rhoconnect-client/JavaScript/stubs/com/rho/RhoClassFactory.java +29 -0
  136. data/rhoconnect-client/JavaScript/stubs/com/rho/RhoConf.java +100 -0
  137. data/rhoconnect-client/JavaScript/stubs/com/rho/RhoEmptyLogger.java +7 -0
  138. data/rhoconnect-client/JavaScript/stubs/com/rho/RhoEmptyProfiler.java +5 -0
  139. data/rhoconnect-client/JavaScript/stubs/com/rho/RhoLogger.java +32 -0
  140. data/rhoconnect-client/JavaScript/stubs/com/rho/RhoProfiler.java +27 -0
  141. data/rhoconnect-client/JavaScript/stubs/com/rho/RhodesApp.java +25 -0
  142. data/rhoconnect-client/JavaScript/stubs/com/rho/TimeInterval.java +22 -0
  143. data/rhoconnect-client/JavaScript/stubs/com/rho/Tokenizer.java +23 -0
  144. data/rhoconnect-client/JavaScript/stubs/com/rho/db/DBAdapter.java +174 -0
  145. data/rhoconnect-client/JavaScript/stubs/com/rho/db/DBAttrManager.java +15 -0
  146. data/rhoconnect-client/JavaScript/stubs/com/rho/db/DBException.java +5 -0
  147. data/rhoconnect-client/JavaScript/stubs/com/rho/db/IDBResult.java +27 -0
  148. data/rhoconnect-client/JavaScript/stubs/com/rho/file/IFileAccess.java +7 -0
  149. data/rhoconnect-client/JavaScript/stubs/com/rho/file/SimpleFile.java +15 -0
  150. data/rhoconnect-client/JavaScript/stubs/com/rho/net/IHttpConnection.java +22 -0
  151. data/rhoconnect-client/JavaScript/stubs/com/rho/net/NetRequest.java +324 -0
  152. data/rhoconnect-client/JavaScript/stubs/com/rho/net/NetResponse.java +51 -0
  153. data/rhoconnect-client/JavaScript/stubs/com/rho/net/URI.java +64 -0
  154. data/rhoconnect-client/JavaScript/stubs/com/rho/sync/ClientRegister.java +15 -0
  155. data/rhoconnect-client/JavaScript/stubs/com/rho/sync/JSONArrayIterator.java +37 -0
  156. data/rhoconnect-client/JavaScript/stubs/com/rho/sync/JSONEntry.java +48 -0
  157. data/rhoconnect-client/JavaScript/stubs/com/rho/sync/JSONStructIterator.java +41 -0
  158. data/rhoconnect-client/JavaScript/stubs/com/rho/sync/SyncNotify.java +98 -0
  159. data/rhoconnect-client/JavaScript/stubs/com/rho/sync/SyncThread.java +92 -0
  160. data/rhoconnect-client/JavaScript/war/WEB-INF/lib/gwt-servlet-deps.jar +0 -0
  161. data/rhoconnect-client/JavaScript/war/WEB-INF/lib/gwt-servlet.jar +0 -0
  162. data/rhoconnect-client/JavaScript/war/js/fsm-sample.js +54 -0
  163. data/rhoconnect-client/JavaScript/war/js/rhosync-api.js +237 -0
  164. data/rhoconnect-client/JavaScript/war/js/rhosync-fsm.js +307 -0
  165. data/rhoconnect-client/JavaScript/war/rhosyncjs/4C71D69C9BBC9E6F05C6BA49B01BCBC1.cache.html +3122 -0
  166. data/rhoconnect-client/JavaScript/war/rhosyncjs/5146F4FFF34511C8BB2661E920B49E3A.cache.html +3254 -0
  167. data/rhoconnect-client/JavaScript/war/rhosyncjs/5248C67481D9D27AD0703D15CDBD2A1C.cache.html +3147 -0
  168. data/rhoconnect-client/JavaScript/war/rhosyncjs/EE1DC2692C9C32367B53A39E2358AF23.cache.html +3195 -0
  169. data/rhoconnect-client/JavaScript/war/rhosyncjs/clear.cache.gif +0 -0
  170. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/corner.png +0 -0
  171. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/corner_ie6.png +0 -0
  172. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/hborder.png +0 -0
  173. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/hborder_ie6.png +0 -0
  174. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/ie6/corner_dialog_topleft.png +0 -0
  175. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/ie6/corner_dialog_topright.png +0 -0
  176. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/ie6/hborder_blue_shadow.png +0 -0
  177. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/ie6/hborder_gray_shadow.png +0 -0
  178. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/ie6/vborder_blue_shadow.png +0 -0
  179. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/ie6/vborder_gray_shadow.png +0 -0
  180. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/splitPanelThumb.png +0 -0
  181. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/vborder.png +0 -0
  182. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/images/vborder_ie6.png +0 -0
  183. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/standard.css +1144 -0
  184. data/rhoconnect-client/JavaScript/war/rhosyncjs/gwt/standard/standard_rtl.css +1145 -0
  185. data/rhoconnect-client/JavaScript/war/rhosyncjs/hosted.html +350 -0
  186. data/rhoconnect-client/JavaScript/war/rhosyncjs/rhosyncjs.nocache.js +314 -0
  187. data/rhoconnect-client/JavaScript/war/test/SpecRunner.html +35 -0
  188. data/rhoconnect-client/JavaScript/war/test/dbtest.html +38 -0
  189. data/rhoconnect-client/JavaScript/war/test/lib/jasmine-1.0.1/MIT.LICENSE +20 -0
  190. data/rhoconnect-client/JavaScript/war/test/lib/jasmine-1.0.1/jasmine-html.js +188 -0
  191. data/rhoconnect-client/JavaScript/war/test/lib/jasmine-1.0.1/jasmine.css +166 -0
  192. data/rhoconnect-client/JavaScript/war/test/lib/jasmine-1.0.1/jasmine.js +2421 -0
  193. data/rhoconnect-client/JavaScript/war/test/spec/SpecHelper.js +7 -0
  194. data/rhoconnect-client/JavaScript/war/test/spec/SyncApiSpec.js +573 -0
  195. data/rhoconnect-client/JavaScript/war/test/spec/samples/PlayerSpec.js +58 -0
  196. data/rhoconnect-client/JavaScript/war/test/worker-test.js +17 -0
  197. data/rhoconnect-client/LICENSE +41 -0
  198. data/rhoconnect-client/ObjectiveC/RhoConnectClient.h +118 -0
  199. data/rhoconnect-client/ObjectiveC/RhoConnectClient.m +641 -0
  200. data/rhoconnect-client/ObjectiveC/RhoConnectClient.xcodeproj/project.pbxproj +1434 -0
  201. data/rhoconnect-client/ObjectiveC/RhoConnectNotify.h +83 -0
  202. data/rhoconnect-client/ObjectiveC/RhoConnectNotify.m +181 -0
  203. data/rhoconnect-client/ObjectiveC/RhoConnectObjectNotify.h +65 -0
  204. data/rhoconnect-client/ObjectiveC/RhoConnectObjectNotify.m +73 -0
  205. data/rhoconnect-client/ObjectiveC/RhomModel.h +101 -0
  206. data/rhoconnect-client/ObjectiveC/RhomModel.m +320 -0
  207. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/MainWindow.xib +198 -0
  208. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/RhoConnectClientTest-Info.plist +30 -0
  209. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/RhoConnectClientTest.xcodeproj/project.pbxproj +373 -0
  210. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/RhoConnectClientTestAppDelegate.h +58 -0
  211. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/RhoConnectClientTestAppDelegate.m +84 -0
  212. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/RhoConnectClientTest_Prefix.pch +8 -0
  213. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/invalid_import_db.zip +0 -0
  214. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/main.m +1096 -0
  215. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/test.png +0 -0
  216. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/test2.png +0 -0
  217. data/rhoconnect-client/ObjectiveC/Tests/RhoConnectClientTest/valid_import_db.zip +0 -0
  218. data/rhoconnect-client/ObjectiveC/Tests/ptests/Classes/ptestsAppDelegate.h +62 -0
  219. data/rhoconnect-client/ObjectiveC/Tests/ptests/Classes/ptestsAppDelegate.m +35 -0
  220. data/rhoconnect-client/ObjectiveC/Tests/ptests/Classes/ptestsViewController.h +78 -0
  221. data/rhoconnect-client/ObjectiveC/Tests/ptests/Classes/ptestsViewController.m +549 -0
  222. data/rhoconnect-client/ObjectiveC/Tests/ptests/MainWindow.xib +227 -0
  223. data/rhoconnect-client/ObjectiveC/Tests/ptests/main.m +17 -0
  224. data/rhoconnect-client/ObjectiveC/Tests/ptests/ptests-Info.plist +30 -0
  225. data/rhoconnect-client/ObjectiveC/Tests/ptests/ptests.xcodeproj/project.pbxproj +363 -0
  226. data/rhoconnect-client/ObjectiveC/Tests/ptests/ptestsViewController.xib +641 -0
  227. data/rhoconnect-client/ObjectiveC/Tests/ptests/ptests_Prefix.pch +8 -0
  228. data/rhoconnect-client/README.textile +23 -0
  229. data/rhoconnect-client/Rakefile +20 -0
  230. data/rhoconnect-client/Samples/Java/android_store/.classpath +8 -0
  231. data/rhoconnect-client/Samples/Java/android_store/.project +33 -0
  232. data/rhoconnect-client/Samples/Java/android_store/AndroidManifest.xml +24 -0
  233. data/rhoconnect-client/Samples/Java/android_store/assets/apps/rhoconfig.txt +19 -0
  234. data/rhoconnect-client/Samples/Java/android_store/assets/apps/rhoconfig.txt.timestamp +1 -0
  235. data/rhoconnect-client/Samples/Java/android_store/assets/db/syncdb.schema +44 -0
  236. data/rhoconnect-client/Samples/Java/android_store/assets/db/syncdb.triggers +10 -0
  237. data/rhoconnect-client/Samples/Java/android_store/assets/db/syncdb_java.triggers +21 -0
  238. data/rhoconnect-client/Samples/Java/android_store/assets/rho.dat +8 -0
  239. data/rhoconnect-client/Samples/Java/android_store/default.properties +11 -0
  240. data/rhoconnect-client/Samples/Java/android_store/project.properties +14 -0
  241. data/rhoconnect-client/Samples/Java/android_store/res/drawable-hdpi/icon.png +0 -0
  242. data/rhoconnect-client/Samples/Java/android_store/res/drawable-ldpi/icon.png +0 -0
  243. data/rhoconnect-client/Samples/Java/android_store/res/drawable-mdpi/icon.png +0 -0
  244. data/rhoconnect-client/Samples/Java/android_store/res/layout/main.xml +12 -0
  245. data/rhoconnect-client/Samples/Java/android_store/res/values/strings.xml +5 -0
  246. data/rhoconnect-client/Samples/Java/android_store/rhoimpl.jar +0 -0
  247. data/rhoconnect-client/Samples/Java/android_store/src/com/rhomobile/android_store/StoreActivity.java +68 -0
  248. data/rhoconnect-client/Samples/Java/android_store/src/com/rhomobile/android_store/StoreApplication.java +15 -0
  249. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/LoginViewController.h +70 -0
  250. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/LoginViewController.m +94 -0
  251. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/RhoConnectEngine.h +82 -0
  252. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/RhoConnectEngine.m +119 -0
  253. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/RootViewController.h +63 -0
  254. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/RootViewController.m +314 -0
  255. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/WaitLoginController.h +65 -0
  256. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/WaitLoginController.m +110 -0
  257. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/storeAppDelegate.h +61 -0
  258. data/rhoconnect-client/Samples/ObjectiveC/store/Classes/storeAppDelegate.m +171 -0
  259. data/rhoconnect-client/Samples/ObjectiveC/store/LoginViewController.xib +779 -0
  260. data/rhoconnect-client/Samples/ObjectiveC/store/MainWindow.xib +580 -0
  261. data/rhoconnect-client/Samples/ObjectiveC/store/RootViewController.xib +384 -0
  262. data/rhoconnect-client/Samples/ObjectiveC/store/WaitLoginController.xib +557 -0
  263. data/rhoconnect-client/Samples/ObjectiveC/store/icon.png +0 -0
  264. data/rhoconnect-client/Samples/ObjectiveC/store/main.m +22 -0
  265. data/rhoconnect-client/Samples/ObjectiveC/store/store-Info.plist +30 -0
  266. data/rhoconnect-client/Samples/ObjectiveC/store/store.xcodeproj/project.pbxproj +367 -0
  267. data/rhoconnect-client/Samples/ObjectiveC/store/store_Prefix.pch +14 -0
  268. data/rhoconnect-client/build.yml +3 -0
  269. data/rhoconnect-client/version +1 -0
  270. metadata +314 -0
@@ -0,0 +1,222 @@
1
+ <?xml version="1.0" encoding="windows-1251"?>
2
+ <VisualStudioProject
3
+ ProjectType="Visual C++"
4
+ Version="9.00"
5
+ Name="RhoConnectClientTest"
6
+ ProjectGUID="{0D5EBF57-73AF-443F-B8A0-D2149AB4C5C0}"
7
+ RootNamespace="RhoConnectClientTest"
8
+ Keyword="Win32Proj"
9
+ TargetFrameworkVersion="131072"
10
+ >
11
+ <Platforms>
12
+ <Platform
13
+ Name="Win32"
14
+ />
15
+ </Platforms>
16
+ <ToolFiles>
17
+ </ToolFiles>
18
+ <Configurations>
19
+ <Configuration
20
+ Name="Debug|Win32"
21
+ OutputDirectory="..\bin\$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
22
+ IntermediateDirectory="..\bin\$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
23
+ ConfigurationType="1"
24
+ CharacterSet="1"
25
+ >
26
+ <Tool
27
+ Name="VCPreBuildEventTool"
28
+ />
29
+ <Tool
30
+ Name="VCCustomBuildTool"
31
+ />
32
+ <Tool
33
+ Name="VCXMLDataGeneratorTool"
34
+ />
35
+ <Tool
36
+ Name="VCWebServiceProxyGeneratorTool"
37
+ />
38
+ <Tool
39
+ Name="VCMIDLTool"
40
+ />
41
+ <Tool
42
+ Name="VCCLCompilerTool"
43
+ Optimization="0"
44
+ AdditionalIncludeDirectories="&quot;../../../../..\ext\rhoconnect-client\ext\shared&quot;;../../../../../../rhodes/platform/shared;../../../../../platform/shared;../../../../../../rhodes/platform/shared/test/gtest/include;../../../../../../rhodes/platform/shared/test/gtest"
45
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;RHO_NO_RUBY"
46
+ MinimalRebuild="true"
47
+ BasicRuntimeChecks="3"
48
+ RuntimeLibrary="1"
49
+ UsePrecompiledHeader="0"
50
+ WarningLevel="3"
51
+ Detect64BitPortabilityProblems="false"
52
+ DebugInformationFormat="3"
53
+ />
54
+ <Tool
55
+ Name="VCManagedResourceCompilerTool"
56
+ />
57
+ <Tool
58
+ Name="VCResourceCompilerTool"
59
+ />
60
+ <Tool
61
+ Name="VCPreLinkEventTool"
62
+ />
63
+ <Tool
64
+ Name="VCLinkerTool"
65
+ AdditionalDependencies="wininet.lib ws2_32.lib Crypt32.lib"
66
+ LinkIncremental="2"
67
+ GenerateDebugInformation="true"
68
+ SubSystem="1"
69
+ RandomizedBaseAddress="1"
70
+ DataExecutionPrevention="0"
71
+ TargetMachine="1"
72
+ />
73
+ <Tool
74
+ Name="VCALinkTool"
75
+ />
76
+ <Tool
77
+ Name="VCManifestTool"
78
+ />
79
+ <Tool
80
+ Name="VCXDCMakeTool"
81
+ />
82
+ <Tool
83
+ Name="VCBscMakeTool"
84
+ />
85
+ <Tool
86
+ Name="VCFxCopTool"
87
+ />
88
+ <Tool
89
+ Name="VCAppVerifierTool"
90
+ />
91
+ <Tool
92
+ Name="VCPostBuildEventTool"
93
+ />
94
+ </Configuration>
95
+ <Configuration
96
+ Name="Release|Win32"
97
+ OutputDirectory="..\bin\$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
98
+ IntermediateDirectory="..\bin\$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
99
+ ConfigurationType="1"
100
+ CharacterSet="1"
101
+ WholeProgramOptimization="1"
102
+ >
103
+ <Tool
104
+ Name="VCPreBuildEventTool"
105
+ />
106
+ <Tool
107
+ Name="VCCustomBuildTool"
108
+ />
109
+ <Tool
110
+ Name="VCXMLDataGeneratorTool"
111
+ />
112
+ <Tool
113
+ Name="VCWebServiceProxyGeneratorTool"
114
+ />
115
+ <Tool
116
+ Name="VCMIDLTool"
117
+ />
118
+ <Tool
119
+ Name="VCCLCompilerTool"
120
+ AdditionalIncludeDirectories="&quot;../../../../..\ext\rhoconnect-client\ext\shared&quot;;../../../../../../rhodes/platform/shared;../../../../../platform/shared;../../../../../../rhodes/platform/shared/test/gtest/include;../../../../../../rhodes/platform/shared/test/gtest"
121
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;RHO_NO_RUBY"
122
+ RuntimeLibrary="0"
123
+ UsePrecompiledHeader="0"
124
+ WarningLevel="3"
125
+ Detect64BitPortabilityProblems="false"
126
+ DebugInformationFormat="3"
127
+ />
128
+ <Tool
129
+ Name="VCManagedResourceCompilerTool"
130
+ />
131
+ <Tool
132
+ Name="VCResourceCompilerTool"
133
+ />
134
+ <Tool
135
+ Name="VCPreLinkEventTool"
136
+ />
137
+ <Tool
138
+ Name="VCLinkerTool"
139
+ AdditionalDependencies="wininet.lib ws2_32.lib Crypt32.lib"
140
+ LinkIncremental="1"
141
+ GenerateDebugInformation="true"
142
+ SubSystem="1"
143
+ OptimizeReferences="2"
144
+ EnableCOMDATFolding="2"
145
+ RandomizedBaseAddress="1"
146
+ DataExecutionPrevention="0"
147
+ TargetMachine="1"
148
+ />
149
+ <Tool
150
+ Name="VCALinkTool"
151
+ />
152
+ <Tool
153
+ Name="VCManifestTool"
154
+ />
155
+ <Tool
156
+ Name="VCXDCMakeTool"
157
+ />
158
+ <Tool
159
+ Name="VCBscMakeTool"
160
+ />
161
+ <Tool
162
+ Name="VCFxCopTool"
163
+ />
164
+ <Tool
165
+ Name="VCAppVerifierTool"
166
+ />
167
+ <Tool
168
+ Name="VCPostBuildEventTool"
169
+ />
170
+ </Configuration>
171
+ </Configurations>
172
+ <References>
173
+ </References>
174
+ <Files>
175
+ <Filter
176
+ Name="test"
177
+ >
178
+ <Filter
179
+ Name="gtest"
180
+ >
181
+ <File
182
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\gtest\src\gtest-death-test.cc"
183
+ >
184
+ </File>
185
+ <File
186
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\gtest\src\gtest-filepath.cc"
187
+ >
188
+ </File>
189
+ <File
190
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\gtest\src\gtest-internal-inl.h"
191
+ >
192
+ </File>
193
+ <File
194
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\gtest\src\gtest-port.cc"
195
+ >
196
+ </File>
197
+ <File
198
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\gtest\src\gtest-test-part.cc"
199
+ >
200
+ </File>
201
+ <File
202
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\gtest\src\gtest-typed-test.cc"
203
+ >
204
+ </File>
205
+ <File
206
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\gtest\src\gtest.cc"
207
+ >
208
+ </File>
209
+ </Filter>
210
+ </Filter>
211
+ <File
212
+ RelativePath="..\..\RhoConnectClientTest.cpp"
213
+ >
214
+ </File>
215
+ <File
216
+ RelativePath="..\..\..\..\..\..\rhodes\platform\shared\test\test_helper.cpp"
217
+ >
218
+ </File>
219
+ </Files>
220
+ <Globals>
221
+ </Globals>
222
+ </VisualStudioProject>
@@ -0,0 +1,65 @@
1
+ /*------------------------------------------------------------------------
2
+ * (The MIT License)
3
+ *
4
+ * Copyright (c) 2008-2011 Rhomobile, Inc.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ *
24
+ * http://rhomobile.com
25
+
26
+ * Copyright (c) 2011-2016 Symbol Technologies, Inc.
27
+ *
28
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
29
+ * of this software and associated documentation files (the "Software"), to deal
30
+ * in the Software without restriction, including without limitation the rights
31
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
32
+ * copies of the Software, and to permit persons to whom the Software is
33
+ * furnished to do so, subject to the following conditions:
34
+ *
35
+ * The above copyright notice and this permission notice shall be included in
36
+ * all copies or substantial portions of the Software.
37
+ *
38
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
39
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
40
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
41
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
42
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
43
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
44
+ * THE SOFTWARE.
45
+ *
46
+ * http://symbol.com
47
+ *------------------------------------------------------------------------*/
48
+
49
+ #pragma once
50
+
51
+ #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
52
+ #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
53
+ #endif
54
+
55
+ #define _CRT_SECURE_NO_WARNINGS 1
56
+ #define _CRT_NONSTDC_NO_WARNINGS 1
57
+ #define _CRT_NON_CONFORMING_SWPRINTFS 1
58
+
59
+ //#include <stdio.h>
60
+ //#include <tchar.h>
61
+
62
+ #include <atlbase.h>
63
+ #include <atlstr.h>
64
+
65
+ // TODO: reference additional headers your program requires here
@@ -0,0 +1,65 @@
1
+ /*------------------------------------------------------------------------
2
+ * (The MIT License)
3
+ *
4
+ * Copyright (c) 2008-2011 Rhomobile, Inc.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ *
24
+ * http://rhomobile.com
25
+
26
+ * Copyright (c) 2011-2016 Symbol Technologies, Inc.
27
+ *
28
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
29
+ * of this software and associated documentation files (the "Software"), to deal
30
+ * in the Software without restriction, including without limitation the rights
31
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
32
+ * copies of the Software, and to permit persons to whom the Software is
33
+ * furnished to do so, subject to the following conditions:
34
+ *
35
+ * The above copyright notice and this permission notice shall be included in
36
+ * all copies or substantial portions of the Software.
37
+ *
38
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
39
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
40
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
41
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
42
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
43
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
44
+ * THE SOFTWARE.
45
+ *
46
+ * http://symbol.com
47
+ *------------------------------------------------------------------------*/
48
+
49
+ #pragma once
50
+
51
+ #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
52
+ #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
53
+ #endif
54
+
55
+ #define _CRT_SECURE_NO_WARNINGS 1
56
+ #define _CRT_NONSTDC_NO_WARNINGS 1
57
+ #define _CRT_NON_CONFORMING_SWPRINTFS 1
58
+
59
+ //#include <stdio.h>
60
+ //#include <tchar.h>
61
+
62
+ #include <atlbase.h>
63
+ #include <atlstr.h>
64
+
65
+ // TODO: reference additional headers your program requires here
@@ -0,0 +1,18 @@
1
+ ## 1.0.4
2
+ * Support Blob sync
3
+ * Support Fixed schema models
4
+ * Fix memory leaks
5
+ * Support iOS 5 SDK
6
+
7
+ ## 1.0.3
8
+ * rename to RhoConnect client
9
+
10
+ ## 1.0.2
11
+ * support iPhone SDK 4.2
12
+ * merge with latest Sync Engine
13
+
14
+ ## 1.0.1
15
+ * add support for sync notifications to ObjectiveC client
16
+
17
+ ## 1.0.0
18
+ * initial release - see http://wiki.rhomobile.com/index.php/RhoSync-Client for more details
@@ -0,0 +1,387 @@
1
+ #------------------------------------------------------------------------
2
+ # (The MIT License)
3
+ #
4
+ # Copyright (c) 2008-2011 Rhomobile, Inc.
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ # of this software and associated documentation files (the "Software"), to deal
8
+ # in the Software without restriction, including without limitation the rights
9
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ # copies of the Software, and to permit persons to whom the Software is
11
+ # furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in
14
+ # all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ # THE SOFTWARE.
23
+ #
24
+ # http://rhomobile.com
25
+
26
+ # Copyright (c) 2011-2016 Symbol Technologies, Inc.
27
+ #
28
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
29
+ # of this software and associated documentation files (the "Software"), to deal
30
+ # in the Software without restriction, including without limitation the rights
31
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
32
+ # copies of the Software, and to permit persons to whom the Software is
33
+ # furnished to do so, subject to the following conditions:
34
+ #
35
+ # The above copyright notice and this permission notice shall be included in
36
+ # all copies or substantial portions of the Software.
37
+ #
38
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
39
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
40
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
41
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
42
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
43
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
44
+ # THE SOFTWARE.
45
+ #
46
+ # http://symbol.com
47
+ #------------------------------------------------------------------------
48
+
49
+ #USE_TRACES = Rake.application.options.trace
50
+ USE_OWN_STLPORT = false
51
+
52
+
53
+ $current_platform = 'android'
54
+ $min_api_level = 4
55
+
56
+ if RUBY_PLATFORM =~ /(win|w)32$/
57
+ $all_files_mask = "*.*"
58
+ $rubypath = "res/build-tools/RhoRuby.exe"
59
+ $bat_ext = ".bat"
60
+ $exe_ext = ".exe"
61
+ $path_separator = ";"
62
+ else
63
+ $all_files_mask = "*"
64
+ $bat_ext = ""
65
+ $exe_ext = ""
66
+ $path_separator = ":"
67
+ if RUBY_PLATFORM =~ /darwin/
68
+ $rubypath = "res/build-tools/RubyMac"
69
+ else
70
+ $rubypath = "res/build-tools/rubylinux"
71
+ end
72
+ end
73
+ $basepath = File.expand_path File.dirname(__FILE__)
74
+ $androidpath = File.join $rhodespath, "platform", "android"
75
+
76
+ require File.join($basepath, 'android_sdk.rb')
77
+
78
+ CONFIG = 'debug'
79
+ $buildroot = $appconfig['android']["build_path"]
80
+ BUILDPATH = File.join($buildroot, CONFIG)
81
+
82
+ BUILDARGS = {
83
+ # Steps to ge-DHAVE_CONFIG_Ht curl_config.h from fresh libcurl sources:
84
+ #export PATH=<ndkroot>/build/prebuilt/linux-x86/arm-eabi-4.2.1/bin:$PATH
85
+ #export CC=arm-eabi-gcc
86
+ #export CPP=arm-eabi-cpp
87
+ #export CFLAGS="--sysroot <ndkroot>/build/platforms/android-3/arch-arm -fPIC -mandroid -DANDROID -DOS_ANDROID"
88
+ #export CPPFLAGS="--sysroot <ndkroot>/build/platforms/android-3/arch-arm -fPIC -mandroid -DANDROID -DOS_ANDROID"
89
+ #./configure --without-ssl --without-ca-bundle --without-ca-path --without-libssh2 --without-libidn --disable-ldap --disable-ldaps --host=arm-eabi
90
+ "librhocommon" => ["-DRHO_NO_RUBY",
91
+ "-I#{$sharedpath}",
92
+ "-I#{File.join($sharedpath, "curl", "include")}"],
93
+ "librhodb" => ["-DRHO_NO_RUBY",
94
+ "-I#{File.join($sharedpath, "db")}",
95
+ "-I#{$sharedpath}",
96
+ "-I#{File.join($sharedpath, "sqlite")}"],
97
+ "libsync" => ["-DRHO_NO_RUBY",
98
+ "-I#{File.join($sharedpath, "sync")}",
99
+ "-I#{$sharedpath}",
100
+ "-I#{File.join($sharedpath, "sqlite")}",
101
+ "-I#{File.join($rootpath, "ext", "rhoconnect-client", "ext", "rhoconnect-client", "shared", "src")}",
102
+ "-I#{File.join($rootpath, "platform", "shared")}"],
103
+ "librhoimpl" => ["-DRHO_NO_RUBY",
104
+ "-I#{File.join($androidpath, "Rhodes", "jni", "include")}",
105
+ "-I#{File.join("Java", "RhoConnect", "jni", "include")}",
106
+ "-I#{File.join($sharedpath, "curl", "include")}",
107
+ "-I#{File.join($sharedpath, "common")}",
108
+ "-I#{File.join($sharedpath, "sqlite")}",
109
+ "-I#{$sharedpath}"],
110
+ "rhoconnectclient" => ["-DRHO_NO_RUBY",
111
+ "-I#{File.join("Java", "RhoConnect", "jni", "include")}",
112
+ "-I#{$sharedpath}",
113
+ "-I#{File.join($androidpath, "Rhodes", "jni", "include")}",
114
+ "-I#{File.join($rootpath, "ext", "rhoconnect-client", "ext", "rhoconnect-client", "shared", "src")}",
115
+ "-I#{File.join($rootpath, "platform", "shared")}"],
116
+ "libcurl" => ["-DHAVE_CONFIG_H",
117
+ "-I#{File.join($sharedpath, "curl", "include")}",
118
+ "-I#{File.join($sharedpath, "curl")}",
119
+ "-I#{$sharedpath}"],
120
+ "libsqlite" => ["-I#{File.join($sharedpath, "sqlite")}",
121
+ "-I#{$sharedpath}"],
122
+ "libjson" => ["-DRHO_NO_RUBY",
123
+ "-I#{File.join($sharedpath, "json")}",
124
+ "-I#{$sharedpath}"],
125
+ "libunzip" => ["-I#{$sharedpath}"],
126
+ "librholog" => ["-DRHO_NO_RUBY",
127
+ "-I#{$sharedpath}"]
128
+ }
129
+
130
+
131
+ SRC = FileList.new
132
+ OBJ = FileList.new
133
+ LIBFN = FileList.new
134
+ CLEAN = FileList.new
135
+
136
+ LIBS = Hash.new
137
+
138
+ LIBS['libcurl'] = File.join(BUILDPATH, 'libcurl.a')
139
+ LIBS['libsqlite'] = File.join(BUILDPATH, 'libsqlite.a')
140
+ LIBS['libjson'] = File.join(BUILDPATH, 'libjson.a')
141
+ LIBS['libunzip'] = File.join(BUILDPATH, 'libunzip.a')
142
+ LIBS['librholog'] = File.join(BUILDPATH, 'librholog.a')
143
+ LIBS['librhocommon'] = File.join(BUILDPATH, 'librhocommon.a')
144
+ LIBS['librhodb'] = File.join(BUILDPATH, 'librhodb.a')
145
+ LIBS['libsync'] = File.join(BUILDPATH, 'libsync.a')
146
+ LIBS['librhoimpl'] = File.join(BUILDPATH, 'librhoimpl.a')
147
+
148
+ CPPLIBS = ['libjson', 'librholog', 'librhocommon', 'librhodb', 'libsync', 'librhoimpl', 'rhoconnectclient']
149
+
150
+ LIBS.each do |name, filename|
151
+ sources = get_sources(name)
152
+ SRC.include sources
153
+ OBJ.include get_objects(sources, File.join(BUILDPATH, name))
154
+ LIBFN.include filename
155
+ end
156
+
157
+ librhoconnectclient_src = get_sources "rhoconnectclient"
158
+ SRC.include librhoconnectclient_src
159
+ OBJ.include get_objects(librhoconnectclient_src, File.join(BUILDPATH, "rhoconnectclient"))
160
+
161
+ CLEAN.include OBJ
162
+ CLEAN.include LIBFN
163
+ CLEAN.include File.join(BUILDPATH, 'librhoconnectclient.so')
164
+ CLEAN.include File.join(BUILDPATH, 'rhoimpl.jar')
165
+
166
+ namespace "android" do
167
+
168
+ task :default => [File.join(BUILDPATH, 'librhoconnectclient.so'), File.join(BUILDPATH, "rhoimpl.jar")]
169
+
170
+ namespace "config" do
171
+
172
+ def fill_obj_src_lib name, buildpath
173
+ libsources = get_sources name
174
+ libsources.each do |src|
175
+ objpath = get_object src, File.join(buildpath, name)
176
+ $obj_src[objpath] = src
177
+ $obj_lib[objpath] = name
178
+
179
+ if USE_TRACES
180
+ puts "#{objpath} => #{$obj_src[objpath]}"
181
+ puts "#{objpath} => #{$obj_lib[objpath]}"
182
+ puts ""
183
+ end
184
+ end
185
+ end
186
+
187
+ def build_tree(buildpath)
188
+ $obj_src = Hash.new
189
+ $obj_lib = Hash.new
190
+ LIBS.each do |name, filename|
191
+ fill_obj_src_lib name, buildpath
192
+ end
193
+ fill_obj_src_lib "rhoconnectclient", buildpath
194
+ end
195
+
196
+ def build_args()
197
+ CPPLIBS.each do |lib|
198
+ unless $std_includes.nil?
199
+ puts "Use stl for #{lib}" if USE_TRACES
200
+ BUILDARGS[lib] << "-I#{$std_includes}"
201
+ end
202
+ if USE_OWN_STLPORT
203
+ puts "Use own stlport for #{lib}" if USE_TRACES
204
+ BUILDARGS[lib] << "-D__NEW__"
205
+ BUILDARGS[lib] << "-I#{$stlport_includes}"
206
+ end
207
+ end
208
+ end
209
+
210
+ task :sdk do # => ["config:buildyml", "config:rhobuildyml"] do
211
+ $androidsdkpath = $rhoconfig["env"]["paths"]["android"]
212
+ sdk_level = setup_sdk $androidsdkpath, $min_api_level
213
+
214
+ $androidndkpath = $rhoconfig["env"]["paths"]["android-ndk"]
215
+ setup_ndk $androidndkpath, sdk_level
216
+ end
217
+
218
+ task :stdlib => [:sdk] do
219
+ $std_includes = File.join $androidndkpath, "sources", "cxx-stl", "stlport", "stlport"
220
+ unless File.directory? $std_includes
221
+ $stlport_includes = File.join $sharedpath, "stlport", "stlport"
222
+ USE_OWN_STLPORT = true
223
+ end
224
+ end
225
+
226
+ end # namespace "config"
227
+
228
+ task :config => ["config:sdk", "config:stdlib"] do
229
+ build_tree BUILDPATH
230
+ build_args
231
+ end # task :config
232
+
233
+ namespace "build" do
234
+
235
+ task :libraries => [:libcurl, :libsqlite, :libjson, :libunzip, :librholog, :librhocommon, :librhodb, :libsync, :librhoimpl]
236
+
237
+ task :libsqlite => [File.join(BUILDPATH, 'libsqlite'), LIBS['libsqlite'] ]
238
+
239
+ task :libcurl => [File.join(BUILDPATH, 'libcurl'), LIBS['libcurl'] ]
240
+
241
+ task :libjson => [File.join(BUILDPATH, 'libjson'), LIBS['libjson'] ]
242
+
243
+ task :libunzip => [File.join(BUILDPATH, 'libunzip'), LIBS['libunzip'] ]
244
+
245
+ task :librholog => [File.join(BUILDPATH, 'librholog'), LIBS['librholog'] ]
246
+
247
+ task :librhocommon => [File.join(BUILDPATH, 'librhocommon'), LIBS['librhocommon'] ]
248
+
249
+ task :librhodb => [File.join(BUILDPATH, 'librhodb'), LIBS['librhodb'] ]
250
+
251
+ task :libsync => [File.join(BUILDPATH, 'libsync'), LIBS['libsync'] ]
252
+
253
+ task :librhoimpl => [File.join(BUILDPATH, 'librhoimpl'), LIBS['librhoimpl'] ]
254
+
255
+ task :rhoconnectclient => [File.join(BUILDPATH, 'librhoconnectclient.so')]
256
+
257
+ end # namespace "build"
258
+
259
+ task :clean do
260
+ CLEAN.each do |filename|
261
+ `rm -rf #{filename}`
262
+ end
263
+ end
264
+ end # namespace "android"
265
+
266
+ directory BUILDPATH
267
+ file BUILDPATH => ["android:config"]
268
+
269
+ directory File.join(BUILDPATH, 'libcurl')
270
+ file File.join(BUILDPATH, 'libcurl') => BUILDPATH
271
+
272
+ directory File.join(BUILDPATH, 'libsqlite')
273
+ file File.join(BUILDPATH, 'libsqlite') => BUILDPATH
274
+
275
+ directory File.join(BUILDPATH, 'libjson')
276
+ file File.join(BUILDPATH, 'libjson') => BUILDPATH
277
+
278
+ directory File.join(BUILDPATH, 'libunzip')
279
+ file File.join(BUILDPATH, 'libunzip') => BUILDPATH
280
+
281
+ directory File.join(BUILDPATH, 'librholog')
282
+ file File.join(BUILDPATH, 'librholog') => BUILDPATH
283
+
284
+ directory File.join(BUILDPATH, 'librhocommon')
285
+ file File.join(BUILDPATH, 'librhocommon') => BUILDPATH
286
+
287
+ directory File.join(BUILDPATH, 'librhodb')
288
+ file File.join(BUILDPATH, 'librhodb') => BUILDPATH
289
+
290
+ directory File.join(BUILDPATH, 'libsync')
291
+ file File.join(BUILDPATH, 'libsync') => BUILDPATH
292
+
293
+ directory File.join(BUILDPATH, 'librhoimpl')
294
+ file File.join(BUILDPATH, 'librhoimpl') => BUILDPATH
295
+
296
+ directory File.join(BUILDPATH, 'rhoconnectclient')
297
+ file File.join(BUILDPATH, 'rhoconnectclient') => BUILDPATH
298
+
299
+ directory File.join(BUILDPATH, 'RhoImplJava')
300
+ file File.join(BUILDPATH, 'RhoImplJava') => BUILDPATH
301
+
302
+ def lib_objects(libfile)
303
+ lib = File.basename(libfile).gsub(/\.a$/, "")
304
+
305
+ sources = get_sources lib
306
+ if USE_TRACES
307
+ puts "#{lib} sources:"
308
+ sources.each do |src|
309
+ puts src
310
+ end
311
+ end
312
+
313
+ objpath = File.join(BUILDPATH, lib)
314
+
315
+ objects = get_objects sources, objpath
316
+ objects
317
+ end
318
+
319
+ def obj_source(objfile)
320
+ src = SRC.to_a().find { |src| (File.basename(src) + ".o") == File.basename(objfile) }
321
+ if USE_TRACES
322
+ puts "#{objfile} -----> #{src}"
323
+ end
324
+ src
325
+ end
326
+
327
+ file File.join(BUILDPATH, 'librhoconnectclient.so') => ["android:build:libraries"].concat(get_objects(get_sources('rhoconnectclient'),File.join(BUILDPATH, "rhoconnectclient"))) do |t|
328
+ objects = t.prerequisites
329
+ objects.delete_at(objects.index("android:build:libraries"))
330
+ if USE_TRACES
331
+ objects.each do |obj|
332
+ puts "obj: #{obj}"
333
+ end
334
+ end
335
+ args = ["-L#{BUILDPATH}"]
336
+
337
+ args << "-Wl,--whole-archive"
338
+ args << "-lrhoimpl"
339
+ args << "-Wl,--no-whole-archive"
340
+
341
+ libs = []
342
+ LIBFN.each do |lib|
343
+ libs << "-l" + File.basename(lib).gsub(/^lib/,"").gsub(/\.(a|so)$/,"")
344
+ end
345
+ libs << "-llog"
346
+ libs << "-ldl"
347
+ libs << "-lz"
348
+
349
+ args += libs
350
+ args += libs.reverse
351
+ args += libs
352
+ args += libs.reverse
353
+
354
+ cc_link(t.name, objects, args) or exit 1
355
+ end
356
+
357
+ rule '.a' => [ lambda { |libfile| lib_objects(libfile) } ] do |t|
358
+ lib = t.name.gsub(/.*\/lib/, "lib").gsub(/\.a$/, "")
359
+ puts "#{lib}: #{t.name}" if USE_TRACES
360
+
361
+ objpath = File.join(BUILDPATH, lib)
362
+ sources = get_sources lib
363
+ objects = get_objects sources, objpath
364
+
365
+ cc_ar(t.name, objects) or exit 1
366
+ end
367
+
368
+ rule '.o' => [lambda { |objfile| obj_source(objfile) }, "android:config"] do |t|
369
+ lib = $obj_lib[t.name]
370
+ puts "#{lib}: building #{t.name} from #{t.source}. Args: #{BUILDARGS[lib]}" if USE_TRACES
371
+ puts "pwd: #{Dir.pwd}" if USE_TRACES
372
+ cc_compile(t.source, File.dirname(t.name), BUILDARGS[lib]) or exit 1
373
+ end
374
+
375
+ file File.join(BUILDPATH, "rhoimpl.jar") => [File.join(BUILDPATH, 'RhoImplJava')].concat(get_sources("rhoimpljava")) do |t|
376
+ $androidjar = File.join($androidsdkpath, "platforms", $androidplatform, "android.jar")
377
+
378
+ classpath = $androidjar
379
+ classpath += $path_separator + BUILDPATH
380
+
381
+ jar_build("rhoimpljava", classpath, t.name, File.join(BUILDPATH, 'RhoImplJava'))
382
+ end
383
+
384
+ # rule '.class' => [lambda { |classfile| class_source(classfile) }] do |t|
385
+ # end
386
+
387
+