rhodes 3.4.2 → 3.5.1.12
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +9 -0
- data/Rakefile +61 -9
- data/doc/build.txt +147 -38
- data/doc/configuration.txt +49 -33
- data/doc/connect-to-web-services.txt +32 -32
- data/doc/contributing.txt +1 -1
- data/doc/device-caps.txt +62 -311
- data/doc/extensions.txt +104 -5
- data/doc/install.txt +17 -61
- data/doc/linea.txt +11 -11
- data/doc/nfc.txt +3 -3
- data/doc/release.txt +4 -4
- data/doc/rhom.txt +7 -7
- data/doc/rhostudio-test-plan.txt +12 -12
- data/doc/simulator.txt +32 -19
- data/doc/syncengine-ajax-api.txt +1 -1
- data/doc/synchronization.txt +8 -2
- data/doc/test-log-debug.txt +34 -3
- data/doc/ui.txt +8 -3
- data/installer/icon.ico +0 -0
- data/lib/build/jake.rb +27 -6
- data/lib/extensions/audiocapture/audiocapture.rb +43 -0
- data/lib/extensions/audiocapture/ext.yml +5 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/AndroidManifest.xml +10 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/Rakefile +77 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/ext_build.files +2 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/jni/src/audiocapture.cpp +189 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/src/com/audiocapture/Audiocapture.java +236 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/src/com/audiocapture/ExtAudioRecorder.java +573 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/Audiocapture.files +1 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/Rakefile +97 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/audiocapture.jdp +48 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/src/com/audiocapture/Audiocapture.java +118 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Audiocapture.xcodeproj/project.pbxproj +314 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Audiocapture_Prefix.pch +7 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Classes/audioCapture.h +51 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Classes/audioCapture.m +418 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Rakefile +79 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Audiocapture.sln +44 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Audiocapture.vcproj +647 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Audiocapture.vsprops +15 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Rakefile +62 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/src/audiocapture_wm.cpp +40 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/src/audiocapture_wm.h +2 -0
- data/lib/extensions/audiocapture/ext/audiocapture/shared/ruby/audiocapture.i +29 -0
- data/lib/extensions/audiocapture/ext/audiocapture/shared/ruby/audiocapture_wrap.c +2310 -0
- data/lib/extensions/audiocapture/ext/audiocapture/shared/src/audiocapture.c +26 -0
- data/lib/extensions/audiocapture/ext/build +17 -0
- data/lib/extensions/audiocapture/ext/build.bat +36 -0
- data/lib/extensions/barcode/ext.yml +5 -3
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +87 -87
- data/lib/extensions/digest-md5/ext/build +1 -1
- data/lib/extensions/digest-sha1/ext/build +1 -1
- data/lib/extensions/digest-sha2/ext/build +1 -1
- data/lib/extensions/digest/ext/build +1 -1
- data/lib/extensions/fcntl/ext/fcntl.c +5 -5
- data/lib/extensions/gcm-push/ext.yml +8 -0
- data/lib/extensions/gcm-push/ext/android/AndroidManifest.rb +5 -0
- data/lib/extensions/gcm-push/ext/android/ApplicationManifestAdds.erb +8 -0
- data/lib/extensions/gcm-push/ext/android/Rakefile +66 -0
- data/lib/extensions/gcm-push/ext/android/ext_build.files +3 -0
- data/lib/extensions/gcm-push/ext/android/jni/src/com_rhomobile_rhodes_gcm_GCMRhoListener.h +21 -0
- data/lib/extensions/gcm-push/ext/android/jni/src/gcmpushclient.cpp +173 -0
- data/lib/extensions/gcm-push/ext/android/jni/src/gcmpushclient.h +62 -0
- data/lib/extensions/gcm-push/ext/android/src/com/rhomobile/rhodes/gcm/GCMBroadcastReceiver.java +40 -0
- data/lib/extensions/gcm-push/ext/android/src/com/rhomobile/rhodes/gcm/GCMFacade.java +55 -0
- data/lib/extensions/gcm-push/ext/android/src/com/rhomobile/rhodes/gcm/GCMIntentService.java +60 -0
- data/lib/extensions/gcm-push/ext/build +12 -0
- data/lib/extensions/gcm-push/ext/build.bat +8 -0
- data/lib/extensions/net-http/net/http.rb +153 -119
- data/lib/extensions/net-http/net/https.rb +4 -38
- data/lib/extensions/nfc/ext.yml +6 -4
- data/lib/extensions/nfc/ext/nfc/platform/android/jni/src/nfc.cpp +2 -2
- data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/NfcTechActivity.java +0 -1
- data/lib/extensions/openssl/openssl/ssl-internal.rb +3 -1
- data/lib/extensions/rawsensors/ext.yml +4 -0
- data/lib/extensions/rawsensors/ext/build +17 -0
- data/lib/extensions/rawsensors/ext/build.bat +36 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/Rakefile +77 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/ext_build.files +1 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/jni/src/rawsensors.cpp +180 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/src/com/rawsensors/Rawsensors.java +355 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/Rakefile +97 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/Rawsensors.files +1 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/rawsensors.jdp +48 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/src/com/rawsensors/Rawsensors.java +118 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Classes/RawSensors.h +66 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Classes/RawSensors.m +351 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Rakefile +79 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Rawsensors.xcodeproj/project.pbxproj +316 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Rawsensors_Prefix.pch +7 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rakefile +62 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rawsensors.sln +44 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rawsensors.vcproj +647 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rawsensors.vsprops +15 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/src/rawsensors_wm.cpp +40 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/src/rawsensors_wm.h +2 -0
- data/lib/extensions/rawsensors/ext/rawsensors/shared/ruby/rawsensors.i +22 -0
- data/lib/extensions/rawsensors/ext/rawsensors/shared/ruby/rawsensors_wrap.c +2308 -0
- data/lib/extensions/rawsensors/ext/rawsensors/shared/src/rawsensors.c +25 -0
- data/lib/extensions/rawsensors/rawsensors.rb +36 -0
- data/lib/framework/autocomplete/AddressBar.rb +19 -0
- data/lib/framework/autocomplete/Alarm.rb +23 -0
- data/lib/framework/autocomplete/Alert.rb +19 -0
- data/lib/framework/autocomplete/AppApplication.rb +17 -0
- data/lib/framework/autocomplete/AppSwitcher.rb +13 -0
- data/lib/framework/autocomplete/Application.rb +23 -0
- data/lib/framework/autocomplete/AudioCapture.rb +31 -0
- data/lib/framework/autocomplete/BackButton.rb +25 -0
- data/lib/framework/autocomplete/Backlight.rb +21 -0
- data/lib/framework/autocomplete/Barcode.rb +29 -0
- data/lib/framework/autocomplete/BasicSocket.rb +87 -0
- data/lib/framework/autocomplete/Battery.rb +33 -0
- data/lib/framework/autocomplete/BottomCommandArea.rb +19 -0
- data/lib/framework/autocomplete/BrowserHelper.rb +19 -0
- data/lib/framework/autocomplete/Bsearch.rb +11 -0
- data/lib/framework/autocomplete/Camera.rb +17 -0
- data/lib/framework/autocomplete/CardReader.rb +29 -0
- data/lib/framework/autocomplete/Comm.rb +45 -0
- data/lib/framework/autocomplete/Cradle.rb +15 -0
- data/lib/framework/autocomplete/Date.rb +50 -0
- data/lib/framework/autocomplete/DateTime.rb +24 -0
- data/lib/framework/autocomplete/DateTimePicker.rb +15 -0
- data/lib/framework/autocomplete/Device.rb +19 -0
- data/lib/framework/autocomplete/Digest.rb +28 -0
- data/lib/framework/autocomplete/Dir.rb +63 -0
- data/lib/framework/autocomplete/Eink.rb +19 -0
- data/lib/framework/autocomplete/EmmlProfile.rb +19 -0
- data/lib/framework/autocomplete/File.rb +301 -0
- data/lib/framework/autocomplete/FileTransfer.rb +27 -0
- data/lib/framework/autocomplete/ForwardButton.rb +25 -0
- data/lib/framework/autocomplete/GeneratorController.rb +15 -0
- data/lib/framework/autocomplete/GeoLocation.rb +27 -0
- data/lib/framework/autocomplete/Gesture.rb +71 -0
- data/lib/framework/autocomplete/GoButton.rb +25 -0
- data/lib/framework/autocomplete/HashWithIndifferentAccess.rb +51 -0
- data/lib/framework/autocomplete/History.rb +11 -0
- data/lib/framework/autocomplete/HomeButton.rb +25 -0
- data/lib/framework/autocomplete/Hourglass.rb +17 -0
- data/lib/framework/autocomplete/IPSocket.rb +65 -0
- data/lib/framework/autocomplete/Imager.rb +53 -0
- data/lib/framework/autocomplete/IoAnalog.rb +73 -0
- data/lib/framework/autocomplete/IoDigital.rb +93 -0
- data/lib/framework/autocomplete/IoSystem.rb +21 -0
- data/lib/framework/autocomplete/JSON.rb +142 -0
- data/lib/framework/autocomplete/KeyCapture.rb +25 -0
- data/lib/framework/autocomplete/KeyState.rb +23 -0
- data/lib/framework/autocomplete/Keylight.rb +17 -0
- data/lib/framework/autocomplete/Lightsensor.rb +19 -0
- data/lib/framework/autocomplete/LocalizationSimplified.rb +33 -0
- data/lib/framework/autocomplete/MapView.rb +23 -0
- data/lib/framework/autocomplete/MediaPlayer.rb +19 -0
- data/lib/framework/autocomplete/Memory.rb +17 -0
- data/lib/framework/autocomplete/MinimizeButton.rb +25 -0
- data/lib/framework/autocomplete/NativeBar.rb +31 -0
- data/lib/framework/autocomplete/NavBar.rb +15 -0
- data/lib/framework/autocomplete/Network.rb +31 -0
- data/lib/framework/autocomplete/Notification.rb +35 -0
- data/lib/framework/autocomplete/OpenSSL.rb +440 -0
- data/lib/framework/autocomplete/Phonebook.rb +39 -0
- data/lib/framework/autocomplete/PowerOn.rb +13 -0
- data/lib/framework/autocomplete/Push.rb +27 -0
- data/lib/framework/autocomplete/QuitButton.rb +25 -0
- data/lib/framework/autocomplete/RHO_APPS_DIR.rb +8 -0
- data/lib/framework/autocomplete/RHO_ERB_EXT.rb +8 -0
- data/lib/framework/autocomplete/RHO_FRAMEWORK.rb +0 -0
- data/lib/framework/autocomplete/RHO_RB_EXT.rb +8 -0
- data/lib/framework/autocomplete/RawSensors.rb +53 -0
- data/lib/framework/autocomplete/Reboot.rb +13 -0
- data/lib/framework/autocomplete/Registry.rb +25 -0
- data/lib/framework/autocomplete/ReloadButton.rb +25 -0
- data/lib/framework/autocomplete/Rfid.rb +173 -0
- data/lib/framework/autocomplete/Rho.rb +496 -0
- data/lib/framework/autocomplete/RhoBluetooth.rb +41 -0
- data/lib/framework/autocomplete/RhoConf.rb +23 -0
- data/lib/framework/autocomplete/RhoElementsExt.rb +11 -0
- data/lib/framework/autocomplete/RhoLog.rb +13 -0
- data/lib/framework/autocomplete/RhoProfiler.rb +21 -0
- data/lib/framework/autocomplete/RhoStdout.rb +19 -0
- data/lib/framework/autocomplete/Rhodes.rb +13 -0
- data/lib/framework/autocomplete/RhodesNativeViewManager.rb +15 -0
- data/lib/framework/autocomplete/Rhom.rb +198 -0
- data/lib/framework/autocomplete/Rsm.rb +135 -0
- data/lib/framework/autocomplete/SQLite3.rb +36 -0
- data/lib/framework/autocomplete/SWIG.rb +24 -0
- data/lib/framework/autocomplete/ScanError.rb +9 -0
- data/lib/framework/autocomplete/Scanner.rb +379 -0
- data/lib/framework/autocomplete/ScreenOrientation.rb +23 -0
- data/lib/framework/autocomplete/SignatureCapture.rb +47 -0
- data/lib/framework/autocomplete/SignatureTool.rb +11 -0
- data/lib/framework/autocomplete/Sip.rb +19 -0
- data/lib/framework/autocomplete/SipButton.rb +25 -0
- data/lib/framework/autocomplete/Sntp.rb +13 -0
- data/lib/framework/autocomplete/Socket.rb +356 -0
- data/lib/framework/autocomplete/SocketError.rb +9 -0
- data/lib/framework/autocomplete/StopButton.rb +25 -0
- data/lib/framework/autocomplete/StringIO.rb +139 -0
- data/lib/framework/autocomplete/StringScanner.rb +102 -0
- data/lib/framework/autocomplete/Stylus.rb +15 -0
- data/lib/framework/autocomplete/SyncEngine.rb +77 -0
- data/lib/framework/autocomplete/System.rb +79 -0
- data/lib/framework/autocomplete/SystemTime.rb +17 -0
- data/lib/framework/autocomplete/TCPServer.rb +65 -0
- data/lib/framework/autocomplete/TCPSocket.rb +59 -0
- data/lib/framework/autocomplete/Telemetry.rb +23 -0
- data/lib/framework/autocomplete/Thread.rb +85 -0
- data/lib/framework/autocomplete/Time.rb +167 -0
- data/lib/framework/autocomplete/Timer.rb +19 -0
- data/lib/framework/autocomplete/TopCommandArea.rb +19 -0
- data/lib/framework/autocomplete/UDPSocket.rb +65 -0
- data/lib/framework/autocomplete/VideoCapture.rb +29 -0
- data/lib/framework/autocomplete/Volume.rb +13 -0
- data/lib/framework/autocomplete/Wake.rb +15 -0
- data/lib/framework/autocomplete/WebView.rb +31 -0
- data/lib/framework/autocomplete/Wlan.rb +87 -0
- data/lib/framework/autocomplete/Zoom.rb +15 -0
- data/lib/framework/autocomplete/ZoomInPageButton.rb +25 -0
- data/lib/framework/autocomplete/ZoomOutPageButton.rb +25 -0
- data/lib/framework/autocomplete/ZoomTextButton.rb +25 -0
- data/lib/framework/rho/render.rb +15 -4
- data/lib/framework/rho/rho.rb +17 -8
- data/lib/framework/rho/rhoapplication.rb +25 -3
- data/lib/framework/rho/rhocontact.rb +13 -0
- data/lib/framework/rho/rhoevent.rb +15 -0
- data/lib/framework/rho/rhonativeviewmanager.rb +3 -3
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhom/rhom.rb +5 -0
- data/lib/framework/rhomotoapi.rb +2 -1
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml +4 -3
- data/platform/android/Rhodes/AndroidManifest.xml.erb +7 -7
- data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +22 -0
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +1 -9
- data/platform/android/Rhodes/jni/src/callbacks.cpp +2 -0
- data/platform/android/Rhodes/jni/src/camera.cpp +5 -0
- data/platform/android/Rhodes/jni/src/event.cpp +10 -0
- data/platform/android/Rhodes/jni/src/geolocation.cpp +10 -0
- data/platform/android/Rhodes/jni/src/logger.cpp +3 -1
- data/platform/android/Rhodes/jni/src/phonebook.cpp +11 -0
- data/platform/android/Rhodes/jni/src/rhodes.cpp +1 -1
- data/platform/android/Rhodes/jni/src/rhodesapp.cpp +41 -25
- data/platform/android/Rhodes/jni/src/signature.cpp +7 -6
- data/platform/android/Rhodes/jni/src/webview.cpp +29 -0
- data/platform/android/Rhodes/project.properties +1 -1
- data/platform/android/Rhodes/res/drawable/icon.png +0 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/ConnectionChangeReceiver.java +28 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushContract.java +102 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +20 -56
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +9 -124
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +114 -126
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +26 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/PopupActivity.java +3 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java +31 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +2 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePicker.java +3 -7
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/CalendarIDsProvider.java +19 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/CalendarIDsProviderFroyo.java +5 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/CalendarIDsProviderICS.java +22 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +32 -22
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +5 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoListener.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +11 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +1 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/{webview → extmanager}/IRhoWebView.java +5 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +605 -492
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +16 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +9 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +43 -14
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +82 -64
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +28 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/GoogleMapView.java +4 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java +0 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +4 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality12.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality13.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality14.java +12 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +10 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java +3 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocketImpl.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +43 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebChromeClient.java +5 -0
- data/platform/android/build/RhodesSRC_build.files +10 -4
- data/platform/android/build/android.rake +46 -193
- data/platform/android/build/android_tools.rb +181 -13
- data/platform/bb/Hsqldb/src/org/hsqldb/CompiledStatementExecutor.java +3 -3
- data/platform/bb/Hsqldb/src/org/hsqldb/Expression.java +4 -2
- data/platform/bb/RubyVM/src/com/rho/IRhoRubyHelper.java +2 -0
- data/platform/bb/RubyVM/src/com/rho/RhoRuby.java +6 -0
- data/platform/bb/RubyVM/src/com/rho/ThreadQueue.java +13 -8
- data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +103 -1
- data/platform/bb/RubyVM/src/com/rho/db/DBAttrManager.java +18 -0
- data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +9 -2
- data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +16 -11
- data/platform/bb/RubyVM/src/com/rho/sync/ClientRegister.java +25 -3
- data/platform/bb/RubyVM/src/com/rho/sync/ISyncProtocol.java +1 -1
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +122 -32
- data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +44 -14
- data/platform/bb/RubyVM/src/com/rho/sync/SyncProtocol_3.java +3 -2
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +340 -88
- data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +62 -15
- data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/AttrReader.java +1 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyFixnum.java +3 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyHash.java +1 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyAPI.java +19 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyBasic.java +9 -0
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyBinding.java +4 -4
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyModule.java +13 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyObject.java +16 -1
- data/platform/bb/build/bb.rake +3 -1
- data/platform/bb/build/rhodes_build.files +0 -1
- data/platform/bb/rhodes/platform/4.7/com/rho/rubyext/SignatureCapture.java +13 -18
- data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +13 -3
- data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +1 -1
- data/platform/bb/rhodes/platform/common/com/rho/rubyext/SignatureCapture.java +13 -18
- data/platform/bb/rhodes/resources/icon.png +0 -0
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +10 -0
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +13 -3
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +5 -0
- data/platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java +1 -1
- data/platform/bb/rhodes/src/com/rho/file/Jsr75File.java +6 -1
- data/platform/bb/rhodes/src/com/rho/file/Jsr75RAFileImpl.java +6 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/GeoLocation.java +38 -9
- data/platform/bb/rhodes/src/com/rho/rubyext/SignatureCapture.java +13 -18
- data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +16 -1
- data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +0 -20
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +1 -10
- data/platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java +40 -35
- data/platform/iphone/Classes/AppManager/AppManager.h +1 -1
- data/platform/iphone/Classes/AppManager/AppManager.m +46 -29
- data/platform/iphone/Classes/Camera/PickImageDelegate.m +9 -0
- data/platform/iphone/Classes/Event/Event.h +6 -1
- data/platform/iphone/Classes/Event/Event.m +67 -1
- data/platform/iphone/Classes/GeoLocation/LocationController.h +2 -1
- data/platform/iphone/Classes/GeoLocation/LocationController.m +17 -1
- data/platform/iphone/Classes/NetworkStatusMonitor.h +17 -0
- data/platform/iphone/Classes/NetworkStatusMonitor.mm +58 -0
- data/platform/iphone/Classes/Phonebook/phonebook.h +6 -0
- data/platform/iphone/Classes/Phonebook/phonebook.m +62 -6
- data/platform/iphone/Classes/Reachability.h +31 -0
- data/platform/iphone/Classes/Reachability.m +223 -0
- data/platform/iphone/Classes/RhoMainView.h +1 -0
- data/platform/iphone/Classes/RhoViewController.m +16 -0
- data/platform/iphone/Classes/Rhodes.h +2 -0
- data/platform/iphone/Classes/Rhodes.m +89 -10
- data/platform/iphone/Classes/Signature/SignatureDelegate.m +4 -7
- data/platform/iphone/Classes/SimpleMainView.m +16 -0
- data/platform/iphone/Classes/SplashViewController.m +11 -1
- data/platform/iphone/Classes/SplitView/RightViewController.m +6 -0
- data/platform/iphone/Classes/SplitView/SplittedMainView.m +5 -0
- data/platform/iphone/Classes/TabbedMainView.m +4 -0
- data/platform/iphone/Classes/WebView.m +14 -0
- data/platform/iphone/Info.plist +1 -6
- data/platform/iphone/iTunesArtwork.jpg +0 -0
- data/platform/iphone/icon.png +0 -0
- data/platform/iphone/icon114.png +0 -0
- data/platform/iphone/icon57.png +0 -0
- data/platform/iphone/icon72.png +0 -0
- data/platform/iphone/rbuild/iphone.rake +8 -11
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +20 -4
- data/platform/osx/Rhodes Launcher/rhorunner.app/icon.png +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit +0 -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/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/accessible/libqtaccessiblewidgets.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqcorewlanbearer.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqgenericbearer.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqcncodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqjpcodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqkrcodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqtwcodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/graphicssystems/libqtracegraphicssystem.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqgif.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqico.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqjpeg.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqmng.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtga.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtiff.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_inspector.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_tcp.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Resources/rho.icns +0 -0
- data/platform/shared/common/ExtManager.h +8 -0
- data/platform/shared/common/RhoDefs.h +3 -2
- data/platform/shared/common/RhoFile.cpp +14 -1
- data/platform/shared/common/RhoMutexLock.h +4 -0
- data/platform/shared/common/RhoPort.h +5 -1
- data/platform/shared/common/RhoStd.h +12 -0
- data/platform/shared/common/RhoThread.cpp +1 -2
- data/platform/shared/common/RhoTime.h +4 -0
- data/platform/shared/common/RhodesApp.cpp +189 -65
- data/platform/shared/common/RhodesApp.h +60 -7
- data/platform/shared/common/RhodesAppBase.cpp +2 -8
- data/platform/shared/common/RhodesAppBase.h +1 -0
- data/platform/shared/common/ThreadQueue.cpp +2 -2
- data/platform/shared/common/app_build_configs.c +3 -1
- data/platform/shared/common/map/MapEngine.cpp +39 -3
- data/platform/shared/common/push/IRhoPushClient.h +3 -3
- data/platform/shared/common/push/RhoPushManager.cpp +31 -53
- data/platform/shared/common/push/RhoPushManager.h +12 -26
- data/platform/shared/curl/lib/curl_config.h +1 -1
- data/platform/shared/json/RJSONTokener.c +3 -1
- data/platform/shared/json/config.h +4 -4
- data/platform/shared/json/json_tokener.c +1 -1
- data/platform/shared/logging/RhoLog.cpp +5 -5
- data/platform/shared/logging/RhoLogConf.cpp +4 -6
- data/platform/shared/logging/RhoLogConf.h +2 -2
- data/platform/shared/logging/RhoLogSink.cpp +2 -0
- data/platform/shared/net/HttpServer.cpp +54 -7
- data/platform/shared/net/HttpServer.h +2 -0
- data/platform/shared/qt/rhodes/QtMainWindow.cpp +22 -0
- data/platform/shared/qt/rhodes/QtMainWindow.h +1 -0
- data/platform/shared/qt/rhodes/impl/CalendarImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/CameraImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/GeoLocationImpl.cpp +6 -0
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +7 -0
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +2 -0
- data/platform/shared/qt/rhodes/impl/PhonebookImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +5 -0
- data/platform/shared/qt/rhodes/impl/WebViewImpl.cpp +12 -0
- data/platform/shared/qt/rhodes/main.cpp +0 -7
- data/platform/shared/qt/rhodes/resources/rho.icns +0 -0
- data/platform/shared/qt/rhodes/resources/rho.ico +0 -0
- data/platform/shared/qt/rhodes/resources/rho.png +0 -0
- data/platform/shared/ruby/encoding.c +4 -0
- data/platform/shared/ruby/ext/calendar/calendar.i +3 -0
- data/platform/shared/ruby/ext/calendar/calendar_wrap.c +19 -0
- data/platform/shared/ruby/ext/camera/camera.i +2 -0
- data/platform/shared/ruby/ext/camera/camera_wrap.c +43 -2
- data/platform/shared/ruby/ext/geolocation/geolocation.i +4 -0
- data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +24 -4
- data/platform/shared/ruby/ext/phonebook/phonebook.i +4 -0
- data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +44 -0
- data/platform/shared/ruby/ext/rho/extensions.c +0 -2
- data/platform/shared/ruby/ext/rho/rhoruby.c +2 -0
- data/platform/shared/ruby/ext/rho/rhosupport.c +8 -0
- data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +1 -1
- data/platform/shared/ruby/ext/syncengine/syncengine.i +6 -2
- data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +19 -6
- data/platform/shared/ruby/ext/system/system.i +22 -0
- data/platform/shared/ruby/ext/system/system_wrap.c +158 -86
- data/platform/shared/ruby/ext/webview/webview.i +13 -8
- data/platform/shared/ruby/ext/webview/webview_wrap.c +88 -2
- data/platform/shared/ruby/include/ruby/win32.h +3 -1
- data/platform/shared/ruby/iphone/ruby/config.h +3 -3
- data/platform/shared/ruby/missing/hypot.c +4 -0
- data/platform/shared/ruby/random.c +6 -2
- data/platform/shared/ruby/thread_win32.c +8 -3
- data/platform/shared/ruby/win32/ruby/config.h +0 -3
- data/platform/shared/ruby/win32/win32.c +4 -0
- data/platform/shared/ruby/wp8/assert.c +12 -0
- data/platform/shared/ruby/wp8/assert.h +18 -0
- data/platform/shared/ruby/wp8/errno.c +11 -0
- data/platform/shared/ruby/wp8/errno.h +59 -0
- data/platform/shared/ruby/wp8/missing_wp8.h +74 -0
- data/platform/shared/ruby/wp8/signal.h +71 -0
- data/platform/shared/ruby/wp8/signal_wp8.c +26 -0
- data/platform/shared/ruby/wp8/stdio.c +36 -0
- data/platform/shared/ruby/wp8/stdlib.c +61 -0
- data/platform/shared/ruby/wp8/string_wp8.c +89 -0
- data/platform/shared/ruby/wp8/sys/stat.c +183 -0
- data/platform/shared/ruby/wp8/sys/stat.h +70 -0
- data/platform/shared/ruby/wp8/sys/timeb.c +31 -0
- data/platform/shared/ruby/wp8/sys/timeb.h +27 -0
- data/platform/shared/ruby/wp8/sys/types.h +62 -0
- data/platform/shared/ruby/wp8/sys/utime.c +44 -0
- data/platform/shared/ruby/wp8/sys/utime.h +27 -0
- data/platform/shared/ruby/wp8/time_wp8.c +256 -0
- data/platform/shared/ruby/wp8/varargs.h +34 -0
- data/platform/shared/ruby/wp8/win32/win32.c +5783 -0
- data/platform/shared/ruby/wp8/winsock_wp8.c +26 -0
- data/platform/shared/ruby/wp8/winsock_wp8.h +23 -0
- data/platform/shared/ruby/wp8/wp8.c +516 -0
- data/platform/shared/ruby/wp8/wp8.h +274 -0
- data/platform/shared/ruby/wp8/wp8main.c +18 -0
- data/platform/shared/rubyext/GeoLocation.cpp +1 -1
- data/platform/shared/rubyext/System.cpp +18 -4
- data/platform/shared/rubyext/ZipFiles.cpp +1 -1
- data/platform/shared/sync/ClientRegister.cpp +113 -23
- data/platform/shared/sync/ClientRegister.h +27 -16
- data/platform/shared/sync/ILoginListener.h +44 -0
- data/platform/shared/sync/SyncEngine.cpp +50 -24
- data/platform/shared/sync/SyncEngine.h +11 -5
- data/platform/shared/sync/SyncSource.cpp +87 -61
- data/platform/shared/sync/SyncSource.h +6 -3
- data/platform/shared/sync/SyncThread.cpp +8 -15
- data/platform/shared/sync/SyncThread.h +13 -7
- data/platform/shared/unzip/unzip.cpp +1 -1
- data/platform/shared/unzip/zip.h +8 -1
- data/platform/shared/xruby/src/com/xruby/runtime/builtin/AttrReader.java +13 -0
- data/platform/shared/xruby/src/com/xruby/runtime/builtin/RubyFixnum.java +3 -1
- data/platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java +9 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyBasic.java +9 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyBinding.java +17 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyMethod.java +22 -2
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyModule.java +25 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyObject.java +21 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyValue.java +8 -0
- data/platform/symbian/rhodes/src/phonebook/ruby_phonebook.cpp +6 -0
- data/platform/win32/RhoSimulator/Microsoft.VC90.CRT.manifest +12 -5
- data/platform/win32/RhoSimulator/Microsoft.VC90.OpenMP.manifest +12 -5
- data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
- data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
- data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
- data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qico4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qmng4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qsvg4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtiff4.dll +0 -0
- data/platform/win32/RhoSimulator/msvcm90.dll +0 -0
- data/platform/win32/RhoSimulator/msvcp90.dll +0 -0
- data/platform/win32/RhoSimulator/msvcr90.dll +0 -0
- data/platform/win32/RhoSimulator/phonon4.dll +0 -0
- data/platform/win32/RhoSimulator/vcomp90.dll +0 -0
- data/platform/wm/build/wm.rake +67 -22
- data/platform/wm/rhodes.sln +485 -493
- data/platform/wm/rhodes/IEBrowserEngine.cpp +2 -6
- data/platform/wm/rhodes/MainWindow.cpp +86 -35
- data/platform/wm/rhodes/MainWindow.h +33 -0
- data/platform/wm/rhodes/Rhodes.cpp +288 -215
- data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +22 -17
- data/platform/wm/rhodes/bluetooth/Bluetooth.h +3 -3
- data/platform/wm/rhodes/camera/Camera.cpp +4 -0
- data/platform/wm/rhodes/camera/Camera.h +1 -0
- data/platform/wm/rhodes/phonebook/phonebook.cpp +9 -0
- data/platform/wm/rhodes/phonebook/phonebook.h +2 -0
- data/platform/wm/rhodes/resources/icon.ico +0 -0
- data/platform/wm/rhodes/rho/common/ExtManager.cpp +5 -1
- data/platform/wm/rhodes/rho/common/RhoClassFactory.cpp +1 -11
- data/platform/wm/rhodes/rho/rubyext/GeoLocationImpl.cpp +5 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +21 -2
- data/platform/wm/rhodes/rho/rubyext/WebView.cpp +12 -0
- data/platform/wm/rhodes/rho/rubyext/calendar.cpp +9 -0
- data/platform/wm/rhodes/rhodes.vcproj +60 -60
- data/platform/wm/rhodes/simulator/MainWindowQt.cpp +91 -6
- data/platform/wm/rhodes/simulator/MainWindowQt.h +6 -0
- data/platform/wm/rhoelements.sln +624 -623
- data/platform/wm/tcmalloc/tcmalloc.vcproj +1230 -1070
- data/platform/wp7/RhoRubyLib/rubyext/RhoCamera.cs +6 -3
- data/platform/wp7/rhodes/Properties/WMAppManifest.xml +5 -0
- data/platform/wp7/rhodes/icon.png +0 -0
- data/platform/wp8/RhoAppRunner/Program.cs +99 -0
- data/platform/wp8/RhoAppRunner/Properties/AssemblyInfo.cs +36 -0
- data/platform/wp8/RhoAppRunner/RhoAppRunner.csproj +69 -0
- data/platform/wp8/build/wp.rake +486 -0
- data/platform/wp8/rhodes.sln +154 -0
- data/platform/wp8/rhodes/App.xaml +20 -0
- data/platform/wp8/rhodes/App.xaml.cs +189 -0
- data/platform/wp8/rhodes/Assets/ApplicationIcon.png +0 -0
- data/platform/wp8/rhodes/Assets/Tiles/FlipCycleTileMedium.png +0 -0
- data/platform/wp8/rhodes/Assets/Tiles/FlipCycleTileSmall.png +0 -0
- data/platform/wp8/rhodes/LocalizedStrings.cs +37 -0
- data/platform/wp8/rhodes/MainPage.xaml +21 -0
- data/platform/wp8/rhodes/MainPage.xaml.cs +339 -0
- data/platform/wp8/rhodes/Properties/AppManifest.xml +6 -0
- data/platform/wp8/rhodes/Properties/AssemblyInfo.cs +37 -0
- data/platform/wp8/rhodes/Properties/WMAppManifest.xml +47 -0
- data/platform/wp8/rhodes/Resources/AppResources.Designer.cs +127 -0
- data/platform/wp8/rhodes/Resources/AppResources.resx +135 -0
- data/platform/wp8/rhodes/common/IInputStream.cs +47 -0
- data/platform/wp8/rhodes/common/RhoFile.cs +374 -0
- data/platform/wp8/rhodes/common/RhoFilePath.cs +115 -0
- data/platform/wp8/rhodes/common/RhoResourceMap.cs +92 -0
- data/platform/wp8/rhodes/common/RhoStd.cs +237 -0
- data/platform/wp8/rhodes/icon.png +0 -0
- data/platform/wp8/rhodes/rhodes.csproj +198 -0
- data/platform/wp8/rholib/rholib.vcxproj +240 -0
- data/platform/wp8/rholib/rholib.vcxproj.filters +289 -0
- data/platform/wp8/rhoruntime/FakeDefs.cpp +134 -0
- data/platform/wp8/rhoruntime/common/ExtManager.cpp +449 -0
- data/platform/wp8/rhoruntime/common/RhoClassFactory.cpp +58 -0
- data/platform/wp8/rhoruntime/common/RhoClassFactory.h +60 -0
- data/platform/wp8/rhoruntime/common/RhoCryptImpl.cpp +274 -0
- data/platform/wp8/rhoruntime/common/RhoCryptImpl.h +78 -0
- data/platform/wp8/rhoruntime/common/RhoThreadImpl.cpp +109 -0
- data/platform/wp8/rhoruntime/common/RhoThreadImpl.h +56 -0
- data/platform/wp8/rhoruntime/pch_rhoruntime.cpp +27 -0
- data/platform/wp8/rhoruntime/pch_rhoruntime.h +30 -0
- data/platform/wp8/rhoruntime/rhoruntime.cpp +93 -0
- data/platform/wp8/rhoruntime/rhoruntime.h +114 -0
- data/platform/wp8/rhoruntime/rhoruntime.vcxproj +175 -0
- data/platform/wp8/rhoruntime/rhoruntime.vcxproj.filters +44 -0
- data/platform/wp8/rubylib/file.c +5459 -0
- data/platform/wp8/rubylib/rubylib.vcxproj +286 -0
- data/platform/wp8/rubylib/rubylib.vcxproj.filters +307 -0
- data/platform/wp8/sqlite3/crypto.c +933 -0
- data/platform/wp8/sqlite3/sqlite3.c +136332 -0
- data/platform/wp8/sqlite3/sqlite3.vcxproj +149 -0
- data/platform/wp8/sqlite3/sqlite3.vcxproj.filters +16 -0
- data/platform/wp8/syncengine/syncengine.vcxproj +199 -0
- data/platform/wp8/syncengine/syncengine.vcxproj.filters +155 -0
- data/rakefile.rb +61 -9
- data/res/build-tools/RhoAppRunnerWP8.exe +0 -0
- data/res/build-tools/license_rc.dll +0 -0
- data/res/build-tools/win32/license_rc.dll +0 -0
- data/res/build-tools/xruby-0.3.3.jar +0 -0
- data/res/generators/rhogen.rb +36 -0
- data/res/generators/templates/application/app/loading-568h@2x.png +0 -0
- data/res/generators/templates/application/app/loading-Landscape.png +0 -0
- data/res/generators/templates/application/app/loading-LandscapeLeft.png +0 -0
- data/res/generators/templates/application/app/loading-LandscapeRight.png +0 -0
- data/res/generators/templates/application/app/loading-Portrait.png +0 -0
- data/res/generators/templates/application/app/loading-PortraitUpsideDown.png +0 -0
- data/res/generators/templates/application/app/loading.png +0 -0
- data/res/generators/templates/application/app/loading@2x.png +0 -0
- data/res/generators/templates/application/icon/icon.ico +0 -0
- data/res/generators/templates/application/icon/icon.png +0 -0
- data/res/generators/templates/application/icon/icon114.png +0 -0
- data/res/generators/templates/application/icon/icon57.png +0 -0
- data/res/generators/templates/application/icon/icon72.png +0 -0
- data/res/generators/templates/application/public/css/android.css +1 -1
- data/res/generators/templates/application/public/jqmobile/images/icon-search-black.png +0 -0
- data/res/generators/templates/application/rhoconfig.txt +3 -1
- data/res/generators/templates/model/model.rb +1 -1
- data/res/icons/rho.icns +0 -0
- data/res/icons/rho.ico +0 -0
- data/res/icons/rho.png +0 -0
- data/res/icons/rhodes.icns +0 -0
- data/res/icons/rhodes.ico +0 -0
- data/res/icons/rhodes.png +0 -0
- data/res/icons/rhosim.icns +0 -0
- data/res/icons/rhosim.ico +0 -0
- data/res/icons/rhosim.png +0 -0
- data/res/libs/motorolalicence/android/MotorolaLicence.h +2 -1
- data/res/libs/motorolalicence/android/libMotorolaLicence.a +0 -0
- data/res/libs/motorolalicence/iphone/MotorolaLicence.h +2 -1
- data/res/libs/motorolalicence/iphone/libMotorolaLicence.a +0 -0
- data/spec/autocomplete_generator/Rakefile +37 -0
- data/spec/autocomplete_generator/app/Generator/controller.rb +40 -0
- data/spec/autocomplete_generator/app/Generator/generator.rb +236 -0
- data/spec/autocomplete_generator/app/Generator/index.erb +21 -0
- data/spec/autocomplete_generator/app/Settings/controller.rb +117 -0
- data/spec/autocomplete_generator/app/Settings/err_sync.erb +11 -0
- data/spec/autocomplete_generator/app/Settings/home.bb.erb +18 -0
- data/spec/autocomplete_generator/app/Settings/home.erb +19 -0
- data/spec/autocomplete_generator/app/Settings/index.bb.erb +31 -0
- data/spec/autocomplete_generator/app/Settings/index.erb +31 -0
- data/spec/autocomplete_generator/app/Settings/login.bb.erb +29 -0
- data/spec/autocomplete_generator/app/Settings/login.erb +25 -0
- data/spec/autocomplete_generator/app/Settings/reset.bb.erb +16 -0
- data/spec/autocomplete_generator/app/Settings/reset.erb +14 -0
- data/spec/autocomplete_generator/app/Settings/wait.bb.erb +10 -0
- data/spec/autocomplete_generator/app/Settings/wait.erb +10 -0
- data/spec/autocomplete_generator/app/application.rb +16 -0
- data/spec/autocomplete_generator/app/helpers/application_helper.rb +129 -0
- data/spec/autocomplete_generator/app/helpers/browser_helper.rb +22 -0
- data/spec/autocomplete_generator/app/index.bb.erb +21 -0
- data/spec/autocomplete_generator/app/index.erb +24 -0
- data/spec/autocomplete_generator/app/layout.erb +94 -0
- data/spec/autocomplete_generator/app/loading.html +11 -0
- data/spec/autocomplete_generator/build.yml +41 -0
- data/spec/autocomplete_generator/icon/icon.ico +0 -0
- data/spec/autocomplete_generator/icon/icon.png +0 -0
- data/spec/autocomplete_generator/icon/icon.svg +5334 -0
- data/spec/autocomplete_generator/icon/icon114.png +0 -0
- data/spec/autocomplete_generator/icon/icon57.png +0 -0
- data/spec/autocomplete_generator/icon/icon72.png +0 -0
- data/spec/autocomplete_generator/readme.txt +1 -0
- data/spec/autocomplete_generator/rhoconfig.txt +88 -0
- data/spec/autocomplete_generator/rhosimulator/Databases/Databases.db +0 -0
- data/spec/autocomplete_generator/rhosimulator/WebpageIcons.db +0 -0
- data/spec/autocomplete_generator/rhosimulator/db/syncdbuser.sqlite +0 -0
- data/spec/autocomplete_generator/rhosimulator/db/syncdbuser.sqlite.version +1 -0
- data/spec/autocomplete_generator/rhosimulator/rholog.txt_pos +1 -0
- data/spec/autocomplete_generator/rhosimulator/rhosimconfig.txt +8 -0
- data/spec/framework_spec/app/spec/rhomobile/NetHttp_spec.rb +22 -0
- data/spec/framework_spec/app/spec_runner.rb +12 -0
- data/spec/framework_spec/icon/icon.ico +0 -0
- data/spec/framework_spec/icon/icon.png +0 -0
- data/spec/perfomance_spec/icon/icon.ico +0 -0
- data/spec/perfomance_spec/icon/icon.png +0 -0
- data/spec/phone_spec/app/BlobBulkTest/blob_bulk_test.png +0 -0
- data/spec/phone_spec/app/BlobBulkTest_s/blob_bulk_test_s.png +0 -0
- data/spec/phone_spec/app/PartialTest/_index_partial.erb +5 -0
- data/spec/phone_spec/app/PartialTest/_index_partial_nested.erb +2 -0
- data/spec/phone_spec/app/PartialTest/index.erb +6 -0
- data/spec/phone_spec/app/spec/blob_bulksync_spec.rb +5 -3
- data/spec/phone_spec/app/spec/bulksync_spec.rb +33 -41
- data/spec/phone_spec/app/spec/database_spec.rb +5 -0
- data/spec/phone_spec/app/spec/json_spec.rb +50 -50
- data/spec/phone_spec/app/spec/rho_controller_spec.rb +29 -0
- data/spec/phone_spec/app/spec/syncengine_spec.rb +184 -47
- data/spec/phone_spec/app/spec_runner.rb +3 -2
- data/spec/phone_spec/icon/icon.ico +0 -0
- data/spec/phone_spec/icon/icon.png +0 -0
- data/spec/phone_spec/rhoconfig.txt +2 -0
- data/version +1 -1
- metadata +339 -47
- data/platform/android/Rhodes/PushReceiver.erb +0 -14
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +0 -126
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java +0 -83
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/Config.java +0 -246
- data/platform/bb/rhodes/src/com/rho/rubyext/PNGEncoder.java +0 -613
- data/res/icons/rho.psd +0 -0
- data/res/icons/rhodes.psd +0 -0
- data/res/icons/rhosim.psd +0 -0
data/doc/configuration.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Application Configuration
|
2
2
|
|
3
|
-
## Build time configuration
|
3
|
+
## Build time configuration
|
4
4
|
|
5
5
|
### Application Permissions and Capabilities
|
6
6
|
|
@@ -30,16 +30,17 @@ List of supported capabilities:
|
|
30
30
|
* record_audio: allow recording audio ('audio' implies it)
|
31
31
|
* vibrate: allow to use hardware vibration mechanism
|
32
32
|
* bluetooth: allow to use bluetooth hardware
|
33
|
+
* sdcard: allow writing to SD card on Android devices
|
33
34
|
|
34
35
|
### RhoGallery Security Token
|
35
36
|
|
36
|
-
To restrict access to the application it could be built with a security token. Specify security token in the build.yml and build application. Application built with security token can be started in normal mode only if you provide this token as a parameter.
|
37
|
+
To restrict access to the application it could be built with a security token. Specify security token in the build.yml and build application. Application built with security token can be started in normal mode only if you provide this token as a parameter.
|
37
38
|
If you do not specify correct security token in start params, application will close on start by default. If you want do something instead of exit (for example show special message or run application in limited mode etc.) you can define another start_path for your application in "rhoconfig.txt":
|
38
39
|
|
39
40
|
invalid_security_token_start_path = '/app/InvalidSecurityTokenStartPage'
|
40
41
|
|
41
42
|
Specify security token in build.yml:
|
42
|
-
|
43
|
+
|
43
44
|
security_token: 123
|
44
45
|
|
45
46
|
Run application with special parameter:
|
@@ -57,7 +58,7 @@ To enable JavaScript and/or CSS code obfuscation at `public` folder of Rhodes ap
|
|
57
58
|
|
58
59
|
If JavaScript or CSS code obfuscation is not required, then just omit `js` or `css` line accordingly.
|
59
60
|
|
60
|
-
NOTE: The `jqmobile`, `jqtouch`, and `jquery` folders <b>must</b> be excluded when obfuscation is enabled, because the obfuscated versions of these libraries are there already.
|
61
|
+
**NOTE: The `jqmobile`, `jqtouch`, and `jquery` folders <b>must</b> be excluded when obfuscation is enabled, because the obfuscated versions of these libraries are there already.
|
61
62
|
|
62
63
|
## Run time configuration
|
63
64
|
Each Rhodes application contains a configuration file called "rhoconfig.txt". A typical rhoconfig.txt will look like the following when an app is generated:
|
@@ -66,6 +67,8 @@ Startup page for your application
|
|
66
67
|
|
67
68
|
start_path = '/app'
|
68
69
|
|
70
|
+
NOTE: If you set your start path to a location not ending in .erb, then the ruby code in application.rb will not execute (ex. if you are trying to change the default menu, etc)
|
71
|
+
|
69
72
|
Path to the options page (in this case handled by javascript)
|
70
73
|
|
71
74
|
options_path = '/app/Settings'
|
@@ -74,31 +77,31 @@ Location of bundle url (i.e. from rhohub.com); used by desktop win32 simulator
|
|
74
77
|
|
75
78
|
rhobundle_zip_url = ''
|
76
79
|
|
77
|
-
Optional password to access bundle (usually not required); used by desktop win32 simulator
|
80
|
+
Optional password to access bundle (usually not required); used by desktop win32 simulator
|
78
81
|
|
79
82
|
rhobundle_zip_pwd = nil
|
80
83
|
|
81
84
|
Log level: 0-trace, 1-info(app level), 3-warnings, 4-errors. It is recommended for production set it to 3 to minimize log and increase speed lost due to log output
|
82
85
|
|
83
|
-
MinSeverity = 1
|
86
|
+
MinSeverity = 1
|
84
87
|
|
85
88
|
Enable copy log messages to standard output, useful for debugging
|
86
89
|
|
87
90
|
LogToOutput = 1
|
88
91
|
|
89
|
-
Log categories: '*' means all categories, otherwise list them : Cat1, Cat2
|
92
|
+
Log categories: '*' means all categories, otherwise list them : Cat1, Cat2
|
90
93
|
|
91
94
|
LogCategories = *
|
92
95
|
|
93
96
|
What log categories to exclude
|
94
97
|
|
95
|
-
ExcludeLogCategories =
|
98
|
+
ExcludeLogCategories =
|
96
99
|
|
97
100
|
Max log file size in Bytes, set 0 to unlimited size; when limit is reached, log wraps to beginning of file
|
98
101
|
|
99
102
|
MaxLogFileSize=50000
|
100
103
|
|
101
|
-
Custom log file path
|
104
|
+
Custom log file path. On Android devices "sdcard" capability must be enabled to allow writing to SD card.
|
102
105
|
|
103
106
|
LogFilePath = '/mnt/sdcard/myapp.log'
|
104
107
|
|
@@ -114,17 +117,17 @@ Skip http package body from log(for security reasons), off by default
|
|
114
117
|
|
115
118
|
log_skip_post = 1
|
116
119
|
|
117
|
-
Define exclude parameters log filter(for security reasons) - parameter names separated by comma, empty by default.
|
120
|
+
Define exclude parameters log filter(for security reasons) - parameter names separated by comma, empty by default.
|
118
121
|
|
119
122
|
log_exclude_filter = 'login, password'
|
120
123
|
|
121
124
|
Timeout of network requests in seconds (30 by default)
|
122
|
-
|
125
|
+
|
123
126
|
net_timeout = 60
|
124
127
|
|
125
|
-
Log server address where log will be posted by using RhoConf.send_log or from the log view. Log server source code is open and available at http://github.com/rhomobile/rhologs
|
128
|
+
Log server address where log will be posted by using RhoConf.send_log or from the log view. Log server source code is open and available at <http://github.com/rhomobile/rhologs>, so you can deploy your own logserver
|
126
129
|
|
127
|
-
logserver = 'http://rhologs.heroku.com'
|
130
|
+
logserver = 'http://rhologs.heroku.com'
|
128
131
|
|
129
132
|
Log file prefix - contain human-readable text
|
130
133
|
|
@@ -135,26 +138,31 @@ Sync server url, typically this will look like 'http://<hostname>:<port>/applica
|
|
135
138
|
syncserver = 'http://localhost:9292/application'
|
136
139
|
|
137
140
|
Set this option to 1 in order to open Rhodes app in full screen mode. Default is 1 for Android up to Rhodes 2.2.5. On all other platforms and on Android from Rhodes > 2.2.5 default is 0
|
138
|
-
|
141
|
+
|
139
142
|
full_screen = 1
|
140
143
|
|
141
|
-
Set this option to 1 in order to enable WebView zoom (Android only).
|
144
|
+
Set this option to 1 in order to enable WebView zoom (Android only). Default is 0
|
142
145
|
|
143
146
|
enable_screen_zoom = 1
|
144
147
|
|
148
|
+
Set application window width and hieght (Win32 only). Default is 400 x 600.
|
149
|
+
|
150
|
+
screen_width = 800
|
151
|
+
screen_height = 600
|
152
|
+
|
145
153
|
Port of the local (embedded) HTTP server. This parameter is mainly for debug purposes. If not specified, application will use dynamically selected one.
|
146
154
|
**NOTE WARNING!!! Remove this parameter before put application to production. **
|
147
|
-
|
155
|
+
|
148
156
|
local_server_port = 8080
|
149
157
|
|
150
158
|
Show status bar on windows mobile. Default is 1 (show)
|
151
|
-
|
159
|
+
|
152
160
|
wm_show_statusbar = 1
|
153
161
|
|
154
162
|
**NOTE: This parameter works only with Internet Explorer Browser. When you use Motorola WebKit browser, statusbar is not available **
|
155
163
|
|
156
164
|
Disable screen rotation. By default set to 0 (enabled). This option available on ANDROID and iPhone ONLY
|
157
|
-
|
165
|
+
|
158
166
|
disable_screen_rotation = 1
|
159
167
|
|
160
168
|
Disable closing app when pressing back on home screen on blackberry
|
@@ -166,17 +174,17 @@ Load images in background, this improve reaction speed on user actions, 0 by def
|
|
166
174
|
bb_loadimages_async = 0
|
167
175
|
|
168
176
|
Set to 0 to reset the bulksync_state and trigger a bulk sync the next time rhodes synchronizes
|
169
|
-
|
177
|
+
|
170
178
|
bulksync_state = 1
|
171
179
|
|
172
180
|
Hides forward button and animates back button transition
|
173
|
-
|
181
|
+
|
174
182
|
jqtouch_mode=1
|
175
183
|
|
176
184
|
Splash screen image display options. See more details [here](ui#loading-screen).
|
177
185
|
|
178
186
|
splash_screen='zoom'
|
179
|
-
|
187
|
+
|
180
188
|
Turn on Full Browser mode for Blackberry 4.6.0 and higher
|
181
189
|
|
182
190
|
use_bb_full_browser = 1
|
@@ -189,12 +197,20 @@ To use only models from bulk database. If true, application will not create mode
|
|
189
197
|
|
190
198
|
use_bulk_model = true
|
191
199
|
|
192
|
-
Disable WebView to check SSL
|
200
|
+
Disable WebView to check SSL certificate (Android). Used to allow proceed with self signed certificates. Use at your own risk. This configuration option works well for any Android version except 2.3.3/2.3.4 (due to Android WebView behavior).
|
193
201
|
|
194
202
|
no_ssl_verify_peer = 1
|
195
203
|
|
204
|
+
Allows finish sync if sync is active at the time when application is put to background. This parameter will take effect only on iOS devices.
|
205
|
+
|
206
|
+
finish_sync_in_background = 1
|
207
|
+
|
208
|
+
Enable web plugins (Flash etc.) on Android devices.
|
209
|
+
|
210
|
+
enable_web_plugins = 1
|
211
|
+
|
196
212
|
### Last Visited Page
|
197
|
-
To save/restore last visited page use WebView.current_location in on_ui_created/on_ui_destroyed of [
|
213
|
+
To save/restore last visited page use WebView.current_location in on_ui_created/on_ui_destroyed of [AppApplication class](application#appapplication-class).
|
198
214
|
|
199
215
|
### Application Database Version
|
200
216
|
If you want the next version of your application to start from a clean database, set app_db_version in rhoconfig.txt.
|
@@ -215,12 +231,12 @@ For example:
|
|
215
231
|
|
216
232
|
To get start_path:
|
217
233
|
:::ruby
|
218
|
-
Rho::RhoConfig.start_path
|
234
|
+
Rho::RhoConfig.start_path
|
219
235
|
#=> will return current value of start_path
|
220
|
-
|
221
|
-
To set start_path
|
236
|
+
|
237
|
+
To set start_path
|
222
238
|
:::ruby
|
223
|
-
Rho::RhoConfig.start_path = '/app/MyObject'
|
239
|
+
Rho::RhoConfig.start_path = '/app/MyObject'
|
224
240
|
#=> start_path will be saved to rhoconfig.txt as '/app/MyObject'
|
225
241
|
|
226
242
|
You may store any arbitrary options in the rhoconfig.txt file using the Ruby API. Keep in mind that they will may be lost the next time the user installs a new version of the application.
|
@@ -233,7 +249,7 @@ In the previous section, there is a "syncserver" option available. This option
|
|
233
249
|
:::ruby
|
234
250
|
SyncEngine.set_syncserver(
|
235
251
|
'http://examplesyncserver.com/apps/MyApp/sources/')
|
236
|
-
|
252
|
+
|
237
253
|
Calling the function above will do the following:
|
238
254
|
|
239
255
|
* Update the in-memory syncserver for the SyncEngine (all subsequent synchronization will use the new syncserver)
|
@@ -244,18 +260,18 @@ To enable auto sync you can call (enabled by default with 5 minutes interval )
|
|
244
260
|
|
245
261
|
:::ruby
|
246
262
|
SyncEngine.set_pollinterval(timeout_in_seconds)
|
247
|
-
|
263
|
+
|
248
264
|
OR set in rhoconfig.txt:
|
249
265
|
|
250
266
|
sync_poll_interval=timeout_in_seconds
|
251
267
|
|
252
|
-
To disable auto sync you can call
|
268
|
+
To disable auto sync you can call
|
253
269
|
|
254
270
|
:::ruby
|
255
271
|
SyncEngine.set_pollinterval(0)
|
256
272
|
|
257
273
|
OR set in rhoconfig.txt:
|
258
|
-
|
274
|
+
|
259
275
|
sync_poll_interval=0
|
260
276
|
|
261
277
|
### Logging
|
@@ -268,12 +284,12 @@ To send the log to the log server url, defined in rhoconfig.txt:
|
|
268
284
|
|
269
285
|
:::ruby
|
270
286
|
Rho::RhoConfig.send_log = "http://example.com/client_log?client_id=123&device_pin=345&log_name=mylog"
|
271
|
-
|
287
|
+
|
272
288
|
Url format: \<logserver\>/client_log?client_id=\<client_id\>&device_pin=\<device_pin\>&log_name=\<logname\>
|
273
289
|
|
274
290
|
### Persistent Storage (Blackberry only)
|
275
291
|
To enable use of the RIM persistent storage API in rhodes, just add following line to your rhoconfig.txt:
|
276
292
|
|
277
293
|
use_persistent_storage = 1
|
278
|
-
|
294
|
+
|
279
295
|
It will enable RIM's persistent storage API (instead of files) to store the DB version, the DB journal and the database itself. The main goal of persistent storage is that all objects stored by an application will be automatically removed when the application is uninstalled.
|
@@ -3,7 +3,7 @@ Connecting Directly to Web Services with Rhodes
|
|
3
3
|
Rhodes provides another utility for connecting to backend services besides the [`SyncEngine`](/rhodes/synchronization) called `AsyncHttp`. Your application can use the `AsyncHttp` library to interact with web services, pull remote images, etc.
|
4
4
|
|
5
5
|
## AsyncHttp API
|
6
|
-
Below is the list of available `AsyncHttp` methods you can use to
|
6
|
+
Below is the list of available `AsyncHttp` methods you can use to asynchronously make calls to http(s) services:
|
7
7
|
|
8
8
|
### Common Parameters
|
9
9
|
* `:url` - URL of the request.
|
@@ -15,13 +15,13 @@ Below is the list of available `AsyncHttp` methods you can use to asyncrhonously
|
|
15
15
|
#values will be decoded automatically in callback
|
16
16
|
|
17
17
|
* `:authentication` - (optional) Send Basic Auth header with request. This takes the form:
|
18
|
-
|
18
|
+
|
19
19
|
:authentication => {
|
20
|
-
:type => :basic,
|
21
|
-
:username => "john",
|
20
|
+
:type => :basic,
|
21
|
+
:username => "john",
|
22
22
|
:password => "secret"
|
23
|
-
}
|
24
|
-
|
23
|
+
}
|
24
|
+
|
25
25
|
* `:ssl_verify_peer` - (optional) Verify SSL certificates, `true` by default.
|
26
26
|
|
27
27
|
### `get(:url, :headers, :callback, :callback_param)`
|
@@ -42,8 +42,8 @@ Example using Basic Auth:
|
|
42
42
|
:headers => {"Cookie" => cookie},
|
43
43
|
:callback => (url_for :action => :httpget_callback),
|
44
44
|
:authentication => {
|
45
|
-
:type => :basic,
|
46
|
-
:username => "john",
|
45
|
+
:type => :basic,
|
46
|
+
:username => "john",
|
47
47
|
:password => "secret"
|
48
48
|
}
|
49
49
|
)
|
@@ -71,15 +71,15 @@ Perform HTTP POST request to the specified <code>:url</code>. As with get, you
|
|
71
71
|
:headers => {"Cookie" => cookie},
|
72
72
|
:body => "username=john&password=secret",
|
73
73
|
:callback => url_for(:action => :httppost_callback),
|
74
|
-
:callback_param => "post=complete"
|
74
|
+
:callback_param => "post=complete"
|
75
75
|
)
|
76
|
-
|
76
|
+
|
77
77
|
### `download_file(:url, :headers, :filename, :callback, :callback_param)`
|
78
78
|
Download a file to the specified filename.<a id="asynchttp-download_file-ex" />
|
79
79
|
|
80
80
|
:::ruby
|
81
81
|
file_name = File.join(Rho::RhoApplication::get_base_app_path, "test.jpg")
|
82
|
-
|
82
|
+
|
83
83
|
# :filename Full path to download file target.
|
84
84
|
Rho::AsyncHttp.download_file(
|
85
85
|
:url => "http://www.google.com/images/logos/ps_logo2.png",
|
@@ -87,15 +87,15 @@ Download a file to the specified filename.<a id="asynchttp-download_file-ex" />
|
|
87
87
|
:headers => {},
|
88
88
|
:callback => url_for(:action => :httpdownload_callback),
|
89
89
|
)
|
90
|
-
|
90
|
+
|
91
91
|
### `upload_file(:url, :headers, :filename, :body, :callback, :callback_param)`
|
92
92
|
Upload the specified file using HTTP POST:<a id="asynchttp-upload_file-ex" />
|
93
93
|
|
94
|
-
:::ruby
|
94
|
+
:::ruby
|
95
95
|
file_name = File.join(Rho::RhoApplication::get_base_app_path, "myfile.txt")
|
96
96
|
|
97
97
|
# :filename Full path to download file target.
|
98
|
-
# :post HTTP POST body to send with request.
|
98
|
+
# :post HTTP POST body to send with request.
|
99
99
|
Rho::AsyncHttp.upload_file(
|
100
100
|
:url => "http://example.com/receive_file",
|
101
101
|
:filename => file_name,
|
@@ -108,21 +108,21 @@ You can also send multiple files in a single `upload_file` request:
|
|
108
108
|
|
109
109
|
:::ruby
|
110
110
|
# :multipart Array of hashes containing
|
111
|
-
# file information.
|
111
|
+
# file information.
|
112
112
|
#
|
113
113
|
# :multipart[:filename] Name of file to be uploaded.
|
114
114
|
#
|
115
115
|
# :multipart[:filename_base] (optional) Base directory containing
|
116
116
|
# the :filename.
|
117
|
-
# :multipart[:name] (optional) File type, defaults
|
117
|
+
# :multipart[:name] (optional) File type, defaults
|
118
118
|
# to "blob".
|
119
119
|
#
|
120
|
-
# :multipart[:content_type] (optional) Content-Type header,
|
120
|
+
# :multipart[:content_type] (optional) Content-Type header,
|
121
121
|
# defaults to "application/octet-stream".
|
122
122
|
Rho::AsyncHttp.upload_file(
|
123
123
|
:url => "some_url",
|
124
124
|
:multipart => [
|
125
|
-
{
|
125
|
+
{
|
126
126
|
:filename => file_name,
|
127
127
|
# if missed base name from file path used
|
128
128
|
:filename_base => "files_to_upload",
|
@@ -138,14 +138,14 @@ You can also send multiple files in a single `upload_file` request:
|
|
138
138
|
]
|
139
139
|
)
|
140
140
|
|
141
|
-
### `cancel(cancel_callback = "*")`
|
141
|
+
### `cancel(cancel_callback = "*")`
|
142
142
|
Cancel the current `AsyncHttp` call. Defaults to "*", which cancels all requests.
|
143
143
|
|
144
144
|
:::ruby
|
145
145
|
AsyncHttp.cancel
|
146
146
|
|
147
147
|
## AsyncHttp Callback
|
148
|
-
As you noticed with each of the code samples above, we specified a `:callback` action. This will execute with the `AsyncHttp` request is completed.
|
148
|
+
As you noticed with each of the code samples above, we specified a `:callback` action. This will execute with the `AsyncHttp` request is completed.
|
149
149
|
|
150
150
|
### Callback Parameters
|
151
151
|
The following parameters are available in an `AsyncHttp` callback:
|
@@ -162,15 +162,15 @@ The following parameters are available in an `AsyncHttp` callback:
|
|
162
162
|
* `@params["http_error"]` - HTTP error code if response code was not 200.
|
163
163
|
|
164
164
|
## AsyncHttp and Animated Transitions
|
165
|
-
|
166
|
-
Adding an animated transition to an `AsyncHttp` request requires some small setup and is useful for displaying a smoother user experience.
|
165
|
+
|
166
|
+
Adding an animated transition to an `AsyncHttp` request requires some small setup and is useful for displaying a smoother user experience.
|
167
167
|
|
168
168
|
To enable an animated transition, the controller action must set a `"Wait-Page"` response header after making the `AsyncHttp` call. The response header tells the user interface that an `AsyncHttp` request has been spawned and that the rendered view should be treated as a transient page, it will not be added to the navigation history.
|
169
169
|
|
170
170
|
:::ruby
|
171
171
|
def async_show
|
172
172
|
Rho::AsyncHttp.get(
|
173
|
-
:url => "http://rhostore.
|
173
|
+
:url => "http://rhostore.herokuapp.com/products/#{@params["product_id"]}.json",
|
174
174
|
:callback => url_for(:action => :show_callback),
|
175
175
|
)
|
176
176
|
|
@@ -209,7 +209,7 @@ Also, you can disable caching on exact page transition with `data-dom-cache` att
|
|
209
209
|
|
210
210
|
### Note About Animated Transitions
|
211
211
|
|
212
|
-
If you deploy to platforms that don"t handle animated transitions (like Windows Mobile and BlackBerry), the controller will need to handle both cases. In your `AsyncHttp` request, you"ll need to set the `callback_param` with the `@request` variable.
|
212
|
+
If you deploy to platforms that don"t handle animated transitions (like Windows Mobile and BlackBerry), the controller will need to handle both cases. In your `AsyncHttp` request, you"ll need to set the `callback_param` with the `@request` variable.
|
213
213
|
|
214
214
|
There's a helper function called `caller_request_hash_to_query` defined in `ApplicationHelper` that you can invoke. The returned value is a string that looks like "_request=<json_request>", where `<json_request>` is the URL-encoded JSON representation of the `@request` value. This parameter is used to give the callback function some context of whether the user interface made the request with or without transition enabled.
|
215
215
|
|
@@ -217,7 +217,7 @@ There's a helper function called `caller_request_hash_to_query` defined in `Appl
|
|
217
217
|
include ApplicationHelper
|
218
218
|
def async_show
|
219
219
|
Rho::AsyncHttp.get(
|
220
|
-
:url => "http://rhostore.
|
220
|
+
:url => "http://rhostore.herokuapp.com/products/#{@params["product_id"]}.json",
|
221
221
|
:callback => url_for(:action => :show_callback),
|
222
222
|
:callback_param => caller_request_hash_to_query
|
223
223
|
)
|
@@ -249,19 +249,19 @@ In your callback function, the first thing you need to do is invoke `caller_requ
|
|
249
249
|
|
250
250
|
## AsyncHttp Example
|
251
251
|
Here is a controller in the [Rexml sample from the System API Samples](http://github.com/rhomobile/system-api-samples). It makes a `AsyncHttp.get` call to a test web service. Then it parses the web service response with rexml and displays the result.
|
252
|
-
|
252
|
+
|
253
253
|
:::ruby
|
254
254
|
def webservicetest
|
255
255
|
Rho::AsyncHttp.get(
|
256
|
-
:url => "http://rhostore.
|
256
|
+
:url => "http://rhostore.herokuapp.com/products.xml",
|
257
257
|
:callback => url_for(:action => :httpget_callback),
|
258
258
|
)
|
259
|
-
|
259
|
+
|
260
260
|
render :action => :wait
|
261
261
|
end
|
262
262
|
|
263
263
|
def get_res
|
264
|
-
@@get_result
|
264
|
+
@@get_result
|
265
265
|
end
|
266
266
|
|
267
267
|
def get_error
|
@@ -271,20 +271,20 @@ Here is a controller in the [Rexml sample from the System API Samples](http://gi
|
|
271
271
|
def httpget_callback
|
272
272
|
if @params["status"] != "ok"
|
273
273
|
@@error_params = @params
|
274
|
-
WebView.navigate( url_for(:action => :show_error) )
|
274
|
+
WebView.navigate( url_for(:action => :show_error) )
|
275
275
|
else
|
276
276
|
@@get_result = @params["body"]
|
277
277
|
|
278
278
|
begin
|
279
279
|
require "rexml/document"
|
280
|
-
|
280
|
+
|
281
281
|
doc = REXML::Document.new(@@get_result)
|
282
282
|
puts "doc : #{doc}"
|
283
283
|
rescue Exception => e
|
284
284
|
puts "Error: #{e}"
|
285
285
|
@@get_result = "Error: #{e}"
|
286
286
|
end
|
287
|
-
|
287
|
+
|
288
288
|
WebView.navigate( url_for(:action => :show_result) )
|
289
289
|
end
|
290
290
|
end
|
data/doc/contributing.txt
CHANGED
@@ -39,7 +39,7 @@ If you are interested us using your patch to Rhodes you will need to submit a [
|
|
39
39
|
Rhodes includes automated tests that can (and should) be run periodically against the codebase if you're modifying the Rhodes framework itself.
|
40
40
|
|
41
41
|
### Install Rhodes
|
42
|
-
The automated tests are a part of the Rhodes project on GitHub. To obtain the Rhodes source code and access the automated tests, follow the instructions in the [Setup Rhodes Source Code](
|
42
|
+
The automated tests are a part of the Rhodes project on GitHub. To obtain the Rhodes source code and access the automated tests, follow the instructions in the [Setup Rhodes Source Code](build#setting-up-rhodes-source-code) section. You will find two automated test sets under rhodes/spec/. One is called phone_spec, the other is framework_spec.
|
43
43
|
|
44
44
|
### Running Tests
|
45
45
|
Assuming you have already downloaded the necessary SDKs (instructions can be found [here](http://rhodocs.rhohub.com/rhodes/build)), all you need to do is execute the appropriate rake task. To execute the phone_spec, for example, you can do the following in Terminal:
|