rhodes 2.1.0 → 2.2.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. data/CHANGELOG +7 -0
  2. data/README.textile +4 -5
  3. data/Rakefile +8 -1
  4. data/lib/build/jake.rb +22 -16
  5. data/lib/extensions/rhoxml/rexml/cdata.rb +67 -0
  6. data/lib/extensions/rhoxml/rexml/document.rb +2 -116
  7. data/lib/extensions/rhoxml/rexml/element.rb +1 -1
  8. data/lib/extensions/rhoxml/rexml/text.rb +117 -0
  9. data/lib/framework/rho/render.rb +19 -11
  10. data/lib/framework/rho/rho.rb +17 -10
  11. data/lib/framework/rho/rhobluetooth.rb +103 -0
  12. data/lib/framework/rho/rhocontroller.rb +2 -0
  13. data/lib/framework/rho/rhoevent.rb +43 -0
  14. data/lib/framework/rho/rhoevent_bb.rb +80 -0
  15. data/lib/framework/rho/rhoevent_c.rb +47 -0
  16. data/lib/framework/rhodes.rb +2 -2
  17. data/lib/framework/rhom/rhom_db_adapter.rb +2 -1
  18. data/lib/framework/rhom/rhom_model.rb +9 -3
  19. data/lib/framework/rhom/rhom_object_factory.rb +46 -22
  20. data/lib/framework/rhom/rhom_source.rb +12 -10
  21. data/lib/framework/version.rb +2 -2
  22. data/lib/rhodes.rb +2 -2
  23. data/platform/android/Rhodes/AndroidManifest.xml +23 -2
  24. data/platform/android/Rhodes/gen/com/rhomobile/rhodes/R.java +54 -38
  25. data/platform/android/Rhodes/jni/include/rhodes.h +3 -0
  26. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +2 -2
  27. data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +4 -0
  28. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +16 -0
  29. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_bluetooth_RhoBluetoothManager.h +21 -0
  30. data/platform/android/Rhodes/jni/src/bluetooth.cpp +169 -0
  31. data/platform/android/Rhodes/jni/src/callbacks.cpp +10 -0
  32. data/platform/android/Rhodes/jni/src/event.cpp +429 -0
  33. data/platform/android/Rhodes/jni/src/fileapi.cpp +51 -1
  34. data/platform/android/Rhodes/jni/src/rhodes.cpp +16 -0
  35. data/platform/android/Rhodes/jni/src/sslimpl.cpp +3 -0
  36. data/platform/android/Rhodes/res/layout/bt_device_list.xml +42 -0
  37. data/platform/android/Rhodes/res/layout/bt_device_name.xml +7 -0
  38. data/platform/android/Rhodes/res/values/strings.xml +8 -0
  39. data/platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java +14 -0
  40. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +2 -0
  41. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Push.java +7 -0
  42. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +58 -0
  43. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java +53 -0
  44. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +8 -0
  45. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +144 -3
  46. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/IRhoBluetoothManager.java +66 -0
  47. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java +201 -0
  48. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java +139 -0
  49. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerNew.java +401 -0
  50. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerOld.java +136 -0
  51. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothSession.java +457 -0
  52. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/UUIDHelper.java +71 -0
  53. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +12 -7
  54. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +19 -0
  55. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +261 -0
  56. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +4 -2
  57. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +2 -2
  58. data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/MailUriHandler.java +10 -2
  59. data/platform/android/build/RhodesSRC_build.files +33 -22
  60. data/platform/android/build/android.rake +198 -27
  61. data/platform/android/build/librhodes_build.files +3 -1
  62. data/platform/android/build/libruby_build.files +4 -1
  63. data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBResult.java +2 -2
  64. data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBRowResult.java +1 -1
  65. data/platform/bb/Hsqldb/src/org/hsqldb/Expression.java +7 -4
  66. data/platform/bb/Hsqldb/src/org/hsqldb/Like.java +3 -3
  67. data/platform/bb/Hsqldb/src/org/hsqldb/Table.java +3 -1
  68. data/platform/bb/Hsqldb/src/org/hsqldb/Tokenizer.java +1 -1
  69. data/platform/bb/RubyVM/RubyVM.jdp +1 -0
  70. data/platform/bb/RubyVM/src/com/rho/RhoConf.java +108 -1
  71. data/platform/bb/RubyVM/src/com/rho/RhoLogConf.java +7 -1
  72. data/platform/bb/RubyVM/src/com/rho/RhoRuby.java +7 -4
  73. data/platform/bb/RubyVM/src/com/rho/ThreadQueue.java +7 -1
  74. data/platform/bb/RubyVM/src/com/rho/net/AsyncHttp.java +1 -1
  75. data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +21 -23
  76. data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +19 -10
  77. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +8 -0
  78. data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +3 -0
  79. data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +14 -17
  80. data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyFile.java +7 -5
  81. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RhoSupport.java +2 -0
  82. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyRuntime.java +10 -1
  83. data/platform/bb/RubyVM/src/j2me/io/File.java +7 -6
  84. data/platform/bb/build/RubyVM_build.files +412 -412
  85. data/platform/bb/build/bb.rake +42 -18
  86. data/platform/bb/build/hsqldb_build.files +151 -151
  87. data/platform/bb/build/rhodes_build.files +44 -40
  88. data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +2 -0
  89. data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +237 -0
  90. data/platform/bb/rhodes/platform/common/com/rho/RhodesApplicationPlatform.java +14 -0
  91. data/platform/bb/rhodes/rhodes.jdp +6 -1
  92. data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +7 -1
  93. data/platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java +14 -0
  94. data/platform/bb/rhodes/src/com/rho/net/NetworkAccess.java +62 -76
  95. data/platform/bb/rhodes/src/com/rho/rubyext/RhoCalendar.java +660 -0
  96. data/platform/bb/rhodes/src/{rhomobile → com/rho/rubyext}/RhoPhonebook.java +95 -38
  97. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +22 -1
  98. data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +26 -6
  99. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -7
  100. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothManager.java +528 -0
  101. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothPort.java +281 -0
  102. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothScreen.java +119 -0
  103. data/platform/bb/rhodes/src/rhomobile/camera/CameraFilesListener.java +2 -2
  104. data/platform/iphone/Classes/AppManager/AppManager.m +70 -7
  105. data/platform/iphone/Classes/Bluetooth/Bluetooth.h +72 -0
  106. data/platform/iphone/Classes/Bluetooth/Bluetooth.m +414 -0
  107. data/platform/iphone/Classes/Event/Event.h +12 -0
  108. data/platform/iphone/Classes/Event/Event.m +300 -0
  109. data/platform/iphone/Classes/LogOptionsController.h +2 -1
  110. data/platform/iphone/Classes/LogOptionsController.m +1 -1
  111. data/platform/iphone/Classes/LogViewController.h +2 -1
  112. data/platform/iphone/Classes/MapView/MapViewController.h +2 -1
  113. data/platform/iphone/Classes/RhoViewController.h +16 -0
  114. data/platform/iphone/Classes/RhoViewController.m +20 -0
  115. data/platform/iphone/Classes/Rhodes.h +12 -0
  116. data/platform/iphone/Classes/Rhodes.m +34 -6
  117. data/platform/iphone/Classes/Signature/SignatureViewController.h +2 -2
  118. data/platform/iphone/Classes/Signature/SignatureViewController.m +0 -10
  119. data/platform/iphone/Classes/SimpleMainView.h +2 -2
  120. data/platform/iphone/Classes/SimpleMainView.m +5 -14
  121. data/platform/iphone/Classes/SplashViewController.h +2 -2
  122. data/platform/iphone/Classes/TabbedMainView.h +2 -2
  123. data/platform/iphone/Classes/TabbedMainView.m +5 -10
  124. data/platform/iphone/Info.plist +5 -5
  125. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +39 -0
  126. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +47 -4
  127. data/platform/osx/Rhodes Debugger/NoodleLineNumberView.m +3 -2
  128. data/platform/shared/common/AutoPointer.h +3 -0
  129. data/platform/shared/common/RhoConf.cpp +2 -1
  130. data/platform/shared/common/RhoThread.h +1 -1
  131. data/platform/shared/common/RhoTime.h +3 -3
  132. data/platform/shared/common/RhodesApp.cpp +75 -23
  133. data/platform/shared/common/RhodesApp.h +4 -0
  134. data/platform/shared/common/RhodesAppBase.h +2 -0
  135. data/platform/shared/common/ThreadQueue.cpp +23 -18
  136. data/platform/shared/common/ThreadQueue.h +2 -0
  137. data/platform/shared/db/res/db/syncdb.schema +39 -39
  138. data/platform/shared/logging/RhoLogConf.cpp +58 -3
  139. data/platform/shared/logging/RhoLogConf.h +3 -1
  140. data/platform/shared/net/CURLNetRequest.cpp +17 -6
  141. data/platform/shared/net/HttpServer.cpp +125 -25
  142. data/platform/shared/net/HttpServer.h +4 -3
  143. data/platform/shared/ruby/ext/bluetooth/bluetooth.i +56 -0
  144. data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +2563 -0
  145. data/platform/shared/ruby/ext/calendar/calendar.i +28 -0
  146. data/platform/shared/ruby/ext/calendar/calendar_wrap.c +2251 -0
  147. data/platform/shared/ruby/ext/calendar/event.h +41 -0
  148. data/platform/shared/ruby/ext/calendar/event.i +28 -0
  149. data/platform/shared/ruby/ext/calendar/event_wrap.c +2151 -0
  150. data/platform/shared/ruby/ext/rho/rhoruby.c +103 -3
  151. data/platform/shared/ruby/ext/rho/rhoruby.h +16 -2
  152. data/platform/shared/ruby/ext/rhoconf/rhoconf.i +12 -0
  153. data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +101 -0
  154. data/platform/shared/ruby/ext/system/system.i +14 -0
  155. data/platform/shared/ruby/ext/system/system_wrap.c +2568 -2208
  156. data/platform/shared/ruby/main.c +8 -0
  157. data/platform/shared/rubyext/GeoLocation.cpp +6 -3
  158. data/platform/shared/rubyext/System.cpp +14 -0
  159. data/platform/shared/sync/SyncEngine.cpp +9 -1
  160. data/platform/shared/sync/SyncNotify.cpp +16 -8
  161. data/platform/shared/sync/SyncNotify.h +1 -0
  162. data/platform/shared/sync/SyncThread.cpp +7 -12
  163. data/platform/shared/sync/SyncThread.h +5 -3
  164. data/platform/wm/build/wm.rake +7 -1
  165. data/platform/wm/rhodes/Alert.cpp +1 -1
  166. data/platform/wm/rhodes/MainWindow.cpp +28 -0
  167. data/platform/wm/rhodes/MainWindow.h +9 -0
  168. data/platform/wm/rhodes/OutlookApp.cpp +72 -0
  169. data/platform/wm/rhodes/OutlookApp.h +22 -0
  170. data/platform/wm/rhodes/Rhodes.cpp +8 -0
  171. data/platform/wm/rhodes/Rhodes.rc +31 -0
  172. data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +1274 -0
  173. data/platform/wm/rhodes/bluetooth/Bluetooth.h +321 -0
  174. data/platform/wm/rhodes/phonebook/NativeAddressBook.cpp +37 -70
  175. data/platform/wm/rhodes/phonebook/NativeAddressBook.h +0 -4
  176. data/platform/wm/rhodes/resource.h +8 -1
  177. data/platform/wm/rhodes/rho/net/NetRequest.cpp +4 -0
  178. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -4
  179. data/platform/wm/rhodes/rho/rubyext/calendar.cpp +487 -0
  180. data/platform/wm/rhodes/rhodes.vcproj +28 -11
  181. data/platform/wm/rhodes/stdafx.h +1 -0
  182. data/platform/wm/rubylib/rubylib.vcproj +32 -0
  183. data/rakefile.rb +8 -1
  184. data/res/generators/templates/application/Rakefile +1 -1
  185. data/res/generators/templates/application/app/layout.erb +4 -1
  186. data/res/generators/templates/application/build.yml +0 -1
  187. data/res/generators/templates/application/public/css/iphone.css +2 -2
  188. data/res/generators/templates/application/public/jqtouch/jqtouch-iphone.css +9 -0
  189. data/res/generators/templates/application/public/jqtouch/jqtouch.css +1 -5
  190. data/res/generators/templates/application/public/jqtouch/jqtouch.js +3 -2
  191. data/rhodes.gemspec +1 -1
  192. data/spec/perfomance_spec/app/Benchmark/benchmark.rb +4 -0
  193. data/spec/perfomance_spec/app/Benchmark/bulk_results.erb +13 -0
  194. data/spec/perfomance_spec/app/Benchmark/controller.rb +178 -0
  195. data/spec/perfomance_spec/app/Benchmark/create_results.erb +13 -0
  196. data/spec/perfomance_spec/app/Benchmark/customers.erb +35 -0
  197. data/spec/perfomance_spec/app/Benchmark/index.erb +9 -0
  198. data/spec/perfomance_spec/app/Benchmark/products.erb +25 -0
  199. data/spec/perfomance_spec/app/Benchmark/search_results.erb +13 -0
  200. data/spec/perfomance_spec/app/Customer/customer.rb +6 -0
  201. data/spec/perfomance_spec/app/Perftest/index.erb +5 -0
  202. data/spec/perfomance_spec/app/Product/index.erb +25 -0
  203. data/spec/perfomance_spec/app/Product/product.rb +6 -0
  204. data/spec/perfomance_spec/app/helpers/application_helper.rb +126 -0
  205. data/spec/perfomance_spec/app/helpers/browser_helper.rb +18 -0
  206. data/spec/perfomance_spec/rhoconfig.txt +1 -1
  207. data/spec/phone_spec/app/Account_s/account_s.rb +5 -2
  208. data/spec/phone_spec/app/Case/case.rb +1 -0
  209. data/spec/phone_spec/app/Case_s/case_s.rb +2 -0
  210. data/spec/phone_spec/app/Data/perftest.json +35 -0
  211. data/spec/phone_spec/app/Data/testCDATA.xml +11 -0
  212. data/spec/phone_spec/app/Product/product.rb +1 -1
  213. data/spec/phone_spec/app/{Spec → spec}/asynchttp_spec.rb +66 -17
  214. data/spec/phone_spec/app/{Spec → spec}/barcode_spec.rb +0 -0
  215. data/spec/phone_spec/app/{Spec → spec}/blobsync_spec.rb +0 -0
  216. data/spec/phone_spec/app/{Spec → spec}/bsearch_spec.rb +0 -0
  217. data/spec/phone_spec/app/{Spec → spec}/bulksync_spec.rb +0 -0
  218. data/spec/phone_spec/app/{Spec → spec}/contacts_spec.rb +0 -0
  219. data/spec/phone_spec/app/{Spec → spec}/crypt_spec.rb +0 -0
  220. data/spec/phone_spec/app/{Spec → spec}/date_spec.rb +0 -0
  221. data/spec/phone_spec/app/spec/events_spec.rb +199 -0
  222. data/spec/phone_spec/app/{Spec → spec}/fixtures/client_info.txt +0 -0
  223. data/spec/phone_spec/app/{Spec → spec}/fixtures/object_values.txt +0 -0
  224. data/spec/phone_spec/app/{Spec → spec}/json_spec.rb +11 -2
  225. data/spec/phone_spec/app/{Spec → spec}/mapview_spec.rb +0 -0
  226. data/spec/phone_spec/app/{Spec → spec}/nativebar_spec.rb +0 -0
  227. data/spec/phone_spec/app/{Spec → spec}/navbar_spec.rb +0 -0
  228. data/spec/phone_spec/app/{Spec → spec}/pagination/fixtures/object_values.txt +0 -0
  229. data/spec/phone_spec/app/{Spec → spec}/rho_controller_spec.rb +5 -0
  230. data/spec/phone_spec/app/{Spec → spec}/rho_spec.rb +48 -0
  231. data/spec/phone_spec/app/{Spec → spec}/rhofile_spec.rb +9 -6
  232. data/spec/phone_spec/app/{Spec → spec}/rhom_object_spec.rb +188 -9
  233. data/spec/phone_spec/app/{Spec → spec}/syncengine_spec.rb +0 -0
  234. data/spec/phone_spec/app/{Spec → spec}/xml_spec.rb +15 -0
  235. data/spec/phone_spec/app/{Spec → spec}/xruby_spec.rb +0 -0
  236. data/spec/phone_spec/app/spec_runner.rb +4 -1
  237. data/spec/phone_spec/build.yml +2 -1
  238. metadata +95 -31
  239. data/platform/bb/rhodes/platform/5.0/com/rho/RhoMainScreen.java +0 -36
  240. data/platform/bb/rhodes/platform/6.0/com/rho/BrowserAdapter5.java +0 -155
  241. data/platform/bb/rhodes/platform/6.0/com/rho/RhoMainScreen.java +0 -36
@@ -8,10 +8,11 @@
8
8
 
9
9
  #import <UIKit/UIKit.h>
10
10
  #import "RhoMainView.h"
11
+ #import "RhoViewController.h"
11
12
 
12
13
  @class SignatureDelegate;
13
14
 
14
- @interface SignatureViewController : UIViewController {
15
+ @interface SignatureViewController : RhoViewController {
15
16
  UIView *signatureView;
16
17
  UIToolbar *toolbar;
17
18
  SignatureDelegate* signatureDelegate;
@@ -19,7 +20,6 @@
19
20
 
20
21
  - (id)initWithRect:(CGRect)rect delegate:(SignatureDelegate*)delegate;
21
22
 
22
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
23
23
  - (void)loadView;
24
24
 
25
25
  @end
@@ -117,16 +117,6 @@
117
117
  //*/
118
118
 
119
119
 
120
- ///*
121
- // Override to allow orientations other than the default portrait orientation.
122
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
123
- // Return YES for supported orientations
124
- //return (interfaceOrientation == UIInterfaceOrientationPortrait);
125
- return YES;
126
- }
127
- //*/
128
-
129
-
130
120
  - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
131
121
  // [signatureView setNeedsDisplay];
132
122
  }
@@ -8,9 +8,10 @@
8
8
 
9
9
  #import <UIKit/UIKit.h>
10
10
  #import "RhoMainView.h"
11
+ #import "RhoViewController.h"
11
12
  #include "RhoNativeViewManagerOC.h"
12
13
 
13
- @interface SimpleMainView : UIViewController <RhoMainView, UIWebViewDelegate> {
14
+ @interface SimpleMainView : RhoViewController <RhoMainView, UIWebViewDelegate> {
14
15
 
15
16
  UIWebView *webView;
16
17
  UIToolbar *toolbar;
@@ -31,7 +32,6 @@
31
32
  - (id)initWithMainView:(id<RhoMainView>)v parent:(UIWindow*)p toolbar:(NSArray*)items;
32
33
  - (id)initWithParentView:(UIView *)p frame:(CGRect)frame;
33
34
 
34
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
35
35
  - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;
36
36
  - (void)loadView;
37
37
 
@@ -251,7 +251,7 @@ int rho_sys_get_screen_height();
251
251
  w.autoresizesSubviews = YES;
252
252
  w.clipsToBounds = NO;
253
253
  w.dataDetectorTypes = UIDataDetectorTypeNone;
254
- //w.delegate = self;
254
+ w.delegate = self;
255
255
  w.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
256
256
  w.tag = RHO_TAG_WEBVIEW;
257
257
 
@@ -394,14 +394,6 @@ int rho_sys_get_screen_height();
394
394
  rho_rhodesapp_callScreenRotationCallback(width, height, angle);
395
395
  }
396
396
 
397
-
398
-
399
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
400
- // custom rotation code based on interfaceOrientation here...
401
- return YES;
402
- }
403
-
404
-
405
397
  - (id)initWithParentView:(UIView *)p frame:(CGRect)frame toolbar:(NSArray*)items {
406
398
  return [self init:p webView:nil frame:frame toolbar:items];
407
399
  }
@@ -437,10 +429,9 @@ int rho_sys_get_screen_height();
437
429
  if (nativeView) {
438
430
  [root addSubview:[nativeView getView]];
439
431
  }
440
- else {
441
- if (webView)
442
- [root addSubview:webView];
443
- webView.delegate = self;
432
+ else if (webView) {
433
+ [root addSubview:webView];
434
+ webView.delegate = self;
444
435
  }
445
436
  assert(!nativeView || [nativeView retainCount] == 2);
446
437
  assert(!webView || [webView retainCount] == 2);
@@ -461,7 +452,7 @@ int rho_sys_get_screen_height();
461
452
  }
462
453
 
463
454
  - (void)dealloc {
464
- webView.delegate = nil;
455
+ webView.delegate = nil;
465
456
  nativeView = nil;
466
457
  nativeViewView = nil;
467
458
  self.webView = nil;
@@ -7,9 +7,9 @@
7
7
  //
8
8
 
9
9
  #import <UIKit/UIKit.h>
10
+ #import "RhoViewController.h"
10
11
 
11
-
12
- @interface SplashViewController : UIViewController {
12
+ @interface SplashViewController : RhoViewController {
13
13
  IBOutlet UIImageView *splashView;
14
14
 
15
15
  @public
@@ -8,8 +8,9 @@
8
8
 
9
9
  #import <UIKit/UIKit.h>
10
10
  #import "RhoMainView.h"
11
+ #import "RhoViewController.h"
11
12
 
12
- @interface TabbedMainView : UIViewController<RhoMainView> {
13
+ @interface TabbedMainView : RhoViewController<RhoMainView> {
13
14
  UITabBarController *tabbar;
14
15
  NSArray *tabbarData;
15
16
  int tabindex;
@@ -20,6 +21,5 @@
20
21
  @property (nonatomic,assign) int tabindex;
21
22
 
22
23
  - (id)initWithMainView:(id<RhoMainView>)v parent:(UIWindow*)p tabs:(NSArray*)items;
23
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
24
24
 
25
25
  @end
@@ -10,7 +10,9 @@
10
10
  #import "SimpleMainView.h"
11
11
  #import "Rhodes.h"
12
12
  #import "AppManager.h"
13
- #import "logging/RhoLog.h"
13
+
14
+ #include "common/RhodesApp.h"
15
+ #include "logging/RhoLog.h"
14
16
 
15
17
  #undef DEFAULT_LOGCATEGORY
16
18
  #define DEFAULT_LOGCATEGORY "TabbedMainView"
@@ -54,14 +56,6 @@
54
56
 
55
57
  @synthesize tabbar, tabbarData, tabindex;
56
58
 
57
-
58
-
59
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
60
- // custom rotation code based on interfaceOrientation here...
61
- return YES;
62
- }
63
-
64
-
65
59
  - (id)initWithMainView:(id<RhoMainView>)v parent:(UIWindow*)p tabs:(NSArray *)items {
66
60
  CGRect frame = [[v view] frame];
67
61
 
@@ -201,7 +195,8 @@
201
195
  tabindex = tabbar.selectedIndex;
202
196
  RhoTabBarData *td = [self tabData:tabindex];
203
197
  if (!td.loaded || td.reload) {
204
- [self navigateRedirect:td.url tab:tabindex];
198
+ const char *s = [td.url UTF8String];
199
+ rho_rhodesapp_load_url(s);
205
200
  td.loaded = YES;
206
201
  }
207
202
  }
@@ -12,12 +12,12 @@
12
12
  <string>icon.png</string>
13
13
  <key>CFBundleIconFiles</key>
14
14
  <array>
15
- <string>icon57</string>
16
- <string>icon72</string>
17
- <string>icon114</string>
15
+ <string>icon57.png</string>
16
+ <string>icon72.png</string>
17
+ <string>icon114.png</string>
18
18
  </array>
19
19
  <key>CFBundleIdentifier</key>
20
- <string>com.rhomobile.rhosyncclient</string>
20
+ <string>com.rhomobile.brian</string>
21
21
  <key>CFBundleInfoDictionaryVersion</key>
22
22
  <string>6.0</string>
23
23
  <key>CFBundleName</key>
@@ -27,7 +27,7 @@
27
27
  <key>CFBundleSignature</key>
28
28
  <string>????</string>
29
29
  <key>CFBundleVersion</key>
30
- <string>2.1.0</string>
30
+ <string>2.2.0</string>
31
31
  <key>LSRequiresIPhoneOS</key>
32
32
  <true/>
33
33
  </dict>
@@ -22,6 +22,9 @@
22
22
  5CF8DBCA10B1D45C00247AB4 /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = 5CF8DBC410B1D45C00247AB4 /* socket.c */; };
23
23
  5CF8DBCB10B1D45C00247AB4 /* sockport.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CF8DBC510B1D45C00247AB4 /* sockport.h */; };
24
24
  BD28516111608C9A003DE4E9 /* ringtones_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = BD28516011608C9A003DE4E9 /* ringtones_wrap.c */; };
25
+ BD807BB01259E25A00A4E4B2 /* calendar_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = BD807BAF1259E25A00A4E4B2 /* calendar_wrap.c */; };
26
+ BD807BC31259E37900A4E4B2 /* event_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = BD807BC11259E37900A4E4B2 /* event_wrap.c */; };
27
+ BD807BC41259E37900A4E4B2 /* event.h in Headers */ = {isa = PBXBuildFile; fileRef = BD807BC21259E37900A4E4B2 /* event.h */; };
25
28
  BD9E5E101186B44B0053049C /* navbar_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = BD9E5E0F1186B44B0053049C /* navbar_wrap.c */; };
26
29
  D38F7B5F110647510030B1F4 /* extensions.c in Sources */ = {isa = PBXBuildFile; fileRef = D38F7B5E110647510030B1F4 /* extensions.c */; };
27
30
  F51668800FFD39D80079F023 /* alert_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = F516687F0FFD39D80079F023 /* alert_wrap.c */; };
@@ -116,6 +119,7 @@
116
119
  F5E363080EB7A0DB00226287 /* newline.c in Sources */ = {isa = PBXBuildFile; fileRef = F5E363070EB7A0DB00226287 /* newline.c */; };
117
120
  F5FD0A3D10619E7900B7B8ED /* mapview_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = F5FD0A3C10619E7900B7B8ED /* mapview_wrap.c */; };
118
121
  FA291E8911FF2BF90096AC39 /* signature_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = FA291E8811FF2BF90096AC39 /* signature_wrap.c */; };
122
+ FACC2099123A5F300088A447 /* bluetooth_wrap.c in Sources */ = {isa = PBXBuildFile; fileRef = FACC2098123A5F300088A447 /* bluetooth_wrap.c */; };
119
123
  /* End PBXBuildFile section */
120
124
 
121
125
  /* Begin PBXFileReference section */
@@ -134,6 +138,9 @@
134
138
  5CF8DBC410B1D45C00247AB4 /* socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = socket.c; path = ext/socket/socket.c; sourceTree = "<group>"; };
135
139
  5CF8DBC510B1D45C00247AB4 /* sockport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sockport.h; path = ext/socket/sockport.h; sourceTree = "<group>"; };
136
140
  BD28516011608C9A003DE4E9 /* ringtones_wrap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ringtones_wrap.c; path = ext/ringtones/ringtones_wrap.c; sourceTree = "<group>"; };
141
+ BD807BAF1259E25A00A4E4B2 /* calendar_wrap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = calendar_wrap.c; path = ext/calendar/calendar_wrap.c; sourceTree = "<group>"; };
142
+ BD807BC11259E37900A4E4B2 /* event_wrap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = event_wrap.c; path = ext/calendar/event_wrap.c; sourceTree = "<group>"; };
143
+ BD807BC21259E37900A4E4B2 /* event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = event.h; path = ext/calendar/event.h; sourceTree = "<group>"; };
137
144
  BD9E5E0F1186B44B0053049C /* navbar_wrap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = navbar_wrap.c; path = ext/navbar/navbar_wrap.c; sourceTree = "<group>"; };
138
145
  D2AAC046055464E500DB518D /* librhorubylib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = librhorubylib.a; sourceTree = BUILT_PRODUCTS_DIR; };
139
146
  D38F7B5E110647510030B1F4 /* extensions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = extensions.c; path = ext/rho/extensions.c; sourceTree = "<group>"; };
@@ -229,6 +236,7 @@
229
236
  F5E363070EB7A0DB00226287 /* newline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = newline.c; path = ../../shared/ruby/newline.c; sourceTree = SOURCE_ROOT; };
230
237
  F5FD0A3C10619E7900B7B8ED /* mapview_wrap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mapview_wrap.c; path = ../../shared/ruby/ext/mapview/mapview_wrap.c; sourceTree = SOURCE_ROOT; };
231
238
  FA291E8811FF2BF90096AC39 /* signature_wrap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = signature_wrap.c; path = ext/signature/signature_wrap.c; sourceTree = "<group>"; };
239
+ FACC2098123A5F300088A447 /* bluetooth_wrap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bluetooth_wrap.c; path = ext/bluetooth/bluetooth_wrap.c; sourceTree = "<group>"; };
232
240
  /* End PBXFileReference section */
233
241
 
234
242
  /* Begin PBXFrameworksBuildPhase section */
@@ -341,6 +349,16 @@
341
349
  name = navbar;
342
350
  sourceTree = "<group>";
343
351
  };
352
+ BDB09B76124FB14C004B628C /* calendar */ = {
353
+ isa = PBXGroup;
354
+ children = (
355
+ BD807BC11259E37900A4E4B2 /* event_wrap.c */,
356
+ BD807BC21259E37900A4E4B2 /* event.h */,
357
+ BD807BAF1259E25A00A4E4B2 /* calendar_wrap.c */,
358
+ );
359
+ name = calendar;
360
+ sourceTree = "<group>";
361
+ };
344
362
  C6A0FF2B0290797F04C91782 /* Documentation */ = {
345
363
  isa = PBXGroup;
346
364
  children = (
@@ -479,6 +497,8 @@
479
497
  F5E360B00EB6A63B00226287 /* ext */ = {
480
498
  isa = PBXGroup;
481
499
  children = (
500
+ FACC2097123A5F0B0088A447 /* bluetooth */,
501
+ BDB09B76124FB14C004B628C /* calendar */,
482
502
  FA291E8011FF2A5F0096AC39 /* signature */,
483
503
  5C8EE86311220EBB0005C20D /* asynchttp */,
484
504
  5CF8DBBE10B1D40400247AB4 /* socket */,
@@ -595,6 +615,14 @@
595
615
  name = signature;
596
616
  sourceTree = "<group>";
597
617
  };
618
+ FACC2097123A5F0B0088A447 /* bluetooth */ = {
619
+ isa = PBXGroup;
620
+ children = (
621
+ FACC2098123A5F300088A447 /* bluetooth_wrap.c */,
622
+ );
623
+ name = bluetooth;
624
+ sourceTree = "<group>";
625
+ };
598
626
  /* End PBXGroup section */
599
627
 
600
628
  /* Begin PBXHeadersBuildPhase section */
@@ -623,6 +651,7 @@
623
651
  5CF8DBC610B1D45C00247AB4 /* addrinfo.h in Headers */,
624
652
  5CF8DBC710B1D45C00247AB4 /* constants.h in Headers */,
625
653
  5CF8DBCB10B1D45C00247AB4 /* sockport.h in Headers */,
654
+ BD807BC41259E37900A4E4B2 /* event.h in Headers */,
626
655
  );
627
656
  runOnlyForDeploymentPostprocessing = 0;
628
657
  };
@@ -653,7 +682,14 @@
653
682
  isa = PBXProject;
654
683
  buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "rhorubylib" */;
655
684
  compatibilityVersion = "Xcode 3.1";
685
+ developmentRegion = English;
656
686
  hasScannedForEncodings = 1;
687
+ knownRegions = (
688
+ English,
689
+ Japanese,
690
+ French,
691
+ German,
692
+ );
657
693
  mainGroup = 08FB7794FE84155DC02AAC07 /* rhorubylib */;
658
694
  projectDirPath = "";
659
695
  projectRoot = "";
@@ -756,6 +792,9 @@
756
792
  BD9E5E101186B44B0053049C /* navbar_wrap.c in Sources */,
757
793
  FA291E8911FF2BF90096AC39 /* signature_wrap.c in Sources */,
758
794
  5C40CF66122703E6007298DA /* sqlite3_api_wrap.c in Sources */,
795
+ FACC2099123A5F300088A447 /* bluetooth_wrap.c in Sources */,
796
+ BD807BB01259E25A00A4E4B2 /* calendar_wrap.c in Sources */,
797
+ BD807BC31259E37900A4E4B2 /* event_wrap.c in Sources */,
759
798
  );
760
799
  runOnlyForDeploymentPostprocessing = 0;
761
800
  };
@@ -26,7 +26,10 @@
26
26
  5C53337B0FC1B20000F268F0 /* NetRequestImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C5333790FC1B20000F268F0 /* NetRequestImpl.m */; };
27
27
  BD38E6DC115CFF14001CE05C /* WebView.m in Sources */ = {isa = PBXBuildFile; fileRef = BD38E6DB115CFF14001CE05C /* WebView.m */; };
28
28
  BD38E755115D1AAC001CE05C /* TabbedMainView.m in Sources */ = {isa = PBXBuildFile; fileRef = BD38E754115D1AAC001CE05C /* TabbedMainView.m */; };
29
+ BD486F59124FB66600F8A93F /* Event.m in Sources */ = {isa = PBXBuildFile; fileRef = BD486F58124FB66600F8A93F /* Event.m */; };
30
+ BD486FE212505FE000F8A93F /* EventKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BD486FE112505FE000F8A93F /* EventKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
29
31
  BD5B744B113BE2DB00C6070A /* SplashViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BD5B7449113BE2DB00C6070A /* SplashViewController.m */; };
32
+ BD6A622A123E46BB0093E03C /* RhoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BD6A6229123E46BB0093E03C /* RhoViewController.m */; };
30
33
  BD97AC211160EE8F006960F9 /* RhoAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = BD97AC201160EE8F006960F9 /* RhoAlert.m */; };
31
34
  BD97AC3F1160F8A5006960F9 /* RingtoneManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BD97AC3E1160F8A5006960F9 /* RingtoneManager.m */; };
32
35
  BD97ACA711610666006960F9 /* DateTimePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = BD97ACA611610666006960F9 /* DateTimePicker.m */; };
@@ -69,6 +72,8 @@
69
72
  FA291E9811FF2EF70096AC39 /* SignatureDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FA291E9511FF2EF70096AC39 /* SignatureDelegate.m */; };
70
73
  FA291E9911FF2EF70096AC39 /* SignatureViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FA291E9711FF2EF70096AC39 /* SignatureViewController.m */; };
71
74
  FA4981B511FFC53C00488CB2 /* SignatureView.m in Sources */ = {isa = PBXBuildFile; fileRef = FA4981B411FFC53C00488CB2 /* SignatureView.m */; };
75
+ FACC20CA123A60F40088A447 /* Bluetooth.m in Sources */ = {isa = PBXBuildFile; fileRef = FACC20C9123A60F40088A447 /* Bluetooth.m */; };
76
+ FACC2100123A759A0088A447 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FACC20FF123A759A0088A447 /* GameKit.framework */; };
72
77
  FAD45E8E122566CB00141873 /* RhoNativeViewManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = FAD45E8D122566CB00141873 /* RhoNativeViewManager.mm */; };
73
78
  /* End PBXBuildFile section */
74
79
 
@@ -176,8 +181,13 @@
176
181
  BD38E6DB115CFF14001CE05C /* WebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebView.m; sourceTree = "<group>"; };
177
182
  BD38E753115D1AAC001CE05C /* TabbedMainView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TabbedMainView.h; sourceTree = "<group>"; };
178
183
  BD38E754115D1AAC001CE05C /* TabbedMainView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TabbedMainView.m; sourceTree = "<group>"; };
184
+ BD486F57124FB66600F8A93F /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Event.h; path = Event/Event.h; sourceTree = "<group>"; };
185
+ BD486F58124FB66600F8A93F /* Event.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Event.m; path = Event/Event.m; sourceTree = "<group>"; };
186
+ BD486FE112505FE000F8A93F /* EventKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EventKit.framework; path = System/Library/Frameworks/EventKit.framework; sourceTree = SDKROOT; };
179
187
  BD5B7448113BE2DB00C6070A /* SplashViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SplashViewController.h; sourceTree = "<group>"; };
180
188
  BD5B7449113BE2DB00C6070A /* SplashViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SplashViewController.m; sourceTree = "<group>"; };
189
+ BD6A6228123E46BB0093E03C /* RhoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhoViewController.h; sourceTree = "<group>"; };
190
+ BD6A6229123E46BB0093E03C /* RhoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RhoViewController.m; sourceTree = "<group>"; };
181
191
  BD72CCE4112D629F003B7D27 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
182
192
  BD97AC1F1160EE8F006960F9 /* RhoAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhoAlert.h; sourceTree = "<group>"; };
183
193
  BD97AC201160EE8F006960F9 /* RhoAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RhoAlert.m; sourceTree = "<group>"; };
@@ -241,6 +251,9 @@
241
251
  FA291E9711FF2EF70096AC39 /* SignatureViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SignatureViewController.m; path = Signature/SignatureViewController.m; sourceTree = "<group>"; };
242
252
  FA4981B311FFC53C00488CB2 /* SignatureView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SignatureView.h; path = Signature/SignatureView.h; sourceTree = "<group>"; };
243
253
  FA4981B411FFC53C00488CB2 /* SignatureView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SignatureView.m; path = Signature/SignatureView.m; sourceTree = "<group>"; };
254
+ FACC20C8123A60F40088A447 /* Bluetooth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Bluetooth.h; path = Bluetooth/Bluetooth.h; sourceTree = "<group>"; };
255
+ FACC20C9123A60F40088A447 /* Bluetooth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Bluetooth.m; path = Bluetooth/Bluetooth.m; sourceTree = "<group>"; };
256
+ FACC20FF123A759A0088A447 /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
244
257
  FAD45E8D122566CB00141873 /* RhoNativeViewManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RhoNativeViewManager.mm; sourceTree = "<group>"; };
245
258
  FAD45EAF122571EE00141873 /* RhoNativeViewManagerOC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhoNativeViewManagerOC.h; sourceTree = "<group>"; };
246
259
  /* End PBXFileReference section */
@@ -268,6 +281,8 @@
268
281
  BDA4BAA0109A347400467AB9 /* libz.dylib in Frameworks */,
269
282
  46AD7DB31117AFB9009A974A /* MapKit.framework in Frameworks */,
270
283
  46AD7DB71117AFBF009A974A /* CFNetwork.framework in Frameworks */,
284
+ FACC2100123A759A0088A447 /* GameKit.framework in Frameworks */,
285
+ BD486FE212505FE000F8A93F /* EventKit.framework in Frameworks */,
271
286
  );
272
287
  runOnlyForDeploymentPostprocessing = 0;
273
288
  };
@@ -277,15 +292,16 @@
277
292
  080E96DDFE201D6D7F000001 /* Classes */ = {
278
293
  isa = PBXGroup;
279
294
  children = (
280
- FA291E9111FF2CAD0096AC39 /* Signature */,
281
295
  BDC6F34611F4ABBF0056C1C3 /* icon57.png */,
282
296
  BDC6F34711F4ABBF0056C1C3 /* icon72.png */,
283
297
  BDC6F34811F4ABBF0056C1C3 /* icon114.png */,
284
298
  BDFBD9A610B1BA2000BAAFAB /* icon.png */,
285
299
  BD97AC1E1160EE7A006960F9 /* Alert */,
300
+ FACC20C4123A60800088A447 /* Bluetooth */,
286
301
  F579170F0E8AB2A200BBC54D /* AppManager */,
287
302
  F5B8FAD10F44E95F00C9AF85 /* Camera */,
288
303
  46056CEE1031CFB700C21967 /* DateTimePicker */,
304
+ BD486F50124FB61800F8A93F /* Event */,
289
305
  F563D0310EA5408C0062DA57 /* GeoLocation */,
290
306
  F547F3D10F9CEB05007C2CD2 /* Log */,
291
307
  BDB3735D11441FE0006EA6DA /* MainView */,
@@ -295,6 +311,7 @@
295
311
  F58E7FD80F008A2300E46829 /* Phonebook */,
296
312
  5C5332610FBD6AC700F268F0 /* rho */,
297
313
  BD97AC3C1160F87D006960F9 /* Ringtones */,
314
+ FA291E9111FF2CAD0096AC39 /* Signature */,
298
315
  F56DF8D40E8D81FD00F6CBE8 /* Utils */,
299
316
  BD38E76D115D1C3C001CE05C /* WebView */,
300
317
  46C25E39103240A400A26428 /* RhoDelegate.h */,
@@ -303,6 +320,8 @@
303
320
  BDB373C411444A8F006EA6DA /* Rhodes.m */,
304
321
  BD5B7448113BE2DB00C6070A /* SplashViewController.h */,
305
322
  BD5B7449113BE2DB00C6070A /* SplashViewController.m */,
323
+ BD6A6228123E46BB0093E03C /* RhoViewController.h */,
324
+ BD6A6229123E46BB0093E03C /* RhoViewController.m */,
306
325
  );
307
326
  path = Classes;
308
327
  sourceTree = "<group>";
@@ -333,6 +352,8 @@
333
352
  19C28FACFE9D520D11CA2CBB /* Products */,
334
353
  46AD7DB21117AFB9009A974A /* MapKit.framework */,
335
354
  46AD7DB61117AFBF009A974A /* CFNetwork.framework */,
355
+ FACC20FF123A759A0088A447 /* GameKit.framework */,
356
+ BD486FE112505FE000F8A93F /* EventKit.framework */,
336
357
  );
337
358
  name = CustomTemplate;
338
359
  sourceTree = "<group>";
@@ -452,6 +473,15 @@
452
473
  name = WebView;
453
474
  sourceTree = "<group>";
454
475
  };
476
+ BD486F50124FB61800F8A93F /* Event */ = {
477
+ isa = PBXGroup;
478
+ children = (
479
+ BD486F57124FB66600F8A93F /* Event.h */,
480
+ BD486F58124FB66600F8A93F /* Event.m */,
481
+ );
482
+ name = Event;
483
+ sourceTree = "<group>";
484
+ };
455
485
  BD97AC1E1160EE7A006960F9 /* Alert */ = {
456
486
  isa = PBXGroup;
457
487
  children = (
@@ -602,6 +632,15 @@
602
632
  name = Signature;
603
633
  sourceTree = "<group>";
604
634
  };
635
+ FACC20C4123A60800088A447 /* Bluetooth */ = {
636
+ isa = PBXGroup;
637
+ children = (
638
+ FACC20C8123A60F40088A447 /* Bluetooth.h */,
639
+ FACC20C9123A60F40088A447 /* Bluetooth.m */,
640
+ );
641
+ name = Bluetooth;
642
+ sourceTree = "<group>";
643
+ };
605
644
  /* End PBXGroup section */
606
645
 
607
646
  /* Begin PBXNativeTarget section */
@@ -638,6 +677,7 @@
638
677
  isa = PBXProject;
639
678
  buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "rhorunner" */;
640
679
  compatibilityVersion = "Xcode 3.1";
680
+ developmentRegion = English;
641
681
  hasScannedForEncodings = 1;
642
682
  knownRegions = (
643
683
  English,
@@ -830,6 +870,9 @@
830
870
  5C0D0A32121D28BF0022E83C /* sslimpl.cpp in Sources */,
831
871
  5C0D0C0D121D337A0022E83C /* RhoThreadImpl.m in Sources */,
832
872
  FAD45E8E122566CB00141873 /* RhoNativeViewManager.mm in Sources */,
873
+ BD6A622A123E46BB0093E03C /* RhoViewController.m in Sources */,
874
+ FACC20CA123A60F40088A447 /* Bluetooth.m in Sources */,
875
+ BD486F59124FB66600F8A93F /* Event.m in Sources */,
833
876
  );
834
877
  runOnlyForDeploymentPostprocessing = 0;
835
878
  };
@@ -894,7 +937,7 @@
894
937
  SDKROOT = iphonesimulator4.0;
895
938
  STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
896
939
  TARGETED_DEVICE_FAMILY = "1,2";
897
- USER_HEADER_SEARCH_PATHS = "../shared/curl/include ../shared/ ../shared/syncengine ../shared/logging ../shared/common rhoextlib";
940
+ USER_HEADER_SEARCH_PATHS = "../shared/ruby/iphone ../shared/ruby/include ../shared/curl/include ../shared/ ../shared/syncengine ../shared/logging ../shared/common rhoextlib";
898
941
  };
899
942
  name = Debug;
900
943
  };
@@ -938,7 +981,7 @@
938
981
  "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
939
982
  SDKROOT = iphoneos4.0;
940
983
  TARGETED_DEVICE_FAMILY = "1,2";
941
- USER_HEADER_SEARCH_PATHS = "../shared/curl/include ../shared/ ../shared/syncengine ../shared/logging ../shared/common rhoextlib";
984
+ USER_HEADER_SEARCH_PATHS = "../shared/ruby/iphone ../shared/ruby/include ../shared/curl/include ../shared/ ../shared/syncengine ../shared/logging ../shared/common rhoextlib";
942
985
  };
943
986
  name = Release;
944
987
  };
@@ -1085,7 +1128,7 @@
1085
1128
  PRODUCT_NAME = rhorunner;
1086
1129
  SDKROOT = iphoneos4.0;
1087
1130
  TARGETED_DEVICE_FAMILY = "1,2";
1088
- USER_HEADER_SEARCH_PATHS = "../shared/curl/include ../shared/ ../shared/syncengine ../shared/logging ../shared/common rhoextlib";
1131
+ USER_HEADER_SEARCH_PATHS = "../shared/ruby/iphone ../shared/ruby/include ../shared/curl/include ../shared/ ../shared/syncengine ../shared/logging ../shared/common rhoextlib";
1089
1132
  };
1090
1133
  name = Distribution;
1091
1134
  };