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.
- data/CHANGELOG +10 -0
- data/Rakefile +153 -46
- data/doc/build.txt +261 -102
- data/doc/configuration.txt +5 -2
- data/doc/device-caps.txt +134 -23
- data/doc/extensions.txt +922 -69
- data/doc/generator.txt +96 -39
- data/doc/install.txt +35 -19
- data/doc/jqt-jqm-transition.txt +17 -1
- data/doc/rhom.txt +23 -2
- data/doc/rhostudio-eclipse.txt +49 -0
- data/doc/rhostudio-test-plan.txt +440 -0
- data/doc/simulator.txt +1 -1
- data/doc/synchronization.txt +40 -1
- data/lib/build/jake.rb +108 -7
- data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +0 -35
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +8 -2
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +195 -195
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +6 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Rakefile +5 -0
- data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +64 -20
- data/lib/extensions/debugger/CHANGELOG +3 -0
- data/lib/extensions/debugger/debugger.rb +26 -21
- data/lib/extensions/digest-md5/ext/Rakefile +5 -5
- data/lib/extensions/digest-md5/ext/build +10 -1
- data/lib/extensions/digest-md5/ext/defs.h +19 -0
- data/lib/extensions/digest-md5/ext/digest-md5.vcproj +317 -9
- data/lib/extensions/digest-md5/ext/iphone/Dmd5.xcodeproj/project.pbxproj +290 -0
- data/lib/extensions/digest-md5/ext/iphone/Dmd5_Prefix.pch +7 -0
- data/lib/extensions/digest-md5/ext/iphone/Rakefile +79 -0
- data/lib/extensions/digest-sha1/ext/Rakefile +5 -5
- data/lib/extensions/digest-sha1/ext/build +10 -1
- data/lib/extensions/digest-sha1/ext/defs.h +19 -0
- data/lib/extensions/digest-sha1/ext/digest-sha1.vcproj +317 -9
- data/lib/extensions/digest-sha1/ext/iphone/Dsha1.xcodeproj/project.pbxproj +278 -0
- data/lib/extensions/digest-sha1/ext/iphone/Dsha1_Prefix.pch +7 -0
- data/lib/extensions/digest-sha1/ext/iphone/Rakefile +79 -0
- data/lib/extensions/digest/ext/Rakefile +5 -5
- data/lib/extensions/digest/ext/build +10 -1
- data/lib/extensions/digest/ext/digest.vcproj +317 -9
- data/lib/extensions/digest/ext/iphone/Digest.xcodeproj/project.pbxproj +270 -0
- data/lib/extensions/digest/ext/iphone/Digest_Prefix.pch +7 -0
- data/lib/extensions/digest/ext/iphone/Rakefile +79 -0
- data/lib/extensions/esri/ext/esri/platform/iphone/ESRI.xcodeproj/project.pbxproj +10 -2
- data/lib/extensions/esri/ext/esri/platform/iphone/Rakefile +6 -0
- data/lib/extensions/fcntl/ext/Rakefile +5 -5
- data/lib/extensions/fcntl/ext/build +9 -1
- data/lib/extensions/fcntl/ext/iphone/Fcntl.xcodeproj/project.pbxproj +262 -0
- data/lib/extensions/fcntl/ext/iphone/Fcntl_Prefix.pch +7 -0
- data/lib/extensions/fcntl/ext/iphone/Rakefile +79 -0
- data/lib/extensions/net-http/net/http.rb +9 -7
- data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +64 -20
- data/lib/extensions/rhoxml/rexml/document.rb +3 -2
- data/lib/extensions/rhoxml/rexml/instruction.rb +70 -0
- data/lib/framework/builtinME.rb +9 -0
- data/lib/framework/date/format.rb +1 -1
- data/lib/framework/dateME.rb +19 -2
- data/lib/framework/rho/rho.rb +15 -4
- data/lib/framework/rho/rhoapplication.rb +1 -0
- data/lib/framework/rho/rhocontact.rb +10 -27
- data/lib/framework/rho/rhoevent_c.rb +8 -2
- data/lib/framework/rho/rhosupport.rb +25 -0
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhoframework.rb +15 -0
- data/lib/framework/rholang/localization_simplified.rb +8 -10
- data/lib/framework/rhom/rhom_object_factory.rb +8 -2
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/jni/Application.mk +2 -1
- data/platform/android/Rhodes/jni/include/rhodes.h +9 -0
- data/platform/android/Rhodes/jni/src/callbacks.cpp +31 -1
- data/platform/android/Rhodes/jni/src/event.cpp +75 -31
- data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
- data/platform/android/Rhodes/jni/src/phonebook.cpp +73 -9
- data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -0
- data/platform/android/Rhodes/jni/src/rhodesapp.cpp +16 -24
- data/platform/android/Rhodes/jni/src/signature.cpp +27 -1
- data/platform/android/Rhodes/{default.properties → project.properties} +2 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +14 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +14 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +38 -115
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +69 -52
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java +9 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +21 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraOldService.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraService.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +38 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +212 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +82 -125
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +39 -19
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +106 -136
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +26 -25
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +40 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +47 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality02.java +33 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java +33 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality04.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java +75 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality06.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +44 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality09.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality10.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +73 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java +57 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java +2 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java +322 -76
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java +11 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java +5 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +125 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java +2 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebView.java +16 -0
- data/platform/android/build/RhodesSRC_build.files +14 -0
- data/platform/android/build/android.rake +149 -147
- data/platform/android/build/android_tools.rb +58 -0
- data/platform/android/build/librhocommon_build.files +1 -0
- data/platform/android/build/libruby_build.files +3 -0
- data/platform/bb/RubyVM/src/com/rho/RhoConf.java +11 -1
- data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +11 -5
- data/platform/bb/RubyVM/src/com/rho/db/DBAttrManager.java +3 -2
- data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +2 -0
- data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +20 -8
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +9 -6
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +45 -18
- data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +1 -2
- data/platform/bb/build/bb.rake +84 -70
- data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +106 -14
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +1 -1
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +108 -16
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +10 -5
- data/platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java +21 -4
- data/platform/bb/rhodes/src/rhomobile/mapview/Annotation.java +17 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/MapView.java +8 -5
- data/platform/bb/rhodes/src/rhomobile/mapview/MapViewScreen.java +3 -1
- data/platform/iphone/Classes/AppManager/AppManager.m +15 -3
- data/platform/iphone/Classes/Event/Event.m +45 -2
- data/platform/iphone/Classes/MapView/MapViewController.m +8 -4
- data/platform/iphone/Classes/Phonebook/phonebook.m +30 -7
- data/platform/iphone/Classes/Rhodes.h +11 -1
- data/platform/iphone/Classes/Rhodes.m +141 -9
- data/platform/iphone/Classes/Signature/SignatureDelegate.m +27 -1
- data/platform/iphone/Classes/SimpleMainView.h +1 -0
- data/platform/iphone/Classes/SimpleMainView.m +4 -0
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +31 -1
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +10 -0
- data/platform/iphone/rbuild/iphone.rake +33 -6
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +10 -2
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +22 -2
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +14 -0
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +10 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Info.plist +1 -1
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
- data/platform/osx/build/osx.rake +58 -7
- data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +427 -69
- data/platform/shared/RhoConnectClient/RhoConnectClient.h +21 -2
- data/platform/shared/common/Android.mk +2 -1
- data/platform/shared/common/AutoPointer.h +23 -0
- data/platform/shared/common/BundleManager.cpp +333 -0
- data/platform/shared/common/RhoFile.cpp +206 -23
- data/platform/shared/common/RhoFile.h +14 -4
- data/platform/shared/common/RhoFilePath.h +18 -0
- data/platform/shared/common/RhoStd.h +11 -1
- data/platform/shared/common/RhoThread.h +4 -1
- data/platform/shared/common/RhodesApp.cpp +31 -8
- data/platform/shared/common/RhodesApp.h +14 -0
- data/platform/shared/common/RhodesAppBase.cpp +6 -6
- data/platform/shared/common/RhodesAppBase.h +1 -1
- data/platform/shared/common/emml.h +34 -0
- data/platform/shared/common/iphone/RhoFileImpl.m +30 -2
- data/platform/shared/common/map/BaseMapEngine.cpp +3 -3
- data/platform/shared/common/map/GeocodingMapEngine.cpp +205 -14
- data/platform/shared/common/map/GeocodingMapEngine.h +25 -2
- data/platform/shared/common/map/MapEngine.cpp +24 -2
- data/platform/shared/common/map/MapEngine.h +23 -12
- data/platform/shared/common/phonebook/PhonebookParams.cpp +99 -0
- data/platform/shared/common/phonebook/PhonebookParams.h +52 -0
- data/platform/shared/common/rhoparams.cpp +14 -0
- data/platform/shared/common/rhoparams.h +1 -0
- data/platform/shared/db/DBAdapter.cpp +43 -24
- data/platform/shared/db/DBAdapter.h +6 -1
- data/platform/shared/db/DBAttrManager.cpp +50 -1
- data/platform/shared/logging/RhoLog.h +3 -0
- data/platform/shared/logging/RhoLogSink.cpp +5 -1
- data/platform/shared/net/CURLNetRequest.cpp +2 -0
- data/platform/shared/qt/rhodes/QtMainWindow.cpp +14 -1
- data/platform/shared/qt/rhodes/impl/PhonebookImpl.cpp +2 -2
- data/platform/shared/qt/rhodes/impl/RhoFileImpl.cpp +1 -1
- data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +14 -2
- data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +16 -2
- data/platform/shared/qt/rhodes/main.cpp +28 -0
- data/platform/shared/qt/rhodes/rhodes.pro +3 -0
- data/platform/shared/qt/rholib/rholib.pro +2 -1
- data/platform/shared/qt/rubylib/rubylib.pro +2 -1
- data/platform/shared/ruby/Android.mk +3 -0
- data/platform/shared/ruby/class.c +7 -0
- data/platform/shared/ruby/compile.c +18 -10
- data/platform/shared/ruby/encdb.h +18 -8
- data/platform/shared/ruby/eval.c +108 -2
- data/platform/shared/ruby/ext/alert/alert_wrap.c +64 -20
- data/platform/shared/ruby/ext/asynchttp/asynchttp_wrap.c +64 -20
- data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +67 -23
- data/platform/shared/ruby/ext/calendar/calendar_wrap.c +64 -20
- data/platform/shared/ruby/ext/calendar/event_wrap.c +64 -20
- data/platform/shared/ruby/ext/camera/camera_wrap.c +64 -20
- data/platform/shared/ruby/ext/datetimepicker/datetimepicker_wrap.c +64 -20
- data/platform/shared/ruby/ext/geolocation/geolocation.i +16 -0
- data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +127 -26
- data/platform/shared/ruby/ext/mapview/mapview_wrap.c +64 -20
- data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +65 -21
- data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager_wrap.c +64 -20
- data/platform/shared/ruby/ext/navbar/navbar_wrap.c +64 -20
- data/platform/shared/ruby/ext/phonebook/phonebook.i +7 -7
- data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +95 -120
- data/platform/shared/ruby/ext/rho/rhoruby.c +4 -4
- data/platform/shared/ruby/ext/rho/rhoruby.h +2 -0
- data/platform/shared/ruby/ext/rho/rhosupport.c +39 -6
- data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +65 -21
- data/platform/shared/ruby/ext/ringtones/ringtones_wrap.c +64 -20
- data/platform/shared/ruby/ext/signature/signature.i +37 -5
- data/platform/shared/ruby/ext/signature/signature_wrap.c +274 -45
- data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +65 -21
- data/platform/shared/ruby/ext/system/system.i +14 -2
- data/platform/shared/ruby/ext/system/system_wrap.c +146 -25
- data/platform/shared/ruby/ext/webview/webview_wrap.c +65 -21
- data/platform/shared/ruby/include/ruby/ruby.h +15 -4
- data/platform/shared/ruby/inits.c +1 -0
- data/platform/shared/ruby/io.c +13 -3
- data/platform/shared/ruby/win32/win32.c +3 -3
- data/platform/shared/ruby/wince/io_wce.c +2 -2
- data/platform/shared/rubyext/System.cpp +9 -5
- data/platform/shared/sync/ClientRegister.cpp +18 -8
- data/platform/shared/sync/SyncEngine.cpp +25 -11
- data/platform/shared/sync/SyncEngine.h +2 -0
- data/platform/shared/sync/SyncSource.cpp +40 -15
- data/platform/shared/sync/SyncSource.h +3 -2
- data/platform/shared/sync/SyncThread.cpp +9 -4
- data/platform/shared/sync/SyncThread.h +3 -1
- data/platform/symbian/build/symbian.rake +14 -9
- data/platform/symbian/rhodes/rhodes.pro +11 -8
- data/platform/symbian/rhodes/src/phonebook/ruby_phonebook.cpp +2 -2
- data/platform/symbian/rubylib/rubylib.pro +3 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/wm/RhoLib/RhoLib.vcproj +315 -2
- data/platform/wm/build/build_inf.js +235 -187
- data/platform/wm/build/wm.rake +388 -233
- data/platform/wm/rhodes.sln +56 -0
- data/platform/wm/rhodes/MainWindow.cpp +139 -77
- data/platform/wm/rhodes/MainWindow.h +27 -22
- data/platform/wm/rhodes/MapView/{Graphics.cpp → Bitmap.cpp} +15 -253
- data/platform/wm/rhodes/MapView/Bitmap.h +86 -0
- data/platform/wm/rhodes/MapView/MapViewManager.cpp +7 -2
- data/platform/wm/rhodes/MapView/MapViewManager.h +1 -1
- data/platform/wm/rhodes/MapView/Win32Graphics.cpp +263 -0
- data/platform/wm/rhodes/MapView/Win32Graphics.h +133 -0
- data/platform/wm/rhodes/MapView/WmGraphics.cpp +291 -0
- data/platform/wm/rhodes/MapView/{Graphics.h → WmGraphics.h} +14 -56
- data/platform/wm/rhodes/Rhodes.cpp +128 -32
- data/platform/wm/rhodes/Rhodes.rc +6 -2
- data/platform/wm/rhodes/camera/Camera.cpp +1 -0
- data/platform/wm/rhodes/phonebook/phonebook.cpp +2 -2
- data/platform/wm/rhodes/phonebook/phonebook.h +2 -2
- data/platform/wm/rhodes/resource.h +3 -2
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -0
- data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +4 -0
- data/platform/wm/rhodes/rho/rubyext/RhoSignature.cpp +675 -0
- data/platform/wm/rhodes/rho/rubyext/RhoSignature.h +123 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +12 -2
- data/platform/wm/rhodes/rhodes.vcproj +2732 -1113
- data/platform/wm/rhodes/simulator/MainWindowQt.h +1 -1
- data/platform/wm/rhodes/stdafx.h +1 -0
- data/platform/wm/rhoelements.sln +118 -62
- data/platform/wm/rubylib/rubylib.vcproj +345 -16
- data/platform/wm/sqlite3/sqlite3.vcproj +305 -0
- data/platform/wm/syncengine/syncengine.vcproj +309 -0
- data/platform/wm/tools/detool/LogServer.cpp +19 -2
- data/platform/wm/tools/detool/detool.cpp +131 -6
- data/platform/wm/tools/detool/detool.vcproj +3 -1
- data/platform/wm/tools/detool/stdafx.h +1 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Libraries/Builtins/RangeOps.cs +589 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Builtins/RubyEncoding.cs +678 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyExceptionData.cs +271 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyUtils.cs +31 -1
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.dll +0 -0
- data/platform/wp7/RhoRubyLib/common/RhoStd.cs +6 -0
- data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +16 -2
- data/platform/wp7/RhoRubyLib/net/NetRequest.cs +2 -0
- data/platform/wp7/RhoRubyLib/rubyext/RhoSyncEngine.cs +1 -2
- data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +13 -10
- data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +30 -8
- data/platform/wp7/build/wp.rake +5 -0
- data/rakefile.rb +153 -46
- data/res/build-tools/detool.exe +0 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyerrors.swg +155 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyhead.swg +158 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyiterators.swg +932 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyrun.swg +448 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubystdfunctors.swg +162 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubytracking.swg +159 -0
- data/res/build-tools/swig_patch/Lib/ruby/std_basic_string.i +97 -0
- data/res/build-tools/swig_patch/Lib/ruby/std_map.i +418 -0
- data/res/build-tools/swig_patch/Lib/ruby/std_multimap.i +227 -0
- data/res/build-tools/swig_patch/Lib/swiginit.swg +269 -0
- data/res/build-tools/swig_patch/README +7 -0
- data/res/generators/templates/application/app/Settings/controller.rb +42 -1
- data/res/generators/templates/application/app/Settings/wait.erb +1 -1
- data/res/generators/templates/application/app/application.rb +1 -1
- data/res/generators/templates/application/app/layout.erb +8 -8
- data/res/generators/templates/application/build.yml +0 -1
- data/res/generators/templates/application/public/css/android.css +6 -0
- data/res/generators/templates/application/public/css/blackberry.css +6 -0
- data/res/generators/templates/application/public/css/iphone.css +6 -0
- data/res/generators/templates/application/public/css/jqmobile-patch.css +14 -0
- data/res/generators/templates/application/public/jqmobile/images/ajax-loader.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-18-white.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-36-white.png +0 -0
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.css → jquery.mobile-1.0.css} +452 -354
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.js → jquery.mobile-1.0.js} +629 -442
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.css +2 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.js +172 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.css +714 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.min.css +2 -0
- data/res/generators/templates/application/public/js/jqmobile-patch.js +136 -7
- data/res/generators/templates/extension/app/MontanaTest/controller.rb +20 -20
- data/res/generators/templates/extension/app/MontanaTest/index.erb +17 -17
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj +8 -2
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Rakefile +5 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana_wrap.c +64 -20
- data/rhomobile-debug.gemspec +1 -1
- data/spec/framework_spec/app/layout.erb +1 -1
- data/spec/framework_spec/app/spec/core/rational/Rational_spec.rb +1 -1
- data/spec/framework_spec/app/spec/library/stringio/shared/each_char.rb +6 -2
- data/spec/framework_spec/app/spec/shared/rational/{Rational.rb → rational_main.rb} +0 -0
- data/spec/framework_spec/build.yml +0 -3
- data/spec/perfomance_spec/app/Benchmark/controller.rb +1 -1
- data/spec/perfomance_spec/app/layout.erb +1 -1
- data/spec/phone_spec/app/BlobTest_s/blob_test_s.rb +13 -0
- data/spec/phone_spec/app/BlobTest_s/test.png +0 -0
- data/spec/phone_spec/app/BlobTest_s/test2.png +0 -0
- data/spec/phone_spec/app/spec/blobsync_spec.rb +27 -15
- data/spec/phone_spec/app/spec/date_spec.rb +27 -1
- data/spec/phone_spec/app/spec/rho_spec.rb +6 -0
- data/spec/phone_spec/app/spec/rhom_object_spec.rb +64 -26
- data/spec/phone_spec/app/spec/syncengine_spec.rb +28 -7
- data/spec/phone_spec/app/spec/uri_spec.rb +4 -4
- data/spec/phone_spec/app/spec_runner.rb +4 -2
- data/spec/phone_spec/build.yml +7 -9
- data/spec/phone_spec/rhoconfig.txt +1 -0
- data/version +1 -1
- metadata +75 -22
- data/Manifest.txt +0 -7853
- data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.cpp +0 -384
- data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.h +0 -41
- data/platform/wm/rhodes/signature/Signature.cpp +0 -396
- data/platform/wm/rhodes/signature/Signature.h +0 -84
- data/platform/wm/rubylib/rubylib.vcproj.VLAD.Vladimir.user +0 -429
- data/platform/wm/sqlite3/sqlite3.vcproj.VLAD.Vladimir.user +0 -429
- data/platform/wm/syncengine/syncengine.vcproj.VLAD.Vladimir.user +0 -429
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.css +0 -12
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.js +0 -170
- data/rhomobile-debug-1.0.5.gem +0 -0
data/lib/framework/version.rb
CHANGED
data/lib/rhodes.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
1
|
APP_STL := stlport_static
|
2
|
-
APP_CFLAGS += --sysroot $(NDK_ROOT)/platforms/android-
|
2
|
+
APP_CFLAGS += --sysroot $(NDK_ROOT)/platforms/android-14/arch-arm -DOS_ANDROID
|
3
|
+
#APP_CFLAGS += --sysroot $(NDK_ROOT)/platforms/android-9/arch-arm -DOS_ANDROID
|
3
4
|
#APP_CFLAGS += --sysroot /home/lexis/android/android-ndk-r6/platforms/android-9/arch-arm -DOS_ANDROID
|
@@ -94,6 +94,7 @@ typedef jholder<jstring> jhstring;
|
|
94
94
|
|
95
95
|
namespace rho {
|
96
96
|
template <typename K, typename V> class Hashtable;
|
97
|
+
template <typename T> class Vector;
|
97
98
|
}
|
98
99
|
typedef std::auto_ptr<rho::Hashtable<std::string, std::string> > hashtableholder;
|
99
100
|
|
@@ -183,6 +184,14 @@ struct rho_cast_helper<std::auto_ptr<rho::Hashtable<std::string,std::string> >,
|
|
183
184
|
value_type operator()(JNIEnv *env, jobjectArray jKeys, jobjectArray jVals);
|
184
185
|
};
|
185
186
|
|
187
|
+
template <>
|
188
|
+
struct rho_cast_helper<std::auto_ptr<rho::Vector<std::string> >, jobjectArray>
|
189
|
+
{
|
190
|
+
typedef rho::Vector<std::string> element_type;
|
191
|
+
typedef std::auto_ptr<element_type> value_type;
|
192
|
+
value_type operator()(JNIEnv *env, jobjectArray jArr);
|
193
|
+
};
|
194
|
+
|
186
195
|
} // namespace details
|
187
196
|
|
188
197
|
template <typename T, typename U>
|
@@ -58,7 +58,7 @@ RHO_GLOBAL VALUE rho_sys_has_network()
|
|
58
58
|
return rho_ruby_create_boolean(env->CallStaticBooleanMethod(cls, mid));
|
59
59
|
}
|
60
60
|
|
61
|
-
RHO_GLOBAL void
|
61
|
+
RHO_GLOBAL void rho_file_impl_delete_files_in_folder(const char *szFolderPath)
|
62
62
|
{
|
63
63
|
JNIEnv *env = jnienv();
|
64
64
|
jclass cls = getJNIClass(RHODES_JAVA_CLASS_RHODES_SERVICE);
|
@@ -69,6 +69,36 @@ RHO_GLOBAL void delete_files_in_folder(const char *szFolderPath)
|
|
69
69
|
env->CallStaticVoidMethod(cls, mid, objFolderPath.get());
|
70
70
|
}
|
71
71
|
|
72
|
+
RHO_GLOBAL void rho_file_impl_delete_folder(const char* szFolderPath) {
|
73
|
+
/*
|
74
|
+
JNIEnv *env = jnienv();
|
75
|
+
jclass cls = getJNIClass(RHODES_JAVA_CLASS_RHODES_SERVICE);
|
76
|
+
if (!cls) return;
|
77
|
+
jmethodID mid = getJNIClassStaticMethod(env, cls, "deleteFolder", "(Ljava/lang/String;)V");
|
78
|
+
if (!mid) return;
|
79
|
+
jhstring objFolderPath = rho_cast<jhstring>(szFolderPath);
|
80
|
+
env->CallStaticVoidMethod(cls, mid, objFolderPath.get());
|
81
|
+
*/
|
82
|
+
|
83
|
+
}
|
84
|
+
|
85
|
+
RHO_GLOBAL void rho_file_impl_copy_folders_content_to_another_folder(const char* szSrcFolderPath, const char* szDstFolderPath) {
|
86
|
+
/*
|
87
|
+
JNIEnv *env = jnienv();
|
88
|
+
jclass cls = getJNIClass(RHODES_JAVA_CLASS_RHODES_SERVICE);
|
89
|
+
if (!cls) return;
|
90
|
+
jmethodID mid = getJNIClassStaticMethod(env, cls, "copyFoldersContentToAnotherFolder", "(Ljava/lang/String;Ljava/lang/String;)V");
|
91
|
+
if (!mid) return;
|
92
|
+
jhstring objSrcFolderPath = rho_cast<jhstring>(szSrcFolderPath);
|
93
|
+
jhstring objDstFolderPath = rho_cast<jhstring>(szDstFolderPath);
|
94
|
+
env->CallStaticVoidMethod(cls, mid, objSrcFolderPath.get(), objDstFolderPath.get());
|
95
|
+
*/
|
96
|
+
}
|
97
|
+
|
98
|
+
RHO_GLOBAL void rho_platform_restart_application() {
|
99
|
+
|
100
|
+
}
|
101
|
+
|
72
102
|
RHO_GLOBAL VALUE rho_sys_makephonecall(const char* callname, int nparams, char** param_names, char** param_values)
|
73
103
|
{
|
74
104
|
// TODO:
|
@@ -50,15 +50,25 @@ Out date_cast(In value);
|
|
50
50
|
template <>
|
51
51
|
jobject date_cast<jobject, VALUE>(VALUE rDate)
|
52
52
|
{
|
53
|
-
|
53
|
+
RHO_TRACE("dateFromRuby");
|
54
|
+
|
55
|
+
if (NIL_P(rDate)) {
|
56
|
+
RHO_TRACE("dateFromRuby - NIL object");
|
54
57
|
return NULL;
|
58
|
+
}
|
55
59
|
|
56
|
-
RHO_TRACE("dateFromRuby
|
60
|
+
RHO_TRACE("dateFromRuby - check for string type");
|
57
61
|
if (TYPE(rDate) == T_STRING)
|
58
62
|
{
|
59
|
-
RHO_TRACE("dateFromRuby
|
63
|
+
RHO_TRACE("dateFromRuby - converting from string");
|
64
|
+
|
65
|
+
if (strlen(RSTRING_PTR(rDate)) == 0) {
|
66
|
+
RHO_TRACE("dateFromRuby - empty string");
|
67
|
+
return NULL;
|
68
|
+
}
|
69
|
+
|
60
70
|
rDate = rb_funcall(rb_cTime, rb_intern("parse"), 1, rDate);
|
61
|
-
RHO_TRACE("dateFromRuby
|
71
|
+
RHO_TRACE("dateFromRuby - converted to ruby date");
|
62
72
|
}
|
63
73
|
VALUE cDate = rb_class_of(rDate);
|
64
74
|
if (!rb_equal(cDate, rb_cTime))
|
@@ -141,6 +151,8 @@ static jfieldID fidNotes;
|
|
141
151
|
static jfieldID fidPrivacy;
|
142
152
|
static jfieldID fidFrequency;
|
143
153
|
static jfieldID fidInterval;
|
154
|
+
static jfieldID fidRecurrenceEnd;
|
155
|
+
static jfieldID fidRecurrenceTimes;
|
144
156
|
|
145
157
|
static bool init_event_stuff(JNIEnv *env)
|
146
158
|
{
|
@@ -170,6 +182,10 @@ static bool init_event_stuff(JNIEnv *env)
|
|
170
182
|
if (!fidFrequency) return false;
|
171
183
|
fidInterval = getJNIClassField(env, clsEvent, "interval", "I");
|
172
184
|
if (!fidInterval) return false;
|
185
|
+
fidRecurrenceEnd = getJNIClassField(env, clsEvent, "recurrenceEnd", "Ljava/util/Date;");
|
186
|
+
if (!fidRecurrenceEnd) return false;
|
187
|
+
fidRecurrenceTimes = getJNIClassField(env, clsEvent, "recurrenceTimes", "I");
|
188
|
+
if (!fidRecurrenceTimes) return false;
|
173
189
|
|
174
190
|
initialized = true;
|
175
191
|
return true;
|
@@ -240,7 +256,7 @@ jobject event_cast<jobject, VALUE>(VALUE rEvent)
|
|
240
256
|
env->SetObjectField(jEvent, fidNotes, rho_cast<jhstring>(RSTRING_PTR(rNotes)).get());
|
241
257
|
}
|
242
258
|
|
243
|
-
RHO_TRACE("eventFromRuby
|
259
|
+
RHO_TRACE("eventFromRuby privacy");
|
244
260
|
VALUE rPrivacy = rb_hash_aref(rEvent, rb_str_new2(RUBY_EV_PRIVACY));
|
245
261
|
if (!NIL_P(rPrivacy))
|
246
262
|
{
|
@@ -248,7 +264,7 @@ jobject event_cast<jobject, VALUE>(VALUE rEvent)
|
|
248
264
|
env->SetObjectField(jEvent, fidPrivacy, rho_cast<jhstring>(RSTRING_PTR(rPrivacy)).get());
|
249
265
|
}
|
250
266
|
|
251
|
-
RHO_TRACE("eventFromRuby
|
267
|
+
RHO_TRACE("eventFromRuby recurrence");
|
252
268
|
VALUE rRecurrence = rb_hash_aref(rEvent, rb_str_new2(RUBY_EV_RECURRENCE));
|
253
269
|
if (!NIL_P(rRecurrence)) {
|
254
270
|
Check_Type(rRecurrence, T_HASH);
|
@@ -269,6 +285,19 @@ jobject event_cast<jobject, VALUE>(VALUE rEvent)
|
|
269
285
|
rInterval = rb_funcall(rInterval, rb_intern("to_i"), 0);
|
270
286
|
int interval = NUM2INT(rInterval);
|
271
287
|
env->SetIntField(jEvent, fidInterval, interval);
|
288
|
+
RAWTRACE1("eventFromRuby recurrence interval: %d", interval);
|
289
|
+
|
290
|
+
VALUE rUntilDate = rb_hash_aref(rRecurrence, rb_str_new2(RUBY_EV_RECURRENCE_END));
|
291
|
+
if (!NIL_P(rUntilDate))
|
292
|
+
{
|
293
|
+
env->SetObjectField(jEvent, fidRecurrenceEnd, date_cast<jobject>(rUntilDate));
|
294
|
+
RAWTRACE("eventFromRuby recurrence until date");
|
295
|
+
}
|
296
|
+
|
297
|
+
VALUE rTimes = rb_funcall(rb_hash_aref(rRecurrence, rb_str_new2(RUBY_EV_RECURRENCE_COUNT)), rb_intern("to_i"), 0);;
|
298
|
+
int times = NUM2INT(rTimes);
|
299
|
+
env->SetIntField(jEvent, fidRecurrenceTimes, times);
|
300
|
+
RAWTRACE1("eventFromRuby recurrence count: %d", times);
|
272
301
|
}
|
273
302
|
|
274
303
|
RHO_TRACE("eventFromRuby: return");
|
@@ -278,48 +307,50 @@ jobject event_cast<jobject, VALUE>(VALUE rEvent)
|
|
278
307
|
template <>
|
279
308
|
VALUE event_cast<VALUE, jobject>(jobject jEvent)
|
280
309
|
{
|
310
|
+
RHO_TRACE("eventToRuby");
|
311
|
+
|
281
312
|
if (!jEvent)
|
282
313
|
return Qnil;
|
283
314
|
|
284
|
-
RHO_TRACE("eventToRuby
|
315
|
+
RHO_TRACE("eventToRuby init JNI");
|
285
316
|
JNIEnv *env = jnienv();
|
286
317
|
if (!init_event_stuff(env))
|
287
318
|
{
|
288
|
-
RHO_TRACE("eventToRuby
|
319
|
+
RHO_TRACE("eventToRuby failed to init JNI");
|
289
320
|
return Qnil;
|
290
321
|
}
|
291
322
|
|
292
|
-
RHO_TRACE("eventToRuby
|
323
|
+
RHO_TRACE("eventToRuby alloc event hash");
|
293
324
|
VALUE rEvent = rb_hash_new();
|
294
325
|
|
295
|
-
RHO_TRACE("eventToRuby
|
326
|
+
RHO_TRACE("eventToRuby get event id");
|
296
327
|
jstring jId = (jstring)env->GetObjectField(jEvent, fidId);
|
297
328
|
std::string s = rho_cast<std::string>(env, jId);
|
298
329
|
env->DeleteLocalRef(jId);
|
299
330
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_ID), rb_str_new2(s.c_str()));
|
300
331
|
|
301
|
-
RHO_TRACE("eventToRuby
|
332
|
+
RHO_TRACE("eventToRuby get title");
|
302
333
|
jstring jTitle = (jstring)env->GetObjectField(jEvent, fidTitle);
|
303
334
|
s = rho_cast<std::string>(env, jTitle);
|
304
335
|
env->DeleteLocalRef(jTitle);
|
305
336
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_TITLE), rb_str_new2(s.c_str()));
|
306
337
|
|
307
|
-
RHO_TRACE("eventToRuby
|
338
|
+
RHO_TRACE("eventToRuby get start date");
|
308
339
|
jobject jStartDate = env->GetObjectField(jEvent, fidStartDate);
|
309
340
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_START_DATE), date_cast<VALUE>(jStartDate));
|
310
341
|
env->DeleteLocalRef(jStartDate);
|
311
342
|
|
312
|
-
RHO_TRACE("eventToRuby
|
343
|
+
RHO_TRACE("eventToRuby get end date");
|
313
344
|
jobject jEndDate = env->GetObjectField(jEvent, fidEndDate);
|
314
345
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_END_DATE), date_cast<VALUE>(jEndDate));
|
315
346
|
env->DeleteLocalRef(jEndDate);
|
316
347
|
|
317
|
-
RHO_TRACE("eventToRuby
|
348
|
+
RHO_TRACE("eventToRuby get last modified date");
|
318
349
|
jobject jLastModified = env->GetObjectField(jEvent, fidLastModified);
|
319
350
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_LAST_MODIFIED), date_cast<VALUE>(jLastModified));
|
320
351
|
env->DeleteLocalRef(jLastModified);
|
321
352
|
|
322
|
-
RHO_TRACE("eventToRuby
|
353
|
+
RHO_TRACE("eventToRuby get location");
|
323
354
|
jstring jLocation = (jstring)env->GetObjectField(jEvent, fidLocation);
|
324
355
|
if (jLocation)
|
325
356
|
{
|
@@ -328,7 +359,7 @@ VALUE event_cast<VALUE, jobject>(jobject jEvent)
|
|
328
359
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_LOCATION), rb_str_new2(s.c_str()));
|
329
360
|
}
|
330
361
|
|
331
|
-
RHO_TRACE("eventToRuby
|
362
|
+
RHO_TRACE("eventToRuby get notes");
|
332
363
|
jstring jNotes = (jstring)env->GetObjectField(jEvent, fidNotes);
|
333
364
|
if (jNotes)
|
334
365
|
{
|
@@ -337,7 +368,7 @@ VALUE event_cast<VALUE, jobject>(jobject jEvent)
|
|
337
368
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_NOTES), rb_str_new2(s.c_str()));
|
338
369
|
}
|
339
370
|
|
340
|
-
RHO_TRACE("eventToRuby
|
371
|
+
RHO_TRACE("eventToRuby get privacy");
|
341
372
|
jstring jPrivacy = (jstring)env->GetObjectField(jEvent, fidPrivacy);
|
342
373
|
if (jPrivacy)
|
343
374
|
{
|
@@ -346,22 +377,24 @@ VALUE event_cast<VALUE, jobject>(jobject jEvent)
|
|
346
377
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_PRIVACY), rb_str_new2(s.c_str()));
|
347
378
|
}
|
348
379
|
|
349
|
-
RHO_TRACE("eventToRuby
|
380
|
+
RHO_TRACE("eventToRuby frequency");
|
350
381
|
jstring jFrequency = (jstring)env->GetObjectField(jEvent, fidFrequency);
|
351
|
-
if
|
382
|
+
if(jFrequency)
|
352
383
|
{
|
384
|
+
RHO_TRACE("eventToRuby parse frequency");
|
385
|
+
|
353
386
|
VALUE rRecurrence = rb_hash_new();
|
354
387
|
|
355
388
|
jboolean isCopy;
|
356
389
|
const char* str = env->GetStringUTFChars (jFrequency, &isCopy);
|
357
|
-
if
|
358
|
-
|
359
|
-
|
360
|
-
|
390
|
+
if(strcasecmp(str, RUBY_EV_RECURRENCE_FREQUENCY_DAILY) == 0
|
391
|
+
|| strcasecmp(str, RUBY_EV_RECURRENCE_FREQUENCY_WEEKLY) == 0
|
392
|
+
|| strcasecmp(str, RUBY_EV_RECURRENCE_FREQUENCY_MONTHLY) == 0
|
393
|
+
|| strcasecmp(str, RUBY_EV_RECURRENCE_FREQUENCY_YEARLY) == 0)
|
361
394
|
{
|
362
|
-
|
395
|
+
s = rho_cast<std::string>(env, jFrequency);
|
363
396
|
} else {
|
364
|
-
|
397
|
+
s = "undefined";
|
365
398
|
// rb_raise(rb_eArgError, "Wrong recurrence frequency: %s", frequency);
|
366
399
|
}
|
367
400
|
if (isCopy == JNI_TRUE) {
|
@@ -373,6 +406,15 @@ VALUE event_cast<VALUE, jobject>(jobject jEvent)
|
|
373
406
|
jint jInterval = (jint)env->GetIntField(jEvent, fidInterval);
|
374
407
|
rb_hash_aset(rRecurrence, rb_str_new2(RUBY_EV_RECURRENCE_INTERVAL), INT2FIX((int)jInterval));
|
375
408
|
|
409
|
+
jhobject jhUntil = env->GetObjectField(jEvent, fidRecurrenceEnd);
|
410
|
+
if(jhUntil.get())
|
411
|
+
{
|
412
|
+
rb_hash_aset(rRecurrence, rb_str_new2(RUBY_EV_RECURRENCE_END), date_cast<VALUE>(jhUntil.get()));
|
413
|
+
}
|
414
|
+
|
415
|
+
jint jCount = env->GetIntField(jEvent, fidRecurrenceTimes);
|
416
|
+
rb_hash_aset(rRecurrence, rb_str_new2(RUBY_EV_RECURRENCE_COUNT), INT2FIX((int)jCount));
|
417
|
+
|
376
418
|
rb_hash_aset(rEvent, rb_str_new2(RUBY_EV_RECURRENCE), rRecurrence);
|
377
419
|
}
|
378
420
|
|
@@ -382,8 +424,10 @@ VALUE event_cast<VALUE, jobject>(jobject jEvent)
|
|
382
424
|
|
383
425
|
RHO_GLOBAL VALUE event_fetch(VALUE rParams)
|
384
426
|
{
|
427
|
+
RHO_TRACE("event_fetch");
|
428
|
+
|
385
429
|
JNIEnv *env = jnienv();
|
386
|
-
jclass cls = getJNIClass(RHODES_JAVA_CLASS_EVENT_STORE);
|
430
|
+
jclass& cls = getJNIClass(RHODES_JAVA_CLASS_EVENT_STORE);
|
387
431
|
if (!cls) return Qnil;
|
388
432
|
jmethodID mid = getJNIClassStaticMethod(env, cls, "fetch", "(Ljava/util/Date;Ljava/util/Date;Z)Ljava/lang/Object;");
|
389
433
|
if (!mid) return Qnil;
|
@@ -392,17 +436,17 @@ RHO_GLOBAL VALUE event_fetch(VALUE rParams)
|
|
392
436
|
VALUE end_date = rb_hash_aref(rParams, rb_str_new2(RUBY_EV_END_DATE));
|
393
437
|
VALUE include_repeating = rb_hash_aref(rParams, rb_str_new2(RUBY_FETCH_include_repeating));
|
394
438
|
|
395
|
-
RHO_TRACE("event_fetch
|
439
|
+
RHO_TRACE("event_fetch: start date");
|
396
440
|
jobject jStartDate = date_cast<jobject>(start_date);
|
397
|
-
RHO_TRACE("event_fetch
|
441
|
+
RHO_TRACE("event_fetch: end date");
|
398
442
|
jobject jEndDate = date_cast<jobject>(end_date);
|
399
|
-
RHO_TRACE("event_fetch (
|
443
|
+
RHO_TRACE("event_fetch: EventStore.fetch()");
|
400
444
|
jobject jRet = env->CallStaticObjectMethod(cls, mid, jStartDate, jEndDate, (jboolean)rho_ruby_get_bool(include_repeating));
|
401
|
-
RHO_TRACE("event_fetch
|
445
|
+
RHO_TRACE("event_fetch: release java references");
|
402
446
|
env->DeleteLocalRef(jStartDate);
|
403
447
|
env->DeleteLocalRef(jEndDate);
|
404
448
|
|
405
|
-
jclass clsString = getJNIClass(RHODES_JAVA_CLASS_STRING);
|
449
|
+
jclass& clsString = getJNIClass(RHODES_JAVA_CLASS_STRING);
|
406
450
|
if (!clsString) return Qnil;
|
407
451
|
if (env->IsInstanceOf(jRet, clsString))
|
408
452
|
{
|
@@ -136,7 +136,7 @@ void* RhoNativeViewManager::getWebViewObject(int tab_index) {
|
|
136
136
|
JNIEnv *env = jnienv();
|
137
137
|
jclass cls = rho_find_class(env, "com/rhomobile/rhodes/nativeview/RhoNativeViewManager");
|
138
138
|
if (!cls) return null;
|
139
|
-
jmethodID mid = env->GetStaticMethodID( cls, "getWebViewObject", "(I)
|
139
|
+
jmethodID mid = env->GetStaticMethodID( cls, "getWebViewObject", "(I)Lcom/rhomobile/rhodes/webview/WebView;");
|
140
140
|
if (!mid) return null;
|
141
141
|
return env->CallStaticObjectMethod(cls, mid, tab_index);
|
142
142
|
}
|
@@ -106,11 +106,41 @@ static VALUE createHashFromContact(jobject contactObj)
|
|
106
106
|
return contactHash;
|
107
107
|
}
|
108
108
|
|
109
|
-
RHO_GLOBAL VALUE getPhonebookRecords(void* pb,
|
109
|
+
RHO_GLOBAL VALUE getPhonebookRecords(void* pb, rho_param* params)
|
110
110
|
{
|
111
|
-
|
111
|
+
RAWTRACE("getPhonebookRecords() START");
|
112
112
|
jobject phonebookObj = (jobject)pb;
|
113
113
|
|
114
|
+
int offset = 0;
|
115
|
+
int max_results = -1;
|
116
|
+
rho_param* select_param = 0;
|
117
|
+
rho_param* conditions = 0;
|
118
|
+
|
119
|
+
if (params != 0 && params->type == RHO_PARAM_HASH) {
|
120
|
+
for (int i = 0, lim = params->v.hash->size; i < lim; ++i) {
|
121
|
+
std::string key = params->v.hash->name[i];
|
122
|
+
rho_param* value = params->v.hash->value[i];
|
123
|
+
|
124
|
+
if (key.compare("offset") == 0) {
|
125
|
+
RAWTRACE("'offset' parameter found");
|
126
|
+
if (value->type == RHO_PARAM_STRING) {
|
127
|
+
RAWTRACE1("'offset' parameter is string: %s", value->v.string);
|
128
|
+
sscanf(value->v.string, "%d", &offset);
|
129
|
+
}
|
130
|
+
} else if (key.compare("per_page") == 0) {
|
131
|
+
RAWTRACE("'per_page' parameter found");
|
132
|
+
if (value->type == RHO_PARAM_STRING) {
|
133
|
+
RAWTRACE1("'per_page' parameter is string: %s", value->v.string);
|
134
|
+
sscanf(value->v.string, "%d", &max_results);
|
135
|
+
}
|
136
|
+
} else if (key.compare("select") == 0) {
|
137
|
+
select_param = value;
|
138
|
+
} else if (key.compare("conditions") == 0) {
|
139
|
+
conditions = value;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
114
144
|
JNIEnv *env = jnienv();
|
115
145
|
|
116
146
|
jclass phonebookCls = getJNIClass(RHODES_JAVA_CLASS_PHONEBOOK);
|
@@ -118,7 +148,7 @@ RHO_GLOBAL VALUE getPhonebookRecords(void* pb, int offset, int max_results, rho_
|
|
118
148
|
jclass contactCls = getJNIClass(RHODES_JAVA_CLASS_CONTACT);
|
119
149
|
if (!contactCls) return Qnil;
|
120
150
|
|
121
|
-
jmethodID queryMID = getJNIClassMethod(env, phonebookCls, "queryContacts", "(IILjava/util/List;)V");
|
151
|
+
jmethodID queryMID = getJNIClassMethod(env, phonebookCls, "queryContacts", "(IILjava/util/List;Ljava/util/Map;)V");
|
122
152
|
if (!queryMID) return Qnil;
|
123
153
|
|
124
154
|
jmethodID phonebookMoveToBeginMID = getJNIClassMethod(env, phonebookCls, "moveToBegin", "()V");
|
@@ -138,8 +168,14 @@ RHO_GLOBAL VALUE getPhonebookRecords(void* pb, int offset, int max_results, rho_
|
|
138
168
|
RAWLOG_INFO("Converting 'select_param'.");
|
139
169
|
selectObj = RhoValueConverter(env).createObject(select_param);
|
140
170
|
}
|
141
|
-
|
171
|
+
jobject conditionsObj = NULL;
|
172
|
+
if (conditions) {
|
173
|
+
RAWLOG_INFO("Converting 'conditions'.");
|
174
|
+
conditionsObj = RhoValueConverter(env).createObject(conditions);
|
175
|
+
}
|
176
|
+
env->CallVoidMethod(phonebookObj, queryMID, offset, max_results, selectObj, conditionsObj);
|
142
177
|
env->DeleteLocalRef(selectObj);
|
178
|
+
env->DeleteLocalRef(conditionsObj);
|
143
179
|
env->CallVoidMethod(phonebookObj, phonebookMoveToBeginMID);
|
144
180
|
|
145
181
|
VALUE valGc = rho_ruby_disable_gc();
|
@@ -165,20 +201,48 @@ RHO_GLOBAL VALUE getPhonebookRecords(void* pb, int offset, int max_results, rho_
|
|
165
201
|
return hash;
|
166
202
|
}
|
167
203
|
|
168
|
-
RHO_GLOBAL int getPhonebookRecordCount(void* pb,
|
204
|
+
RHO_GLOBAL int getPhonebookRecordCount(void* pb, rho_param* params)
|
169
205
|
{
|
170
|
-
|
206
|
+
RAWTRACE("getPhonebookRecordCount() START");
|
171
207
|
jobject phonebookObj = static_cast<jobject>(pb);
|
172
208
|
|
209
|
+
int offset = 0;
|
210
|
+
int max_results = -1;
|
211
|
+
rho_param* conditions = 0;
|
212
|
+
|
213
|
+
if (params != 0 && params->type == RHO_PARAM_HASH) {
|
214
|
+
for (int i = 0, lim = params->v.hash->size; i < lim; ++i) {
|
215
|
+
std::string key = params->v.hash->name[i];
|
216
|
+
rho_param* value = params->v.hash->value[i];
|
217
|
+
|
218
|
+
if (key.compare("offset") == 0) {
|
219
|
+
if (value->type == RHO_PARAM_STRING) {
|
220
|
+
sscanf(value->v.string, "%d", &offset);
|
221
|
+
}
|
222
|
+
} else if (key.compare("per_page") == 0) {
|
223
|
+
if (value->type == RHO_PARAM_STRING) {
|
224
|
+
sscanf(value->v.string, "%d", &max_results);
|
225
|
+
}
|
226
|
+
} else if (key.compare("conditions") == 0) {
|
227
|
+
conditions = value;
|
228
|
+
}
|
229
|
+
}
|
230
|
+
}
|
173
231
|
JNIEnv *env = jnienv();
|
174
232
|
|
175
233
|
jclass phonebookCls = getJNIClass(RHODES_JAVA_CLASS_PHONEBOOK);
|
176
234
|
if (!phonebookCls) return 0;
|
177
235
|
|
178
|
-
jmethodID queryMID = getJNIClassMethod(env, phonebookCls, "queryContactCount", "(
|
236
|
+
jmethodID queryMID = getJNIClassMethod(env, phonebookCls, "queryContactCount", "(IILjava/util/Map;)I");
|
179
237
|
if (!queryMID) return 0;
|
180
238
|
|
181
|
-
|
239
|
+
jobject conditionsObj = NULL;
|
240
|
+
if (conditions) {
|
241
|
+
RAWLOG_INFO("Converting 'conditions'.");
|
242
|
+
conditionsObj = RhoValueConverter(env).createObject(conditions);
|
243
|
+
}
|
244
|
+
int contactCount = env->CallIntMethod(phonebookObj, queryMID, offset, max_results, conditionsObj);
|
245
|
+
env->DeleteLocalRef(conditionsObj);
|
182
246
|
|
183
247
|
if (logging_enable) RAWLOG_INFO("getPhonebookRecordCount() FINISH");
|
184
248
|
return contactCount;
|
@@ -187,7 +251,7 @@ RHO_GLOBAL int getPhonebookRecordCount(void* pb, int offset, int max_results)
|
|
187
251
|
RHO_GLOBAL VALUE getallPhonebookRecords(void* pb)
|
188
252
|
{
|
189
253
|
if (logging_enable) RAWLOG_INFO("getallPhonebookRecords() START");
|
190
|
-
VALUE res = getPhonebookRecords(pb, 0
|
254
|
+
VALUE res = getPhonebookRecords(pb, 0);
|
191
255
|
if (logging_enable) RAWLOG_INFO("getallPhonebookRecords() FINISH");
|
192
256
|
return res;
|
193
257
|
}
|