rhodes 3.2.3 → 3.3.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. data/CHANGELOG +10 -0
  2. data/Rakefile +153 -46
  3. data/doc/build.txt +261 -102
  4. data/doc/configuration.txt +5 -2
  5. data/doc/device-caps.txt +134 -23
  6. data/doc/extensions.txt +922 -69
  7. data/doc/generator.txt +96 -39
  8. data/doc/install.txt +35 -19
  9. data/doc/jqt-jqm-transition.txt +17 -1
  10. data/doc/rhom.txt +23 -2
  11. data/doc/rhostudio-eclipse.txt +49 -0
  12. data/doc/rhostudio-test-plan.txt +440 -0
  13. data/doc/simulator.txt +1 -1
  14. data/doc/synchronization.txt +40 -1
  15. data/lib/build/jake.rb +108 -7
  16. data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +0 -35
  17. data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +8 -2
  18. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +195 -195
  19. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +6 -0
  20. data/lib/extensions/barcode/ext/barcode/platform/iphone/Rakefile +5 -0
  21. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +64 -20
  22. data/lib/extensions/debugger/CHANGELOG +3 -0
  23. data/lib/extensions/debugger/debugger.rb +26 -21
  24. data/lib/extensions/digest-md5/ext/Rakefile +5 -5
  25. data/lib/extensions/digest-md5/ext/build +10 -1
  26. data/lib/extensions/digest-md5/ext/defs.h +19 -0
  27. data/lib/extensions/digest-md5/ext/digest-md5.vcproj +317 -9
  28. data/lib/extensions/digest-md5/ext/iphone/Dmd5.xcodeproj/project.pbxproj +290 -0
  29. data/lib/extensions/digest-md5/ext/iphone/Dmd5_Prefix.pch +7 -0
  30. data/lib/extensions/digest-md5/ext/iphone/Rakefile +79 -0
  31. data/lib/extensions/digest-sha1/ext/Rakefile +5 -5
  32. data/lib/extensions/digest-sha1/ext/build +10 -1
  33. data/lib/extensions/digest-sha1/ext/defs.h +19 -0
  34. data/lib/extensions/digest-sha1/ext/digest-sha1.vcproj +317 -9
  35. data/lib/extensions/digest-sha1/ext/iphone/Dsha1.xcodeproj/project.pbxproj +278 -0
  36. data/lib/extensions/digest-sha1/ext/iphone/Dsha1_Prefix.pch +7 -0
  37. data/lib/extensions/digest-sha1/ext/iphone/Rakefile +79 -0
  38. data/lib/extensions/digest/ext/Rakefile +5 -5
  39. data/lib/extensions/digest/ext/build +10 -1
  40. data/lib/extensions/digest/ext/digest.vcproj +317 -9
  41. data/lib/extensions/digest/ext/iphone/Digest.xcodeproj/project.pbxproj +270 -0
  42. data/lib/extensions/digest/ext/iphone/Digest_Prefix.pch +7 -0
  43. data/lib/extensions/digest/ext/iphone/Rakefile +79 -0
  44. data/lib/extensions/esri/ext/esri/platform/iphone/ESRI.xcodeproj/project.pbxproj +10 -2
  45. data/lib/extensions/esri/ext/esri/platform/iphone/Rakefile +6 -0
  46. data/lib/extensions/fcntl/ext/Rakefile +5 -5
  47. data/lib/extensions/fcntl/ext/build +9 -1
  48. data/lib/extensions/fcntl/ext/iphone/Fcntl.xcodeproj/project.pbxproj +262 -0
  49. data/lib/extensions/fcntl/ext/iphone/Fcntl_Prefix.pch +7 -0
  50. data/lib/extensions/fcntl/ext/iphone/Rakefile +79 -0
  51. data/lib/extensions/net-http/net/http.rb +9 -7
  52. data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +64 -20
  53. data/lib/extensions/rhoxml/rexml/document.rb +3 -2
  54. data/lib/extensions/rhoxml/rexml/instruction.rb +70 -0
  55. data/lib/framework/builtinME.rb +9 -0
  56. data/lib/framework/date/format.rb +1 -1
  57. data/lib/framework/dateME.rb +19 -2
  58. data/lib/framework/rho/rho.rb +15 -4
  59. data/lib/framework/rho/rhoapplication.rb +1 -0
  60. data/lib/framework/rho/rhocontact.rb +10 -27
  61. data/lib/framework/rho/rhoevent_c.rb +8 -2
  62. data/lib/framework/rho/rhosupport.rb +25 -0
  63. data/lib/framework/rhodes.rb +1 -1
  64. data/lib/framework/rhoframework.rb +15 -0
  65. data/lib/framework/rholang/localization_simplified.rb +8 -10
  66. data/lib/framework/rhom/rhom_object_factory.rb +8 -2
  67. data/lib/framework/version.rb +1 -1
  68. data/lib/rhodes.rb +1 -1
  69. data/platform/android/Rhodes/jni/Application.mk +2 -1
  70. data/platform/android/Rhodes/jni/include/rhodes.h +9 -0
  71. data/platform/android/Rhodes/jni/src/callbacks.cpp +31 -1
  72. data/platform/android/Rhodes/jni/src/event.cpp +75 -31
  73. data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
  74. data/platform/android/Rhodes/jni/src/phonebook.cpp +73 -9
  75. data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -0
  76. data/platform/android/Rhodes/jni/src/rhodesapp.cpp +16 -24
  77. data/platform/android/Rhodes/jni/src/signature.cpp +27 -1
  78. data/platform/android/Rhodes/{default.properties → project.properties} +2 -2
  79. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +14 -12
  80. data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +14 -12
  81. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +38 -115
  82. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +69 -52
  83. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java +9 -0
  84. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +21 -1
  85. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraOldService.java +1 -1
  86. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +1 -1
  87. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraService.java +1 -1
  88. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +38 -6
  89. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +212 -1
  90. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +82 -125
  91. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +1 -1
  92. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +2 -1
  93. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +39 -19
  94. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +106 -136
  95. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +26 -25
  96. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +1 -1
  97. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +40 -0
  98. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +47 -0
  99. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality02.java +33 -0
  100. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java +33 -0
  101. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality04.java +34 -0
  102. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java +75 -0
  103. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality06.java +34 -0
  104. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java +34 -0
  105. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +44 -0
  106. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality09.java +34 -0
  107. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality10.java +34 -0
  108. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +73 -0
  109. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java +57 -6
  110. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java +2 -2
  111. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java +322 -76
  112. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java +11 -6
  113. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java +5 -5
  114. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java +2 -1
  115. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +125 -0
  116. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java +2 -3
  117. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebView.java +16 -0
  118. data/platform/android/build/RhodesSRC_build.files +14 -0
  119. data/platform/android/build/android.rake +149 -147
  120. data/platform/android/build/android_tools.rb +58 -0
  121. data/platform/android/build/librhocommon_build.files +1 -0
  122. data/platform/android/build/libruby_build.files +3 -0
  123. data/platform/bb/RubyVM/src/com/rho/RhoConf.java +11 -1
  124. data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +11 -5
  125. data/platform/bb/RubyVM/src/com/rho/db/DBAttrManager.java +3 -2
  126. data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +2 -0
  127. data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +20 -8
  128. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +9 -6
  129. data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +45 -18
  130. data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +1 -2
  131. data/platform/bb/build/bb.rake +84 -70
  132. data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +106 -14
  133. data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +1 -1
  134. data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +108 -16
  135. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +10 -5
  136. data/platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java +21 -4
  137. data/platform/bb/rhodes/src/rhomobile/mapview/Annotation.java +17 -0
  138. data/platform/bb/rhodes/src/rhomobile/mapview/MapView.java +8 -5
  139. data/platform/bb/rhodes/src/rhomobile/mapview/MapViewScreen.java +3 -1
  140. data/platform/iphone/Classes/AppManager/AppManager.m +15 -3
  141. data/platform/iphone/Classes/Event/Event.m +45 -2
  142. data/platform/iphone/Classes/MapView/MapViewController.m +8 -4
  143. data/platform/iphone/Classes/Phonebook/phonebook.m +30 -7
  144. data/platform/iphone/Classes/Rhodes.h +11 -1
  145. data/platform/iphone/Classes/Rhodes.m +141 -9
  146. data/platform/iphone/Classes/Signature/SignatureDelegate.m +27 -1
  147. data/platform/iphone/Classes/SimpleMainView.h +1 -0
  148. data/platform/iphone/Classes/SimpleMainView.m +4 -0
  149. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +31 -1
  150. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +10 -0
  151. data/platform/iphone/rbuild/iphone.rake +33 -6
  152. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +10 -2
  153. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +22 -2
  154. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +14 -0
  155. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +10 -0
  156. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Info.plist +1 -1
  157. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
  158. data/platform/osx/build/osx.rake +58 -7
  159. data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +427 -69
  160. data/platform/shared/RhoConnectClient/RhoConnectClient.h +21 -2
  161. data/platform/shared/common/Android.mk +2 -1
  162. data/platform/shared/common/AutoPointer.h +23 -0
  163. data/platform/shared/common/BundleManager.cpp +333 -0
  164. data/platform/shared/common/RhoFile.cpp +206 -23
  165. data/platform/shared/common/RhoFile.h +14 -4
  166. data/platform/shared/common/RhoFilePath.h +18 -0
  167. data/platform/shared/common/RhoStd.h +11 -1
  168. data/platform/shared/common/RhoThread.h +4 -1
  169. data/platform/shared/common/RhodesApp.cpp +31 -8
  170. data/platform/shared/common/RhodesApp.h +14 -0
  171. data/platform/shared/common/RhodesAppBase.cpp +6 -6
  172. data/platform/shared/common/RhodesAppBase.h +1 -1
  173. data/platform/shared/common/emml.h +34 -0
  174. data/platform/shared/common/iphone/RhoFileImpl.m +30 -2
  175. data/platform/shared/common/map/BaseMapEngine.cpp +3 -3
  176. data/platform/shared/common/map/GeocodingMapEngine.cpp +205 -14
  177. data/platform/shared/common/map/GeocodingMapEngine.h +25 -2
  178. data/platform/shared/common/map/MapEngine.cpp +24 -2
  179. data/platform/shared/common/map/MapEngine.h +23 -12
  180. data/platform/shared/common/phonebook/PhonebookParams.cpp +99 -0
  181. data/platform/shared/common/phonebook/PhonebookParams.h +52 -0
  182. data/platform/shared/common/rhoparams.cpp +14 -0
  183. data/platform/shared/common/rhoparams.h +1 -0
  184. data/platform/shared/db/DBAdapter.cpp +43 -24
  185. data/platform/shared/db/DBAdapter.h +6 -1
  186. data/platform/shared/db/DBAttrManager.cpp +50 -1
  187. data/platform/shared/logging/RhoLog.h +3 -0
  188. data/platform/shared/logging/RhoLogSink.cpp +5 -1
  189. data/platform/shared/net/CURLNetRequest.cpp +2 -0
  190. data/platform/shared/qt/rhodes/QtMainWindow.cpp +14 -1
  191. data/platform/shared/qt/rhodes/impl/PhonebookImpl.cpp +2 -2
  192. data/platform/shared/qt/rhodes/impl/RhoFileImpl.cpp +1 -1
  193. data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +14 -2
  194. data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +16 -2
  195. data/platform/shared/qt/rhodes/main.cpp +28 -0
  196. data/platform/shared/qt/rhodes/rhodes.pro +3 -0
  197. data/platform/shared/qt/rholib/rholib.pro +2 -1
  198. data/platform/shared/qt/rubylib/rubylib.pro +2 -1
  199. data/platform/shared/ruby/Android.mk +3 -0
  200. data/platform/shared/ruby/class.c +7 -0
  201. data/platform/shared/ruby/compile.c +18 -10
  202. data/platform/shared/ruby/encdb.h +18 -8
  203. data/platform/shared/ruby/eval.c +108 -2
  204. data/platform/shared/ruby/ext/alert/alert_wrap.c +64 -20
  205. data/platform/shared/ruby/ext/asynchttp/asynchttp_wrap.c +64 -20
  206. data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +67 -23
  207. data/platform/shared/ruby/ext/calendar/calendar_wrap.c +64 -20
  208. data/platform/shared/ruby/ext/calendar/event_wrap.c +64 -20
  209. data/platform/shared/ruby/ext/camera/camera_wrap.c +64 -20
  210. data/platform/shared/ruby/ext/datetimepicker/datetimepicker_wrap.c +64 -20
  211. data/platform/shared/ruby/ext/geolocation/geolocation.i +16 -0
  212. data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +127 -26
  213. data/platform/shared/ruby/ext/mapview/mapview_wrap.c +64 -20
  214. data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +65 -21
  215. data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager_wrap.c +64 -20
  216. data/platform/shared/ruby/ext/navbar/navbar_wrap.c +64 -20
  217. data/platform/shared/ruby/ext/phonebook/phonebook.i +7 -7
  218. data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +95 -120
  219. data/platform/shared/ruby/ext/rho/rhoruby.c +4 -4
  220. data/platform/shared/ruby/ext/rho/rhoruby.h +2 -0
  221. data/platform/shared/ruby/ext/rho/rhosupport.c +39 -6
  222. data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +65 -21
  223. data/platform/shared/ruby/ext/ringtones/ringtones_wrap.c +64 -20
  224. data/platform/shared/ruby/ext/signature/signature.i +37 -5
  225. data/platform/shared/ruby/ext/signature/signature_wrap.c +274 -45
  226. data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +65 -21
  227. data/platform/shared/ruby/ext/system/system.i +14 -2
  228. data/platform/shared/ruby/ext/system/system_wrap.c +146 -25
  229. data/platform/shared/ruby/ext/webview/webview_wrap.c +65 -21
  230. data/platform/shared/ruby/include/ruby/ruby.h +15 -4
  231. data/platform/shared/ruby/inits.c +1 -0
  232. data/platform/shared/ruby/io.c +13 -3
  233. data/platform/shared/ruby/win32/win32.c +3 -3
  234. data/platform/shared/ruby/wince/io_wce.c +2 -2
  235. data/platform/shared/rubyext/System.cpp +9 -5
  236. data/platform/shared/sync/ClientRegister.cpp +18 -8
  237. data/platform/shared/sync/SyncEngine.cpp +25 -11
  238. data/platform/shared/sync/SyncEngine.h +2 -0
  239. data/platform/shared/sync/SyncSource.cpp +40 -15
  240. data/platform/shared/sync/SyncSource.h +3 -2
  241. data/platform/shared/sync/SyncThread.cpp +9 -4
  242. data/platform/shared/sync/SyncThread.h +3 -1
  243. data/platform/symbian/build/symbian.rake +14 -9
  244. data/platform/symbian/rhodes/rhodes.pro +11 -8
  245. data/platform/symbian/rhodes/src/phonebook/ruby_phonebook.cpp +2 -2
  246. data/platform/symbian/rubylib/rubylib.pro +3 -0
  247. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  248. data/platform/wm/RhoLib/RhoLib.vcproj +315 -2
  249. data/platform/wm/build/build_inf.js +235 -187
  250. data/platform/wm/build/wm.rake +388 -233
  251. data/platform/wm/rhodes.sln +56 -0
  252. data/platform/wm/rhodes/MainWindow.cpp +139 -77
  253. data/platform/wm/rhodes/MainWindow.h +27 -22
  254. data/platform/wm/rhodes/MapView/{Graphics.cpp → Bitmap.cpp} +15 -253
  255. data/platform/wm/rhodes/MapView/Bitmap.h +86 -0
  256. data/platform/wm/rhodes/MapView/MapViewManager.cpp +7 -2
  257. data/platform/wm/rhodes/MapView/MapViewManager.h +1 -1
  258. data/platform/wm/rhodes/MapView/Win32Graphics.cpp +263 -0
  259. data/platform/wm/rhodes/MapView/Win32Graphics.h +133 -0
  260. data/platform/wm/rhodes/MapView/WmGraphics.cpp +291 -0
  261. data/platform/wm/rhodes/MapView/{Graphics.h → WmGraphics.h} +14 -56
  262. data/platform/wm/rhodes/Rhodes.cpp +128 -32
  263. data/platform/wm/rhodes/Rhodes.rc +6 -2
  264. data/platform/wm/rhodes/camera/Camera.cpp +1 -0
  265. data/platform/wm/rhodes/phonebook/phonebook.cpp +2 -2
  266. data/platform/wm/rhodes/phonebook/phonebook.h +2 -2
  267. data/platform/wm/rhodes/resource.h +3 -2
  268. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -0
  269. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +4 -0
  270. data/platform/wm/rhodes/rho/rubyext/RhoSignature.cpp +675 -0
  271. data/platform/wm/rhodes/rho/rubyext/RhoSignature.h +123 -0
  272. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +12 -2
  273. data/platform/wm/rhodes/rhodes.vcproj +2732 -1113
  274. data/platform/wm/rhodes/simulator/MainWindowQt.h +1 -1
  275. data/platform/wm/rhodes/stdafx.h +1 -0
  276. data/platform/wm/rhoelements.sln +118 -62
  277. data/platform/wm/rubylib/rubylib.vcproj +345 -16
  278. data/platform/wm/sqlite3/sqlite3.vcproj +305 -0
  279. data/platform/wm/syncengine/syncengine.vcproj +309 -0
  280. data/platform/wm/tools/detool/LogServer.cpp +19 -2
  281. data/platform/wm/tools/detool/detool.cpp +131 -6
  282. data/platform/wm/tools/detool/detool.vcproj +3 -1
  283. data/platform/wm/tools/detool/stdafx.h +1 -0
  284. data/platform/wp7/IronRuby/Languages/Ruby/Libraries/Builtins/RangeOps.cs +589 -0
  285. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Builtins/RubyEncoding.cs +678 -0
  286. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyExceptionData.cs +271 -0
  287. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyUtils.cs +31 -1
  288. data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
  289. data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.dll +0 -0
  290. data/platform/wp7/RhoRubyLib/common/RhoStd.cs +6 -0
  291. data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +16 -2
  292. data/platform/wp7/RhoRubyLib/net/NetRequest.cs +2 -0
  293. data/platform/wp7/RhoRubyLib/rubyext/RhoSyncEngine.cs +1 -2
  294. data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +13 -10
  295. data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +30 -8
  296. data/platform/wp7/build/wp.rake +5 -0
  297. data/rakefile.rb +153 -46
  298. data/res/build-tools/detool.exe +0 -0
  299. data/res/build-tools/swig_patch/Lib/ruby/rubyerrors.swg +155 -0
  300. data/res/build-tools/swig_patch/Lib/ruby/rubyhead.swg +158 -0
  301. data/res/build-tools/swig_patch/Lib/ruby/rubyiterators.swg +932 -0
  302. data/res/build-tools/swig_patch/Lib/ruby/rubyrun.swg +448 -0
  303. data/res/build-tools/swig_patch/Lib/ruby/rubystdfunctors.swg +162 -0
  304. data/res/build-tools/swig_patch/Lib/ruby/rubytracking.swg +159 -0
  305. data/res/build-tools/swig_patch/Lib/ruby/std_basic_string.i +97 -0
  306. data/res/build-tools/swig_patch/Lib/ruby/std_map.i +418 -0
  307. data/res/build-tools/swig_patch/Lib/ruby/std_multimap.i +227 -0
  308. data/res/build-tools/swig_patch/Lib/swiginit.swg +269 -0
  309. data/res/build-tools/swig_patch/README +7 -0
  310. data/res/generators/templates/application/app/Settings/controller.rb +42 -1
  311. data/res/generators/templates/application/app/Settings/wait.erb +1 -1
  312. data/res/generators/templates/application/app/application.rb +1 -1
  313. data/res/generators/templates/application/app/layout.erb +8 -8
  314. data/res/generators/templates/application/build.yml +0 -1
  315. data/res/generators/templates/application/public/css/android.css +6 -0
  316. data/res/generators/templates/application/public/css/blackberry.css +6 -0
  317. data/res/generators/templates/application/public/css/iphone.css +6 -0
  318. data/res/generators/templates/application/public/css/jqmobile-patch.css +14 -0
  319. data/res/generators/templates/application/public/jqmobile/images/ajax-loader.png +0 -0
  320. data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
  321. data/res/generators/templates/application/public/jqmobile/images/icons-18-white.png +0 -0
  322. data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
  323. data/res/generators/templates/application/public/jqmobile/images/icons-36-white.png +0 -0
  324. data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.css → jquery.mobile-1.0.css} +452 -354
  325. data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.js → jquery.mobile-1.0.js} +629 -442
  326. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.css +2 -0
  327. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.js +172 -0
  328. data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.css +714 -0
  329. data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.min.css +2 -0
  330. data/res/generators/templates/application/public/js/jqmobile-patch.js +136 -7
  331. data/res/generators/templates/extension/app/MontanaTest/controller.rb +20 -20
  332. data/res/generators/templates/extension/app/MontanaTest/index.erb +17 -17
  333. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj +8 -2
  334. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Rakefile +5 -0
  335. data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana_wrap.c +64 -20
  336. data/rhomobile-debug.gemspec +1 -1
  337. data/spec/framework_spec/app/layout.erb +1 -1
  338. data/spec/framework_spec/app/spec/core/rational/Rational_spec.rb +1 -1
  339. data/spec/framework_spec/app/spec/library/stringio/shared/each_char.rb +6 -2
  340. data/spec/framework_spec/app/spec/shared/rational/{Rational.rb → rational_main.rb} +0 -0
  341. data/spec/framework_spec/build.yml +0 -3
  342. data/spec/perfomance_spec/app/Benchmark/controller.rb +1 -1
  343. data/spec/perfomance_spec/app/layout.erb +1 -1
  344. data/spec/phone_spec/app/BlobTest_s/blob_test_s.rb +13 -0
  345. data/spec/phone_spec/app/BlobTest_s/test.png +0 -0
  346. data/spec/phone_spec/app/BlobTest_s/test2.png +0 -0
  347. data/spec/phone_spec/app/spec/blobsync_spec.rb +27 -15
  348. data/spec/phone_spec/app/spec/date_spec.rb +27 -1
  349. data/spec/phone_spec/app/spec/rho_spec.rb +6 -0
  350. data/spec/phone_spec/app/spec/rhom_object_spec.rb +64 -26
  351. data/spec/phone_spec/app/spec/syncengine_spec.rb +28 -7
  352. data/spec/phone_spec/app/spec/uri_spec.rb +4 -4
  353. data/spec/phone_spec/app/spec_runner.rb +4 -2
  354. data/spec/phone_spec/build.yml +7 -9
  355. data/spec/phone_spec/rhoconfig.txt +1 -0
  356. data/version +1 -1
  357. metadata +75 -22
  358. data/Manifest.txt +0 -7853
  359. data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.cpp +0 -384
  360. data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.h +0 -41
  361. data/platform/wm/rhodes/signature/Signature.cpp +0 -396
  362. data/platform/wm/rhodes/signature/Signature.h +0 -84
  363. data/platform/wm/rubylib/rubylib.vcproj.VLAD.Vladimir.user +0 -429
  364. data/platform/wm/sqlite3/sqlite3.vcproj.VLAD.Vladimir.user +0 -429
  365. data/platform/wm/syncengine/syncengine.vcproj.VLAD.Vladimir.user +0 -429
  366. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.css +0 -12
  367. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.js +0 -170
  368. data/rhomobile-debug-1.0.5.gem +0 -0
@@ -0,0 +1,227 @@
1
+ /*
2
+ Multimaps
3
+ */
4
+ %include <std_map.i>
5
+
6
+ %fragment("StdMultimapTraits","header",fragment="StdSequenceTraits")
7
+ {
8
+ namespace swig {
9
+ template <class RubySeq, class K, class T >
10
+ inline void
11
+ assign(const RubySeq& rubyseq, std::multimap<K,T > *multimap) {
12
+ typedef typename std::multimap<K,T>::value_type value_type;
13
+ typename RubySeq::const_iterator it = rubyseq.begin();
14
+ for (;it != rubyseq.end(); ++it) {
15
+ multimap->insert(value_type(it->first, it->second));
16
+ }
17
+ }
18
+
19
+ template <class K, class T>
20
+ struct traits_asptr<std::multimap<K,T> > {
21
+ typedef std::multimap<K,T> multimap_type;
22
+ static int asptr(VALUE obj, std::multimap<K,T> **val) {
23
+ int res = SWIG_ERROR;
24
+ if ( TYPE(obj) == T_HASH ) {
25
+ ID id_to_a = rb_intern("to_a");
26
+ VALUE items = rb_funcall(obj, id_to_a, 0);
27
+ return traits_asptr_stdseq<std::multimap<K,T>, std::pair<K, T> >::asptr(items, val);
28
+ } else {
29
+ multimap_type *p;
30
+ res = SWIG_ConvertPtr(obj,(void**)&p,swig::type_info<multimap_type>(),0);
31
+ if (SWIG_IsOK(res) && val) *val = p;
32
+ }
33
+ return res;
34
+ }
35
+ };
36
+
37
+ template <class K, class T >
38
+ struct traits_from<std::multimap<K,T> > {
39
+ typedef std::multimap<K,T> multimap_type;
40
+ typedef typename multimap_type::const_iterator const_iterator;
41
+ typedef typename multimap_type::size_type size_type;
42
+
43
+ static VALUE from(const multimap_type& multimap) {
44
+ swig_type_info *desc = swig::type_info<multimap_type>();
45
+ if (desc && desc->clientdata) {
46
+ return SWIG_NewPointerObj(new multimap_type(multimap), desc, SWIG_POINTER_OWN);
47
+ } else {
48
+ size_type size = multimap.size();
49
+ int rubysize = (size <= (size_type) INT_MAX) ? (int) size : -1;
50
+ if (rubysize < 0) {
51
+ SWIG_RUBY_THREAD_BEGIN_BLOCK;
52
+ rb_raise(rb_eRuntimeError,
53
+ "multimap size not valid in Ruby");
54
+ SWIG_RUBY_THREAD_END_BLOCK;
55
+ return Qnil;
56
+ }
57
+ VALUE obj = rb_hash_new();
58
+ for (const_iterator i= multimap.begin(); i!= multimap.end(); ++i) {
59
+ VALUE key = swig::from(i->first);
60
+ VALUE val = swig::from(i->second);
61
+
62
+ VALUE oldval = rb_hash_aref( obj, key );
63
+ if ( oldval == Qnil )
64
+ rb_hash_aset(obj, key, val);
65
+ else {
66
+ // Multiple values for this key, create array if needed
67
+ // and add a new element to it.
68
+ VALUE ary;
69
+ if ( TYPE(oldval) == T_ARRAY )
70
+ ary = oldval;
71
+ else
72
+ {
73
+ ary = rb_ary_new2(2);
74
+ rb_ary_push( ary, oldval );
75
+ rb_hash_aset( obj, key, ary );
76
+ }
77
+ rb_ary_push( ary, val );
78
+ }
79
+
80
+ }
81
+ return obj;
82
+ }
83
+ }
84
+ };
85
+ }
86
+ }
87
+
88
+ %define %swig_multimap_methods(MultiMap...)
89
+ %swig_map_common(%arg(MultiMap));
90
+
91
+ %extend {
92
+ VALUE __getitem__(const key_type& key) const {
93
+ MultiMap::const_iterator i = self->find(key);
94
+ if ( i != self->end() )
95
+ {
96
+ MultiMap::const_iterator e = $self->upper_bound(key);
97
+ VALUE ary = rb_ary_new();
98
+ for ( ; i != e; ++i )
99
+ {
100
+ rb_ary_push( ary, swig::from<MultiMap::mapped_type>( i->second ) );
101
+ }
102
+ if ( RARRAY_LEN(ary) == 1 )
103
+ return RARRAY_PTR(ary)[0];
104
+ return ary;
105
+ }
106
+ else
107
+ return Qnil;
108
+ }
109
+
110
+ void __setitem__(const key_type& key, const mapped_type& x) throw (std::out_of_range) {
111
+ self->insert(MultiMap::value_type(key,x));
112
+ }
113
+
114
+ VALUE inspect()
115
+ {
116
+ MultiMap::iterator i = $self->begin();
117
+ MultiMap::iterator e = $self->end();
118
+ const char *type_name = swig::type_name< MultiMap >();
119
+ VALUE str = rb_str_new2( type_name );
120
+ str = rb_str_cat2( str, " {" );
121
+ VALUE tmp;
122
+ while ( i != e )
123
+ {
124
+ const MultiMap::key_type& key = i->first;
125
+ const MultiMap::key_type& oldkey = key;
126
+ tmp = swig::from( key );
127
+ str = rb_str_buf_append( str, rb_inspect(tmp) );
128
+ str = rb_str_cat2( str, "=>" );
129
+
130
+ VALUE vals = rb_ary_new();
131
+ for ( ; i != e && key == oldkey; ++i )
132
+ {
133
+ const MultiMap::mapped_type& val = i->second;
134
+ tmp = swig::from( val );
135
+ rb_ary_push( vals, tmp );
136
+ }
137
+
138
+ if ( RARRAY_LEN(vals) == 1 )
139
+ {
140
+ str = rb_str_buf_append( str, rb_inspect(tmp) );
141
+ }
142
+ else
143
+ {
144
+ str = rb_str_buf_append( str, rb_inspect(vals) );
145
+ }
146
+ }
147
+ str = rb_str_cat2( str, "}" );
148
+ return str;
149
+ }
150
+
151
+ VALUE to_a()
152
+ {
153
+ MultiMap::const_iterator i = $self->begin();
154
+ MultiMap::const_iterator e = $self->end();
155
+ VALUE ary = rb_ary_new2( std::distance( i, e ) );
156
+ VALUE tmp;
157
+ while ( i != e )
158
+ {
159
+ const MultiMap::key_type& key = i->first;
160
+ const MultiMap::key_type& oldkey = key;
161
+ tmp = swig::from( key );
162
+ rb_ary_push( ary, tmp );
163
+
164
+ VALUE vals = rb_ary_new();
165
+ for ( ; i != e && key == oldkey; ++i )
166
+ {
167
+ const MultiMap::mapped_type& val = i->second;
168
+ tmp = swig::from( val );
169
+ rb_ary_push( vals, tmp );
170
+ }
171
+
172
+ if ( RARRAY_LEN(vals) == 1 )
173
+ {
174
+ rb_ary_push( ary, tmp );
175
+ }
176
+ else
177
+ {
178
+ rb_ary_push( ary, vals );
179
+ }
180
+ }
181
+ return ary;
182
+ }
183
+
184
+ VALUE to_s()
185
+ {
186
+ MultiMap::iterator i = $self->begin();
187
+ MultiMap::iterator e = $self->end();
188
+ VALUE str = rb_str_new2( "" );
189
+ VALUE tmp;
190
+ while ( i != e )
191
+ {
192
+ const MultiMap::key_type& key = i->first;
193
+ const MultiMap::key_type& oldkey = key;
194
+ tmp = swig::from( key );
195
+ tmp = rb_obj_as_string( tmp );
196
+ str = rb_str_buf_append( str, tmp );
197
+
198
+ VALUE vals = rb_ary_new();
199
+ for ( ; i != e && key == oldkey; ++i )
200
+ {
201
+ const MultiMap::mapped_type& val = i->second;
202
+ tmp = swig::from( val );
203
+ rb_ary_push( vals, tmp );
204
+ }
205
+
206
+ tmp = rb_obj_as_string( vals );
207
+ str = rb_str_buf_append( str, tmp );
208
+ }
209
+ return str;
210
+ }
211
+ }
212
+ %enddef
213
+
214
+
215
+ %mixin std::multimap "Enumerable";
216
+
217
+ %rename("delete") std::multimap::__delete__;
218
+ %rename("reject!") std::multimap::reject_bang;
219
+ %rename("map!") std::multimap::map_bang;
220
+ %rename("empty?") std::multimap::empty;
221
+ %rename("include?" ) std::multimap::__contains__ const;
222
+ %rename("has_key?" ) std::multimap::has_key const;
223
+
224
+ %alias std::multimap::push "<<";
225
+
226
+ %include <std/std_multimap.i>
227
+
@@ -0,0 +1,269 @@
1
+ /* -----------------------------------------------------------------------------
2
+ * Type initialization:
3
+ * This problem is tough by the requirement that no dynamic
4
+ * memory is used. Also, since swig_type_info structures store pointers to
5
+ * swig_cast_info structures and swig_cast_info structures store pointers back
6
+ * to swig_type_info structures, we need some lookup code at initialization.
7
+ * The idea is that swig generates all the structures that are needed.
8
+ * The runtime then collects these partially filled structures.
9
+ * The SWIG_InitializeModule function takes these initial arrays out of
10
+ * swig_module, and does all the lookup, filling in the swig_module.types
11
+ * array with the correct data and linking the correct swig_cast_info
12
+ * structures together.
13
+ *
14
+ * The generated swig_type_info structures are assigned staticly to an initial
15
+ * array. We just loop through that array, and handle each type individually.
16
+ * First we lookup if this type has been already loaded, and if so, use the
17
+ * loaded structure instead of the generated one. Then we have to fill in the
18
+ * cast linked list. The cast data is initially stored in something like a
19
+ * two-dimensional array. Each row corresponds to a type (there are the same
20
+ * number of rows as there are in the swig_type_initial array). Each entry in
21
+ * a column is one of the swig_cast_info structures for that type.
22
+ * The cast_initial array is actually an array of arrays, because each row has
23
+ * a variable number of columns. So to actually build the cast linked list,
24
+ * we find the array of casts associated with the type, and loop through it
25
+ * adding the casts to the list. The one last trick we need to do is making
26
+ * sure the type pointer in the swig_cast_info struct is correct.
27
+ *
28
+ * First off, we lookup the cast->type name to see if it is already loaded.
29
+ * There are three cases to handle:
30
+ * 1) If the cast->type has already been loaded AND the type we are adding
31
+ * casting info to has not been loaded (it is in this module), THEN we
32
+ * replace the cast->type pointer with the type pointer that has already
33
+ * been loaded.
34
+ * 2) If BOTH types (the one we are adding casting info to, and the
35
+ * cast->type) are loaded, THEN the cast info has already been loaded by
36
+ * the previous module so we just ignore it.
37
+ * 3) Finally, if cast->type has not already been loaded, then we add that
38
+ * swig_cast_info to the linked list (because the cast->type) pointer will
39
+ * be correct.
40
+ * ----------------------------------------------------------------------------- */
41
+
42
+ #ifdef __cplusplus
43
+ extern "C" {
44
+ #if 0
45
+ } /* c-mode */
46
+ #endif
47
+ #endif
48
+
49
+ #if 0
50
+ #define SWIGRUNTIME_DEBUG
51
+ #endif
52
+
53
+
54
+ SWIGRUNTIME void
55
+ SWIG_InitializeModule(void *clientdata) {
56
+ size_t i;
57
+ swig_module_info *module_head, *iter;
58
+ int found, init;
59
+
60
+ clientdata = clientdata;
61
+
62
+ // clear static variables for support reinitialization
63
+ #ifdef SWIG_rb_eNullReferenceError_defined
64
+ SWIG_rb_eNullReferenceError = Qnil;
65
+ #endif
66
+ #ifdef SWIG_rb_eObjectPreviouslyDeleted_defined
67
+ SWIG_rb_eObjectPreviouslyDeleted = Qnil;
68
+ #endif
69
+ //#ifdef _mSWIG_defined
70
+ // _mSWIG = Qnil;
71
+ //#endif
72
+ #ifdef _cSWIG_Pointer_defined
73
+ _cSWIG_Pointer = Qnil;
74
+ #endif
75
+ #ifdef swig_runtime_data_type_pointer_defined
76
+ swig_runtime_data_type_pointer = Qnil;
77
+ #endif
78
+ #ifdef swig_arity_id_defined
79
+ swig_arity_id = 0;
80
+ #endif
81
+ #ifdef swig_call_id_defined
82
+ swig_call_id = 0;
83
+ #endif
84
+ #ifdef swig_virtual_calls_defined
85
+ swig_virtual_calls = 0;
86
+ #endif
87
+ #ifdef swig_ruby_trackings_defined
88
+ swig_ruby_trackings = Qnil;
89
+ #endif
90
+ #ifdef swig_ruby_hash_delete_defined
91
+ swig_ruby_hash_delete = 0;
92
+ #endif
93
+
94
+
95
+ /* check to see if the circular list has been setup, if not, set it up */
96
+ if (swig_module.next==0) {
97
+ /* Initialize the swig_module */
98
+ swig_module.type_initial = swig_type_initial;
99
+ swig_module.cast_initial = swig_cast_initial;
100
+ swig_module.next = &swig_module;
101
+ init = 1;
102
+ } else {
103
+ init = 0;
104
+ }
105
+
106
+ /* Try and load any already created modules */
107
+ module_head = SWIG_GetModule(clientdata);
108
+ if (!module_head) {
109
+ /* This is the first module loaded for this interpreter */
110
+ /* so set the swig module into the interpreter */
111
+ SWIG_SetModule(clientdata, &swig_module);
112
+ module_head = &swig_module;
113
+ } else {
114
+ /* the interpreter has loaded a SWIG module, but has it loaded this one? */
115
+ found=0;
116
+ iter=module_head;
117
+ do {
118
+ if (iter==&swig_module) {
119
+ found=1;
120
+ break;
121
+ }
122
+ iter=iter->next;
123
+ } while (iter!= module_head);
124
+
125
+ /* if the is found in the list, then all is done and we may leave */
126
+ if (found) return;
127
+ /* otherwise we must add out module into the list */
128
+ swig_module.next = module_head->next;
129
+ module_head->next = &swig_module;
130
+ }
131
+
132
+ /* When multiple interpeters are used, a module could have already been initialized in
133
+ a different interpreter, but not yet have a pointer in this interpreter.
134
+ In this case, we do not want to continue adding types... everything should be
135
+ set up already */
136
+ if (init == 0) return;
137
+
138
+ /* Now work on filling in swig_module.types */
139
+ #ifdef SWIGRUNTIME_DEBUG
140
+ printf("SWIG_InitializeModule: size %d\n", swig_module.size);
141
+ #endif
142
+ for (i = 0; i < swig_module.size; ++i) {
143
+ swig_type_info *type = 0;
144
+ swig_type_info *ret;
145
+ swig_cast_info *cast;
146
+
147
+ #ifdef SWIGRUNTIME_DEBUG
148
+ printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
149
+ #endif
150
+
151
+ /* if there is another module already loaded */
152
+ if (swig_module.next != &swig_module) {
153
+ type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
154
+ }
155
+ if (type) {
156
+ /* Overwrite clientdata field */
157
+ #ifdef SWIGRUNTIME_DEBUG
158
+ printf("SWIG_InitializeModule: found type %s\n", type->name);
159
+ #endif
160
+ if (swig_module.type_initial[i]->clientdata) {
161
+ type->clientdata = swig_module.type_initial[i]->clientdata;
162
+ #ifdef SWIGRUNTIME_DEBUG
163
+ printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
164
+ #endif
165
+ }
166
+ } else {
167
+ type = swig_module.type_initial[i];
168
+ }
169
+
170
+ /* Insert casting types */
171
+ cast = swig_module.cast_initial[i];
172
+ while (cast->type) {
173
+
174
+ /* Don't need to add information already in the list */
175
+ ret = 0;
176
+ #ifdef SWIGRUNTIME_DEBUG
177
+ printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
178
+ #endif
179
+ if (swig_module.next != &swig_module) {
180
+ ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
181
+ #ifdef SWIGRUNTIME_DEBUG
182
+ if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
183
+ #endif
184
+ }
185
+ if (ret) {
186
+ if (type == swig_module.type_initial[i]) {
187
+ #ifdef SWIGRUNTIME_DEBUG
188
+ printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
189
+ #endif
190
+ cast->type = ret;
191
+ ret = 0;
192
+ } else {
193
+ /* Check for casting already in the list */
194
+ swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
195
+ #ifdef SWIGRUNTIME_DEBUG
196
+ if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
197
+ #endif
198
+ if (!ocast) ret = 0;
199
+ }
200
+ }
201
+
202
+ if (!ret) {
203
+ #ifdef SWIGRUNTIME_DEBUG
204
+ printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
205
+ #endif
206
+ if (type->cast) {
207
+ type->cast->prev = cast;
208
+ cast->next = type->cast;
209
+ }
210
+ type->cast = cast;
211
+ }
212
+ cast++;
213
+ }
214
+ /* Set entry in modules->types array equal to the type */
215
+ swig_module.types[i] = type;
216
+ }
217
+ swig_module.types[i] = 0;
218
+
219
+ #ifdef SWIGRUNTIME_DEBUG
220
+ printf("**** SWIG_InitializeModule: Cast List ******\n");
221
+ for (i = 0; i < swig_module.size; ++i) {
222
+ int j = 0;
223
+ swig_cast_info *cast = swig_module.cast_initial[i];
224
+ printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
225
+ while (cast->type) {
226
+ printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
227
+ cast++;
228
+ ++j;
229
+ }
230
+ printf("---- Total casts: %d\n",j);
231
+ }
232
+ printf("**** SWIG_InitializeModule: Cast List ******\n");
233
+ #endif
234
+ }
235
+
236
+ /* This function will propagate the clientdata field of type to
237
+ * any new swig_type_info structures that have been added into the list
238
+ * of equivalent types. It is like calling
239
+ * SWIG_TypeClientData(type, clientdata) a second time.
240
+ */
241
+ SWIGRUNTIME void
242
+ SWIG_PropagateClientData(void) {
243
+ size_t i;
244
+ swig_cast_info *equiv;
245
+ static int init_run = 0;
246
+
247
+ if (init_run) return;
248
+ init_run = 1;
249
+
250
+ for (i = 0; i < swig_module.size; i++) {
251
+ if (swig_module.types[i]->clientdata) {
252
+ equiv = swig_module.types[i]->cast;
253
+ while (equiv) {
254
+ if (!equiv->converter) {
255
+ if (equiv->type && !equiv->type->clientdata)
256
+ SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
257
+ }
258
+ equiv = equiv->next;
259
+ }
260
+ }
261
+ }
262
+ }
263
+
264
+ #ifdef __cplusplus
265
+ #if 0
266
+ { /* c-mode */
267
+ #endif
268
+ }
269
+ #endif