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,320 @@
1
+ //
2
+ // RhomModel.m
3
+ // SyncClientTest
4
+ //
5
+ // Created by evgeny vovchenko on 8/23/10.
6
+ // Copyright 2010 RhoMobile. All rights reserved.
7
+ // Copyright 2011-2016 Symbol Technologies. All rights reserved.
8
+ //
9
+
10
+ #import "RhomModel.h"
11
+ #import "RhoConnectClient/RhoConnectClient.h"
12
+ #include "sync/SyncThread.h"
13
+ #import "RhoConnectClient.h"
14
+
15
+ @implementation RhomModel
16
+
17
+ @synthesize name;
18
+ @synthesize partition;
19
+ @synthesize sync_type;
20
+ @synthesize source_id;
21
+ @synthesize model_type;
22
+ @synthesize associations;
23
+ @synthesize blob_attribs;
24
+
25
+ - (id)init
26
+ {
27
+ self = [super init];
28
+ partition = @"user";
29
+ sync_type = RST_INCREMENTAL;
30
+ model_type = RMT_PROPERTY_BAG;
31
+ source_id = 0;
32
+ associations = NULL;
33
+ blob_attribs = [[NSMutableString alloc] init];
34
+
35
+ return self;
36
+ }
37
+
38
+ - (void)dealloc;
39
+ {
40
+ [name release];
41
+ [partition release];
42
+ if (associations)
43
+ {
44
+ [associations release];
45
+ }
46
+ [blob_attribs release];
47
+ [super dealloc];
48
+ }
49
+
50
+ - (RhoConnectNotify *)sync
51
+ {
52
+ char *res = (char *)rho_sync_doSyncSourceByName([name cStringUsingEncoding:[NSString defaultCStringEncoding]]);
53
+
54
+ RHO_CONNECT_NOTIFY oNotify = { 0 };
55
+
56
+ rho_connectclient_parsenotify(res, &oNotify);
57
+ rho_sync_free_string(res);
58
+
59
+ return [[[RhoConnectNotify alloc] init:&oNotify] autorelease];
60
+ }
61
+
62
+ - (void)sync:(SEL)callback target:(id)target
63
+ {
64
+ [RhoConnectClient setNotification:callback target:target];
65
+
66
+ rho_sync_doSyncSourceByName([name cStringUsingEncoding:[NSString defaultCStringEncoding]]);
67
+ }
68
+
69
+ - (void)setNotification:(SEL)callback target:(id)target
70
+ {
71
+ [RhoConnectClient setModelNotification:source_id callback:callback target:target];
72
+ }
73
+
74
+ - (void)clearNotification
75
+ {
76
+ rho_sync_clear_notification(source_id);
77
+ }
78
+
79
+ - (void)add_blob_attribute:(NSString *)attr_name
80
+ {
81
+ [self add_blob_attribute:attr_name overwrite:NO];
82
+ }
83
+
84
+ - (void)add_blob_attribute:(NSString *)attr_name overwrite:(BOOL)attr_overwrite
85
+ {
86
+ if (0 < [blob_attribs length])
87
+ {
88
+ [blob_attribs appendString:@","];
89
+ }
90
+ [blob_attribs appendString:attr_name];
91
+ [blob_attribs appendString:@","];
92
+ [blob_attribs appendString:attr_overwrite ? @"1":@"0"];
93
+ }
94
+
95
+ - (void)create:(NSMutableDictionary *)data
96
+ {
97
+ unsigned long item = rho_connectclient_hash_create();
98
+
99
+ for (NSString *key in data)
100
+ {
101
+ rho_connectclient_hash_put(item,
102
+ [key cStringUsingEncoding:[NSString defaultCStringEncoding]],
103
+ [[data objectForKey:key] cStringUsingEncoding:[NSString defaultCStringEncoding]]
104
+ );
105
+ }
106
+
107
+ rho_connectclient_create_object([name cStringUsingEncoding:[NSString defaultCStringEncoding]],
108
+ item);
109
+ const char *szValue = rho_connectclient_hash_get(item, "object");
110
+ if (szValue)
111
+ {
112
+ [data setValue:[NSString stringWithUTF8String:szValue] forKey:@"object"];
113
+ }
114
+ else
115
+ {
116
+ [data setValue:@"" forKey:@"object"];
117
+ }
118
+
119
+ szValue = rho_connectclient_hash_get(item, "source_id");
120
+ if (szValue)
121
+ {
122
+ [data setValue:[NSString stringWithUTF8String:szValue] forKey:@"source_id"];
123
+ }
124
+ else
125
+ {
126
+ [data setValue:@"" forKey:@"source_id"];
127
+ }
128
+
129
+ rho_connectclient_hash_delete(item);
130
+ }
131
+
132
+ - (BOOL)is_changed
133
+ {
134
+ return rho_connectclient_is_changed([name cStringUsingEncoding:[NSString defaultCStringEncoding]]) == 1 ? TRUE : FALSE;
135
+ }
136
+
137
+ - (void)setSyncType:(int)type
138
+ {
139
+ sync_type = type;
140
+ rho_connectclient_set_synctype([name cStringUsingEncoding:[NSString defaultCStringEncoding]], type);
141
+ }
142
+
143
+ int enum_func(const char *szKey, const char *szValue, void *pThis)
144
+ {
145
+ NSMutableDictionary *data = (NSMutableDictionary *)pThis;
146
+
147
+ [data setValue:[NSString stringWithUTF8String:szValue] forKey:[NSString stringWithUTF8String:szKey]];
148
+ return 1;
149
+ }
150
+
151
+ - (NSMutableDictionary *)find:(NSString *)object_id
152
+ {
153
+ unsigned long item = rho_connectclient_find(
154
+ [name cStringUsingEncoding:[NSString defaultCStringEncoding]],
155
+ [object_id cStringUsingEncoding:[NSString defaultCStringEncoding]]);
156
+
157
+ if (item == 0)
158
+ {
159
+ return NULL;
160
+ }
161
+ NSMutableDictionary *data = [[NSMutableDictionary alloc] init];
162
+ rho_connectclient_hash_enumerate(item, &enum_func, data);
163
+
164
+ rho_connectclient_hash_delete(item);
165
+ return [data autorelease];
166
+ }
167
+
168
+ - (NSMutableDictionary *)find_first:(NSDictionary *)cond
169
+ {
170
+ unsigned long condhash = rho_connectclient_hash_create();
171
+
172
+ for (NSString *key in cond)
173
+ {
174
+ rho_connectclient_hash_put(condhash,
175
+ [key cStringUsingEncoding:[NSString defaultCStringEncoding]],
176
+ [[cond objectForKey:key] cStringUsingEncoding:[NSString defaultCStringEncoding]]
177
+ );
178
+ }
179
+
180
+ unsigned long item = rho_connectclient_find_first([name cStringUsingEncoding:[NSString defaultCStringEncoding]], condhash);
181
+ rho_connectclient_hash_delete(condhash);
182
+
183
+ if (item == 0)
184
+ {
185
+ return NULL;
186
+ }
187
+ NSMutableDictionary *data = [[NSMutableDictionary alloc] init];
188
+ rho_connectclient_hash_enumerate(item, &enum_func, data);
189
+
190
+ rho_connectclient_hash_delete(item);
191
+ return [data autorelease];
192
+ }
193
+
194
+ - (NSMutableArray *)find_all:(NSDictionary *)cond
195
+ {
196
+ unsigned long condhash = rho_connectclient_hash_create();
197
+
198
+ if (cond)
199
+ {
200
+ for (NSString *key in cond)
201
+ {
202
+ rho_connectclient_hash_put(condhash,
203
+ [key cStringUsingEncoding:[NSString defaultCStringEncoding]],
204
+ [[cond objectForKey:key] cStringUsingEncoding:[NSString defaultCStringEncoding]]
205
+ );
206
+ }
207
+ }
208
+
209
+ unsigned long items = rho_connectclient_find_all([name cStringUsingEncoding:[NSString defaultCStringEncoding]], condhash);
210
+ rho_connectclient_hash_delete(condhash);
211
+
212
+ if (items == 0)
213
+ {
214
+ return NULL;
215
+ }
216
+
217
+ int nSize = rho_connectclient_strhasharray_size(items);
218
+ NSMutableArray *arRes = [[NSMutableArray alloc] initWithCapacity:nSize];
219
+ for (int i = 0; i < nSize; i++)
220
+ {
221
+ NSMutableDictionary *data = [[NSMutableDictionary alloc] init];
222
+ rho_connectclient_hash_enumerate(rho_connectclient_strhasharray_get(items, i), &enum_func, data);
223
+
224
+ [arRes addObject:data];
225
+ [data release];
226
+ }
227
+
228
+ rho_connectclient_strhasharray_delete(items);
229
+ return [arRes autorelease];
230
+ }
231
+
232
+ - (NSMutableArray *)find_bysql:(NSString *)sql args:(NSArray *)sql_args
233
+ {
234
+ unsigned long ar_params = 0;
235
+
236
+ if (sql_args != NULL && [sql_args count] > 0)
237
+ {
238
+ ar_params = rho_connectclient_strarray_create();
239
+ for (NSString *param in sql_args)
240
+ {
241
+ rho_connectclient_strarray_add(ar_params, [param cStringUsingEncoding:[NSString defaultCStringEncoding]]);
242
+ }
243
+ }
244
+
245
+ unsigned long items = rho_connectclient_findbysql(
246
+ [name cStringUsingEncoding:[NSString defaultCStringEncoding]],
247
+ [sql cStringUsingEncoding:[NSString defaultCStringEncoding]],
248
+ ar_params);
249
+
250
+ if (items == 0)
251
+ {
252
+ return NULL;
253
+ }
254
+
255
+ int nSize = rho_connectclient_strhasharray_size(items);
256
+ NSMutableArray *arRes = [[NSMutableArray alloc] initWithCapacity:nSize];
257
+ for (int i = 0; i < nSize; i++)
258
+ {
259
+ NSMutableDictionary *data = [[NSMutableDictionary alloc] init];
260
+ rho_connectclient_hash_enumerate(rho_connectclient_strhasharray_get(items, i), &enum_func, data);
261
+
262
+ [arRes addObject:data];
263
+ [data release];
264
+ }
265
+
266
+ rho_connectclient_strhasharray_delete(items);
267
+ return [arRes autorelease];
268
+ }
269
+
270
+ - (void)save:(NSDictionary *)data
271
+ {
272
+ unsigned long item = rho_connectclient_hash_create();
273
+
274
+ for (NSString *key in data)
275
+ {
276
+ rho_connectclient_hash_put(item,
277
+ [key cStringUsingEncoding:[NSString defaultCStringEncoding]],
278
+ [[data objectForKey:key] cStringUsingEncoding:[NSString defaultCStringEncoding]]
279
+ );
280
+ }
281
+
282
+ rho_connectclient_save([name cStringUsingEncoding:[NSString defaultCStringEncoding]], item);
283
+
284
+ rho_connectclient_hash_delete(item);
285
+ }
286
+
287
+ - (void)destroy:(NSDictionary *)data
288
+ {
289
+ unsigned long item = rho_connectclient_hash_create();
290
+
291
+ for (NSString *key in data)
292
+ {
293
+ rho_connectclient_hash_put(item,
294
+ [key cStringUsingEncoding:[NSString defaultCStringEncoding]],
295
+ [[data objectForKey:key] cStringUsingEncoding:[NSString defaultCStringEncoding]]
296
+ );
297
+ }
298
+
299
+ rho_connectclient_itemdestroy([name cStringUsingEncoding:[NSString defaultCStringEncoding]],
300
+ item);
301
+
302
+ rho_connectclient_hash_delete(item);
303
+ }
304
+
305
+ - (void)startBulkUpdate
306
+ {
307
+ rho_connectclient_start_bulkupdate([name cStringUsingEncoding:[NSString defaultCStringEncoding]]);
308
+ }
309
+
310
+ - (void)stopBulkUpdate
311
+ {
312
+ rho_connectclient_stop_bulkupdate([name cStringUsingEncoding:[NSString defaultCStringEncoding]]);
313
+ }
314
+
315
+ - (void)pushChanges
316
+ {
317
+ rho_connectclient_push_changes([name cStringUsingEncoding:[NSString defaultCStringEncoding]]);
318
+ }
319
+
320
+ @end
@@ -0,0 +1,198 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
3
+ <data>
4
+ <int key="IBDocument.SystemTarget">800</int>
5
+ <string key="IBDocument.SystemVersion">10D540</string>
6
+ <string key="IBDocument.InterfaceBuilderVersion">760</string>
7
+ <string key="IBDocument.AppKitVersion">1038.29</string>
8
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
9
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
10
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
11
+ <string key="NS.object.0">81</string>
12
+ </object>
13
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
14
+ <bool key="EncodedWithXMLCoder">YES</bool>
15
+ <integer value="2"/>
16
+ </object>
17
+ <object class="NSArray" key="IBDocument.PluginDependencies">
18
+ <bool key="EncodedWithXMLCoder">YES</bool>
19
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
20
+ </object>
21
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
22
+ <bool key="EncodedWithXMLCoder">YES</bool>
23
+ <object class="NSArray" key="dict.sortedKeys" id="0">
24
+ <bool key="EncodedWithXMLCoder">YES</bool>
25
+ </object>
26
+ <object class="NSMutableArray" key="dict.values">
27
+ <bool key="EncodedWithXMLCoder">YES</bool>
28
+ </object>
29
+ </object>
30
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
31
+ <bool key="EncodedWithXMLCoder">YES</bool>
32
+ <object class="IBProxyObject" id="841351856">
33
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
34
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
35
+ </object>
36
+ <object class="IBProxyObject" id="427554174">
37
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
38
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
39
+ </object>
40
+ <object class="IBUICustomObject" id="664661524">
41
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
42
+ </object>
43
+ <object class="IBUIWindow" id="380026005">
44
+ <reference key="NSNextResponder"/>
45
+ <int key="NSvFlags">1316</int>
46
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
47
+ <string key="NSFrameSize">{320, 480}</string>
48
+ <reference key="NSSuperview"/>
49
+ <object class="NSColor" key="IBUIBackgroundColor">
50
+ <int key="NSColorSpace">1</int>
51
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
52
+ </object>
53
+ <bool key="IBUIOpaque">NO</bool>
54
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
55
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
56
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
57
+ <bool key="IBUIResizesToFullScreen">YES</bool>
58
+ </object>
59
+ </object>
60
+ <object class="IBObjectContainer" key="IBDocument.Objects">
61
+ <object class="NSMutableArray" key="connectionRecords">
62
+ <bool key="EncodedWithXMLCoder">YES</bool>
63
+ <object class="IBConnectionRecord">
64
+ <object class="IBCocoaTouchOutletConnection" key="connection">
65
+ <string key="label">delegate</string>
66
+ <reference key="source" ref="841351856"/>
67
+ <reference key="destination" ref="664661524"/>
68
+ </object>
69
+ <int key="connectionID">4</int>
70
+ </object>
71
+ <object class="IBConnectionRecord">
72
+ <object class="IBCocoaTouchOutletConnection" key="connection">
73
+ <string key="label">window</string>
74
+ <reference key="source" ref="664661524"/>
75
+ <reference key="destination" ref="380026005"/>
76
+ </object>
77
+ <int key="connectionID">5</int>
78
+ </object>
79
+ </object>
80
+ <object class="IBMutableOrderedSet" key="objectRecords">
81
+ <object class="NSArray" key="orderedObjects">
82
+ <bool key="EncodedWithXMLCoder">YES</bool>
83
+ <object class="IBObjectRecord">
84
+ <int key="objectID">0</int>
85
+ <reference key="object" ref="0"/>
86
+ <reference key="children" ref="1000"/>
87
+ <nil key="parent"/>
88
+ </object>
89
+ <object class="IBObjectRecord">
90
+ <int key="objectID">2</int>
91
+ <reference key="object" ref="380026005"/>
92
+ <object class="NSMutableArray" key="children">
93
+ <bool key="EncodedWithXMLCoder">YES</bool>
94
+ </object>
95
+ <reference key="parent" ref="0"/>
96
+ </object>
97
+ <object class="IBObjectRecord">
98
+ <int key="objectID">-1</int>
99
+ <reference key="object" ref="841351856"/>
100
+ <reference key="parent" ref="0"/>
101
+ <string key="objectName">File's Owner</string>
102
+ </object>
103
+ <object class="IBObjectRecord">
104
+ <int key="objectID">3</int>
105
+ <reference key="object" ref="664661524"/>
106
+ <reference key="parent" ref="0"/>
107
+ </object>
108
+ <object class="IBObjectRecord">
109
+ <int key="objectID">-2</int>
110
+ <reference key="object" ref="427554174"/>
111
+ <reference key="parent" ref="0"/>
112
+ </object>
113
+ </object>
114
+ </object>
115
+ <object class="NSMutableDictionary" key="flattenedProperties">
116
+ <bool key="EncodedWithXMLCoder">YES</bool>
117
+ <object class="NSArray" key="dict.sortedKeys">
118
+ <bool key="EncodedWithXMLCoder">YES</bool>
119
+ <string>-1.CustomClassName</string>
120
+ <string>-2.CustomClassName</string>
121
+ <string>2.IBAttributePlaceholdersKey</string>
122
+ <string>2.IBEditorWindowLastContentRect</string>
123
+ <string>2.IBPluginDependency</string>
124
+ <string>3.CustomClassName</string>
125
+ <string>3.IBPluginDependency</string>
126
+ </object>
127
+ <object class="NSMutableArray" key="dict.values">
128
+ <bool key="EncodedWithXMLCoder">YES</bool>
129
+ <string>UIApplication</string>
130
+ <string>UIResponder</string>
131
+ <object class="NSMutableDictionary">
132
+ <bool key="EncodedWithXMLCoder">YES</bool>
133
+ <reference key="dict.sortedKeys" ref="0"/>
134
+ <object class="NSMutableArray" key="dict.values">
135
+ <bool key="EncodedWithXMLCoder">YES</bool>
136
+ </object>
137
+ </object>
138
+ <string>{{198, 376}, {320, 480}}</string>
139
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
140
+ <string>SyncClientTestAppDelegate</string>
141
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
142
+ </object>
143
+ </object>
144
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
145
+ <bool key="EncodedWithXMLCoder">YES</bool>
146
+ <reference key="dict.sortedKeys" ref="0"/>
147
+ <object class="NSMutableArray" key="dict.values">
148
+ <bool key="EncodedWithXMLCoder">YES</bool>
149
+ </object>
150
+ </object>
151
+ <nil key="activeLocalization"/>
152
+ <object class="NSMutableDictionary" key="localizations">
153
+ <bool key="EncodedWithXMLCoder">YES</bool>
154
+ <reference key="dict.sortedKeys" ref="0"/>
155
+ <object class="NSMutableArray" key="dict.values">
156
+ <bool key="EncodedWithXMLCoder">YES</bool>
157
+ </object>
158
+ </object>
159
+ <nil key="sourceID"/>
160
+ <int key="maxID">9</int>
161
+ </object>
162
+ <object class="IBClassDescriber" key="IBDocument.Classes">
163
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
164
+ <bool key="EncodedWithXMLCoder">YES</bool>
165
+ <object class="IBPartialClassDescription">
166
+ <string key="className">SyncClientTestAppDelegate</string>
167
+ <string key="superclassName">NSObject</string>
168
+ <object class="NSMutableDictionary" key="outlets">
169
+ <string key="NS.key.0">window</string>
170
+ <string key="NS.object.0">UIWindow</string>
171
+ </object>
172
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
173
+ <string key="majorKey">IBProjectSource</string>
174
+ <string key="minorKey">Classes/SyncClientTestAppDelegate.h</string>
175
+ </object>
176
+ </object>
177
+ <object class="IBPartialClassDescription">
178
+ <string key="className">SyncClientTestAppDelegate</string>
179
+ <string key="superclassName">NSObject</string>
180
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
181
+ <string key="majorKey">IBUserSource</string>
182
+ <string key="minorKey"/>
183
+ </object>
184
+ </object>
185
+ </object>
186
+ </object>
187
+ <int key="IBDocument.localizationMode">0</int>
188
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
189
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
190
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
191
+ <integer value="3100" key="NS.object.0"/>
192
+ </object>
193
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
194
+ <string key="IBDocument.LastKnownRelativeProjectPath">SyncClientTest.xcodeproj</string>
195
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
196
+ <string key="IBCocoaTouchPluginVersion">81</string>
197
+ </data>
198
+ </archive>