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
@@ -8,8 +8,7 @@
|
|
8
8
|
#include <webvw.h>
|
9
9
|
#endif
|
10
10
|
|
11
|
-
extern "C"
|
12
|
-
extern "C" int rho_wm_impl_CheckSymbolDevice();
|
11
|
+
extern "C" void rho_wm_impl_CheckLicense();
|
13
12
|
|
14
13
|
CIEBrowserEngine::CIEBrowserEngine(HWND hParentWnd, HINSTANCE hInstance) :
|
15
14
|
m_spIWebBrowser2(NULL)
|
@@ -177,9 +176,6 @@ LRESULT CIEBrowserEngine::OnWebKitMessages(UINT uMsg, WPARAM wParam, LPARAM lPar
|
|
177
176
|
|
178
177
|
void CIEBrowserEngine::RunMessageLoop(CMainWindow& mainWnd)
|
179
178
|
{
|
180
|
-
if (!rho_wm_impl_CheckSymbolDevice())
|
181
|
-
return;
|
182
|
-
|
183
179
|
MSG msg;
|
184
180
|
while (GetMessage(&msg, NULL, 0, 0))
|
185
181
|
{
|
@@ -243,7 +239,7 @@ void CIEBrowserEngine::OnDocumentComplete(LPCTSTR url)
|
|
243
239
|
{
|
244
240
|
if(!m_bLoadingComplete && wcscmp(url,_T("about:blank"))!=0)
|
245
241
|
{
|
246
|
-
|
242
|
+
rho_wm_impl_CheckLicense();
|
247
243
|
m_bLoadingComplete = true;
|
248
244
|
}
|
249
245
|
}
|
@@ -275,6 +275,8 @@ LRESULT CMainWindow::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*
|
|
275
275
|
|
276
276
|
rho_rhodesapp_callUiCreatedCallback();
|
277
277
|
|
278
|
+
RHODESAPP().setNetworkStatusMonitor(&m_networkStatusMonitor);
|
279
|
+
|
278
280
|
return 0;
|
279
281
|
}
|
280
282
|
|
@@ -579,6 +581,15 @@ LRESULT CMainWindow::OnAuthenticationRequest (UINT /*uMsg*/, WPARAM wParam, LPAR
|
|
579
581
|
|
580
582
|
#endif //APP_BUILD_CAPABILITY_WEBKIT_BROWSER
|
581
583
|
|
584
|
+
LRESULT CMainWindow::OnWindowMinimized (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/)
|
585
|
+
{
|
586
|
+
ProcessActivate( FALSE, MAKEWPARAM(0,1), 0 );
|
587
|
+
|
588
|
+
::ShowWindow( m_hWnd, SW_MINIMIZE );
|
589
|
+
|
590
|
+
return 0;
|
591
|
+
}
|
592
|
+
|
582
593
|
LRESULT CMainWindow::OnActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/)
|
583
594
|
{
|
584
595
|
int fActive = LOWORD(wParam);
|
@@ -587,12 +598,18 @@ LRESULT CMainWindow::OnActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOO
|
|
587
598
|
if (lParam) //We get activate from some internal window
|
588
599
|
{
|
589
600
|
#if defined(_WIN32_WCE)
|
590
|
-
|
591
|
-
|
601
|
+
if (m_bFullScreen && fActive && (getSIPVisibleTop()<0))
|
602
|
+
RhoSetFullScreen(true);
|
592
603
|
#endif
|
593
604
|
return 0;
|
594
605
|
}
|
595
606
|
|
607
|
+
ProcessActivate( fActive, wParam, lParam );
|
608
|
+
return 0;
|
609
|
+
}
|
610
|
+
|
611
|
+
void CMainWindow::ProcessActivate( BOOL fActive, WPARAM wParam, LPARAM lParam )
|
612
|
+
{
|
596
613
|
#if defined(_WIN32_WCE)
|
597
614
|
if (m_bFullScreen)
|
598
615
|
RhoSetFullScreen(fActive!=0);
|
@@ -602,24 +619,10 @@ LRESULT CMainWindow::OnActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOO
|
|
602
619
|
#if defined(_WIN32_WCE) && !defined (OS_PLATFORM_MOTCE)
|
603
620
|
// Notify shell of our WM_ACTIVATE message
|
604
621
|
SHHandleWMActivate(m_hWnd, wParam, lParam, &m_sai, 0);
|
605
|
-
|
606
|
-
//pause_sync(!fActive);
|
607
|
-
/* TBD: Commented this out because it was called before http server started
|
608
|
-
We need to fix this properly
|
609
|
-
if ( fActive )
|
610
|
-
CHttpServer::Instance()->ResumeThread();
|
611
|
-
else
|
612
|
-
CHttpServer::Instance()->FreezeThread();
|
613
|
-
*/
|
614
|
-
//activate calls after javascript alerts, so we have viciouse cycle if alert is display in home page
|
615
|
-
//if ( rho::common::CRhodesApp::getInstance() != null )
|
616
|
-
// RHODESAPP().callAppActiveCallback(fActive!=0);
|
617
|
-
|
618
622
|
#endif
|
619
623
|
|
620
624
|
if (!fActive)
|
621
625
|
rho_geoimpl_turngpsoff();
|
622
|
-
return 0;
|
623
626
|
}
|
624
627
|
|
625
628
|
LRESULT CMainWindow::OnSetCookieCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/)
|
@@ -863,26 +866,57 @@ LRESULT CMainWindow::OnHotKey (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bH
|
|
863
866
|
|
864
867
|
return 1;
|
865
868
|
}
|
869
|
+
extern "C" HWND getMainWnd();
|
870
|
+
BOOL EnumChildProc(HWND hwnd,LPARAM lParam)
|
871
|
+
{
|
872
|
+
if ( getMainWnd() != ::GetParent(hwnd) )
|
873
|
+
return TRUE;
|
874
|
+
|
875
|
+
wchar_t szBuf[200];
|
876
|
+
GetWindowText(hwnd, szBuf, 199);
|
877
|
+
if (!*szBuf)
|
878
|
+
return TRUE;
|
879
|
+
|
880
|
+
DWORD dwStyles = GetWindowLong(hwnd, GWL_STYLE);
|
881
|
+
//LOG(INFO) + "Child: " + szBuf + "Styles: " + LOGFMT("0x%X") + dwStyles + "Popup: " + (((dwStyles&WS_POPUP) != 0) ? "1" : "0");
|
882
|
+
|
883
|
+
if ( *((HWND*)lParam) != hwnd && (dwStyles&WS_POPUP) != 0 )
|
884
|
+
{
|
885
|
+
HWND* pWnd = (HWND*)lParam;
|
886
|
+
*pWnd = hwnd;
|
887
|
+
return FALSE;
|
888
|
+
}
|
889
|
+
|
890
|
+
return TRUE;
|
891
|
+
}
|
866
892
|
|
867
893
|
LRESULT CMainWindow::OnSetFocus (UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/)
|
868
894
|
{
|
869
|
-
HWND
|
895
|
+
HWND hWndLostFocus = (HWND)wParam;
|
896
|
+
WCHAR wWindowName[30];
|
897
|
+
if (hWndLostFocus && GetClassName(hWndLostFocus, wWindowName, 30))
|
898
|
+
{
|
899
|
+
// Allow the following windows to remain having focus, avoids
|
900
|
+
// the bug where we're unable to select anything from a combo
|
901
|
+
// box
|
902
|
+
if (wcscmp(wWindowName, L"PopupWindowClass") == 0)
|
903
|
+
return 0;
|
904
|
+
}
|
870
905
|
|
871
|
-
|
906
|
+
//Look for popup window
|
907
|
+
HWND hChildPopUp = hWndLostFocus;
|
908
|
+
EnumWindows( EnumChildProc, (LPARAM)&hChildPopUp);
|
909
|
+
if ( hChildPopUp && hChildPopUp != hWndLostFocus)
|
910
|
+
{
|
911
|
+
::SetFocus(hChildPopUp);
|
912
|
+
return 0;
|
913
|
+
}
|
914
|
+
|
915
|
+
HWND hBrowserWnd = m_pBrowserEng ? m_pBrowserEng->GetHTMLWND() : NULL;
|
916
|
+
if (hBrowserWnd && ::IsWindowVisible(m_hWnd) ) //!::IsIconic(m_hWnd))
|
872
917
|
{
|
873
|
-
HWND hWndLostFocus = (HWND)wParam;
|
874
918
|
if (hWndLostFocus == hBrowserWnd)
|
875
919
|
return 0;
|
876
|
-
|
877
|
-
WCHAR wWindowName[30];
|
878
|
-
if (hWndLostFocus && GetClassName(hWndLostFocus, wWindowName, 30))
|
879
|
-
{
|
880
|
-
// Allow the following windows to remain having focus, avoids
|
881
|
-
// the bug where we're unable to select anything from a combo
|
882
|
-
// box
|
883
|
-
if (wcscmp(wWindowName, L"PopupWindowClass") == 0)
|
884
|
-
return 0;
|
885
|
-
}
|
886
920
|
::SetFocus(hBrowserWnd);
|
887
921
|
}
|
888
922
|
|
@@ -994,7 +1028,9 @@ LRESULT CMainWindow::OnStopNavigate(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWn
|
|
994
1028
|
|
995
1029
|
LRESULT CMainWindow::OnZoomPage(WORD /*wNotifyCode*/, WORD /*wID*/, HWND hWndCtl, BOOL& /*bHandled*/)
|
996
1030
|
{
|
997
|
-
|
1031
|
+
CRhoFloatData* pFloatData = (CRhoFloatData*)(hWndCtl);
|
1032
|
+
float fZoom = pFloatData->m_fValue;
|
1033
|
+
delete pFloatData;
|
998
1034
|
if ( m_pBrowserEng )
|
999
1035
|
m_pBrowserEng->ZoomPageOnTab(fZoom, rho_webview_active_tab());
|
1000
1036
|
|
@@ -1059,6 +1095,7 @@ LRESULT CMainWindow::OnConnectionsNetworkCount(UINT /*uMsg*/, WPARAM wParam, LPA
|
|
1059
1095
|
#if defined (_WIN32_WCE)
|
1060
1096
|
|
1061
1097
|
rho_sysimpl_sethas_network( wParam );
|
1098
|
+
m_networkStatusMonitor.notifyReceiver( ((int)wParam!=0)?rho::common::networkStatusConnected:rho::common::networkStatusDisconnected );
|
1062
1099
|
|
1063
1100
|
#endif
|
1064
1101
|
return 0;
|
@@ -1069,6 +1106,7 @@ LRESULT CMainWindow::OnConnectionsNetworkCell(UINT /*uMsg*/, WPARAM wParam, LPAR
|
|
1069
1106
|
#if defined (_WIN32_WCE)
|
1070
1107
|
|
1071
1108
|
rho_sysimpl_sethas_cellnetwork( (int)wParam );
|
1109
|
+
m_networkStatusMonitor.notifyReceiver( (wParam!=0)?rho::common::networkStatusConnected:rho::common::networkStatusDisconnected );
|
1072
1110
|
|
1073
1111
|
#endif
|
1074
1112
|
return 0;
|
@@ -1125,11 +1163,11 @@ LRESULT CMainWindow::OnAlertShowPopup (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM
|
|
1125
1163
|
m_SyncStatusDlg.setTitle( convertToStringW(params->m_title).c_str() );
|
1126
1164
|
if ( !m_SyncStatusDlg.m_hWnd )
|
1127
1165
|
m_SyncStatusDlg.Create(m_hWnd, 0);
|
1128
|
-
else
|
1129
|
-
{
|
1130
|
-
|
1131
|
-
|
1132
|
-
}
|
1166
|
+
//else
|
1167
|
+
//{
|
1168
|
+
m_SyncStatusDlg.ShowWindow(SW_SHOW);
|
1169
|
+
m_SyncStatusDlg.BringWindowToTop();
|
1170
|
+
//}
|
1133
1171
|
}else if (params->m_dlgType == CAlertDialog::Params::DLG_DEFAULT) {
|
1134
1172
|
MessageBox(convertToStringW(params->m_message).c_str(), strAppName.c_str(), MB_ICONWARNING | MB_OK);
|
1135
1173
|
RHODESAPP().callPopupCallback(params->m_callback, "ok", "ok");
|
@@ -1201,6 +1239,13 @@ LRESULT CMainWindow::OnExecuteCommand(UINT /*uMsg*/, WPARAM wParam, LPARAM lPara
|
|
1201
1239
|
}
|
1202
1240
|
|
1203
1241
|
|
1242
|
+
LRESULT CMainWindow::OnLicenseWarning (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/)
|
1243
|
+
{
|
1244
|
+
::MessageBoxW( m_hWnd, L"Please provide RhoElements license key.", L"Motorola License", MB_ICONERROR | MB_OK);
|
1245
|
+
|
1246
|
+
return 0;
|
1247
|
+
}
|
1248
|
+
|
1204
1249
|
LRESULT CMainWindow::OnLicenseScreen(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/)
|
1205
1250
|
{
|
1206
1251
|
LOG(INFO) + "OnLicenseScreen";
|
@@ -1215,6 +1260,12 @@ LRESULT CMainWindow::OnLicenseScreen(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam
|
|
1215
1260
|
}*/
|
1216
1261
|
}
|
1217
1262
|
#endif
|
1263
|
+
|
1264
|
+
//Fix issue with lost focus after License Screen hides
|
1265
|
+
HWND hBrowserWnd = m_pBrowserEng ? m_pBrowserEng->GetHTMLWND() : NULL;
|
1266
|
+
if (hBrowserWnd && !::IsIconic(m_hWnd))
|
1267
|
+
::SetFocus(hBrowserWnd);
|
1268
|
+
|
1218
1269
|
return 0;
|
1219
1270
|
}
|
1220
1271
|
|
@@ -103,6 +103,8 @@ static UINT WM_BLUETOOTH_DISCOVERED = ::RegisterWindowMessage(L"RHODES_WM_BLU
|
|
103
103
|
static UINT WM_BLUETOOTH_CALLBACK = ::RegisterWindowMessage(L"RHODES_WM_BLUETOOTH_CALLBACK");
|
104
104
|
static UINT WM_EXECUTE_COMMAND = ::RegisterWindowMessage(L"RHODES_WM_EXECUTE_COMMAND");
|
105
105
|
static UINT WM_EXECUTE_RUNNABLE = ::RegisterWindowMessage(L"RHODES_WM_EXECUTE_RUNNABLE");
|
106
|
+
static UINT WM_WINDOW_MINIMIZE = ::RegisterWindowMessage(L"RHODES_WM_MINIMIZE");
|
107
|
+
static UINT WM_SHOW_LICENSE_WARNING = ::RegisterWindowMessage(L"RHOELEMENTS_WM_LICENSE_WARNING");
|
106
108
|
extern UINT WM_LICENSE_SCREEN;
|
107
109
|
|
108
110
|
typedef struct _TCookieData {
|
@@ -110,6 +112,29 @@ typedef struct _TCookieData {
|
|
110
112
|
char* cookie;
|
111
113
|
} TCookieData;
|
112
114
|
|
115
|
+
namespace rho
|
116
|
+
{
|
117
|
+
namespace common
|
118
|
+
{
|
119
|
+
class WMNetworkStatusMonitor : public INetworkStatusMonitor
|
120
|
+
{
|
121
|
+
INetworkStatusReceiver* m_pReceiver;
|
122
|
+
public:
|
123
|
+
WMNetworkStatusMonitor() : m_pReceiver(0) {}
|
124
|
+
virtual void setPollInterval(int pollInterval) {}
|
125
|
+
virtual void setNetworkStatusReceiver(INetworkStatusReceiver* receiver) { m_pReceiver = receiver; }
|
126
|
+
void notifyReceiver( enNetworkStatus status )
|
127
|
+
{
|
128
|
+
if (m_pReceiver != 0)
|
129
|
+
{
|
130
|
+
m_pReceiver->onNetworkStatusChanged(status);
|
131
|
+
}
|
132
|
+
}
|
133
|
+
};
|
134
|
+
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
113
138
|
class CMainWindow :
|
114
139
|
#if defined(_WIN32_WCE)&& !defined( OS_PLATFORM_MOTCE )
|
115
140
|
public CFrameWindowImpl<CMainWindow>,
|
@@ -210,6 +235,8 @@ public:
|
|
210
235
|
MESSAGE_HANDLER(WM_BLUETOOTH_CALLBACK, OnBluetoothCallback);
|
211
236
|
MESSAGE_HANDLER(WM_EXECUTE_COMMAND, OnExecuteCommand);
|
212
237
|
MESSAGE_HANDLER(WM_EXECUTE_RUNNABLE, OnExecuteRunnable);
|
238
|
+
MESSAGE_HANDLER(WM_WINDOW_MINIMIZE, OnWindowMinimized);
|
239
|
+
MESSAGE_HANDLER(WM_SHOW_LICENSE_WARNING, OnLicenseWarning);
|
213
240
|
MESSAGE_HANDLER(WM_LICENSE_SCREEN, OnLicenseScreen);
|
214
241
|
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus);
|
215
242
|
MESSAGE_HANDLER(WM_HOTKEY, OnHotKey);
|
@@ -279,6 +306,8 @@ private:
|
|
279
306
|
LRESULT OnBluetoothCallback (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
280
307
|
LRESULT OnExecuteCommand (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
281
308
|
LRESULT OnExecuteRunnable (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
309
|
+
LRESULT OnWindowMinimized (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
310
|
+
LRESULT OnLicenseWarning (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
282
311
|
LRESULT OnLicenseScreen (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
283
312
|
LRESULT OnSetFocus (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
284
313
|
LRESULT OnHotKey (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
@@ -389,6 +418,10 @@ private:
|
|
389
418
|
CAlertDialog *m_alertDialog;
|
390
419
|
|
391
420
|
CSyncStatusDlg m_SyncStatusDlg;
|
421
|
+
|
422
|
+
WMNetworkStatusMonitor m_networkStatusMonitor;
|
423
|
+
|
424
|
+
void ProcessActivate( BOOL fActive, WPARAM wParam, LPARAM lParam );
|
392
425
|
};
|
393
426
|
|
394
427
|
#if !defined(_WIN32_WCE) || defined( OS_PLATFORM_MOTCE )
|
@@ -51,7 +51,7 @@ using namespace stdext;
|
|
51
51
|
typedef unsigned long VALUE;
|
52
52
|
#endif //!RUBY_RUBY_H
|
53
53
|
|
54
|
-
|
54
|
+
LPTSTR parseToken(LPCTSTR start, LPCTSTR* next_token);
|
55
55
|
extern "C" void rho_ringtone_manager_stop();
|
56
56
|
extern "C" void rho_sysimpl_sethas_network(int nValue);
|
57
57
|
extern "C" void rho_sysimpl_sethas_cellnetwork(int nValue);
|
@@ -64,6 +64,12 @@ extern "C" void rho_webview_navigate(const char* url, int index);
|
|
64
64
|
class CEng;
|
65
65
|
extern rho::IBrowserEngine* rho_wmimpl_get_webkitBrowserEngine(HWND hwndParent, HINSTANCE rhoAppInstance);
|
66
66
|
extern "C" CEng* rho_wmimpl_get_webkitbrowser(HWND hParentWnd, HINSTANCE hInstance);
|
67
|
+
#else
|
68
|
+
extern "C" void rho_wm_impl_SetApplicationLicenseObj(void* pAppLicenseObj)
|
69
|
+
{
|
70
|
+
if (pAppLicenseObj)
|
71
|
+
delete pAppLicenseObj;
|
72
|
+
}
|
67
73
|
#endif // APP_BUILD_CAPABILITY_WEBKIT_BROWSER
|
68
74
|
#ifdef APP_BUILD_CAPABILITY_SHARED_RUNTIME
|
69
75
|
extern "C" {
|
@@ -75,7 +81,7 @@ extern "C" {
|
|
75
81
|
bool rho_wmimpl_get_fullscreen();
|
76
82
|
void rho_wmimpl_set_is_version2(const char* path);
|
77
83
|
bool rho_wmimpl_get_is_version2();
|
78
|
-
|
84
|
+
const wchar_t* rho_wmimpl_sharedconfig_getvalue(const wchar_t* szName);
|
79
85
|
#if !defined( APP_BUILD_CAPABILITY_WEBKIT_BROWSER ) && !defined(APP_BUILD_CAPABILITY_MOTOROLA)
|
80
86
|
bool rho_wmimpl_get_is_version2(){ return 1;}
|
81
87
|
void rho_wmimpl_set_is_version2(const char* path){}
|
@@ -90,6 +96,7 @@ extern "C" {
|
|
90
96
|
const char* rho_wmimpl_get_logpath(){ return ""; }
|
91
97
|
int rho_wmimpl_is_loglevel_enabled(int nLogLevel){ return true; }
|
92
98
|
const int* rho_wmimpl_get_loglevel(){ return NULL; }
|
99
|
+
const wchar_t* rho_wmimpl_sharedconfig_getvalue(const wchar_t* szName){return 0;}
|
93
100
|
#endif
|
94
101
|
|
95
102
|
const unsigned int* rho_wmimpl_get_logmaxsize();
|
@@ -159,8 +166,9 @@ class CRhodesModule : public CAtlExeModuleT< CRhodesModule >
|
|
159
166
|
{
|
160
167
|
static HINSTANCE m_hInstance;
|
161
168
|
CMainWindow m_appWindow;
|
162
|
-
rho::String m_strRootPath, m_strRhodesPath, m_logPort, m_strRuntimePath;//, m_strDebugHost, m_strDebugPort;*/
|
169
|
+
rho::String m_strRootPath, m_strRhodesPath, m_logPort, m_strRuntimePath, m_strAppName;//, m_strDebugHost, m_strDebugPort;*/
|
163
170
|
int m_nRestarting;
|
171
|
+
bool m_isRhoConnectPush;
|
164
172
|
#ifndef RHODES_EMULATOR
|
165
173
|
HANDLE m_hMutex;
|
166
174
|
#endif
|
@@ -188,10 +196,11 @@ public :
|
|
188
196
|
void RunMessageLoop( ) throw( );
|
189
197
|
const rho::String& getRhoRootPath();
|
190
198
|
const rho::String& getRhoRuntimePath();
|
191
|
-
|
192
|
-
|
199
|
+
const rho::String& getAppName();
|
193
200
|
};
|
194
201
|
|
202
|
+
void parseHttpProxyURI(const rho::String &http_proxy);
|
203
|
+
|
195
204
|
static String g_strCmdLine;
|
196
205
|
HINSTANCE CRhodesModule::m_hInstance;
|
197
206
|
CRhodesModule _AtlModule;
|
@@ -211,151 +220,138 @@ rho::IBrowserEngine* rho_wmimpl_createBrowserEngine(HWND hwndParent)
|
|
211
220
|
bool CRhodesModule::ParseCommandLine(LPCTSTR lpCmdLine, HRESULT* pnRetCode ) throw( )
|
212
221
|
{
|
213
222
|
m_nRestarting = 1;
|
214
|
-
|
215
|
-
LPCTSTR
|
223
|
+
LPCTSTR lpszToken = lpCmdLine;
|
224
|
+
LPCTSTR nextToken;
|
216
225
|
getRhoRootPath();
|
217
226
|
|
218
227
|
m_logPort = "";
|
228
|
+
m_isRhoConnectPush = false;
|
219
229
|
|
220
230
|
while (lpszToken != NULL)
|
221
231
|
{
|
222
|
-
|
223
|
-
|
232
|
+
// skip leading spaces and double-quote (if present)
|
233
|
+
bool doubleQuote = false;
|
234
|
+
while ((*lpszToken != 0) && ((*lpszToken==' ') || ((!doubleQuote) && (*lpszToken=='"')))) {
|
235
|
+
if (*lpszToken=='"')
|
236
|
+
doubleQuote = true;
|
237
|
+
lpszToken++;
|
238
|
+
}
|
239
|
+
// skip leading spaces and check for leading '/' or '-' of command line option
|
240
|
+
bool isCmdLineOpt = false;
|
241
|
+
while ((*lpszToken != 0) && ((*lpszToken==' ') || ((!isCmdLineOpt) && ((*lpszToken=='/') || (*lpszToken=='-'))))) {
|
242
|
+
if ((*lpszToken=='/') || (*lpszToken=='-'))
|
243
|
+
isCmdLineOpt = true;
|
244
|
+
lpszToken++;
|
224
245
|
}
|
246
|
+
// finish command line processing on EOL
|
247
|
+
if (*lpszToken == 0) break;
|
248
|
+
|
249
|
+
// if option starts with double-quote, find its end by next double-quote;
|
250
|
+
// otherwise the end will be found automatically
|
251
|
+
nextToken = doubleQuote ? FindOneOf(lpszToken, _T("\"")) : NULL;
|
252
|
+
|
253
|
+
//parseToken will allocate extra byte at the end of the returned token value
|
254
|
+
LPTSTR value = parseToken( lpszToken, &nextToken );
|
225
255
|
|
226
|
-
if (
|
227
|
-
|
228
|
-
|
229
|
-
//parseToken will allocate extra byte at the end of the returned token value
|
230
|
-
char* port = parseToken( token.c_str(), token.length() );
|
231
|
-
if (port) {
|
232
|
-
String strLogPort = port;
|
233
|
-
m_logPort = strLogPort;
|
234
|
-
free(port);
|
256
|
+
if (isCmdLineOpt) {
|
257
|
+
if (WordCmpI(lpszToken, _T("Restarting"))==0) {
|
258
|
+
m_nRestarting = 10;
|
235
259
|
}
|
236
|
-
|
237
|
-
|
260
|
+
|
261
|
+
if (WordCmpI(lpszToken, _T("rhoconnectpush"))==0) {
|
262
|
+
m_isRhoConnectPush = true;
|
263
|
+
}
|
264
|
+
|
265
|
+
else if (wcsncmp(lpszToken, _T("log"), 3)==0)
|
266
|
+
{
|
267
|
+
if (value) {
|
268
|
+
m_logPort = convertToStringA(value);
|
269
|
+
}
|
270
|
+
else {
|
271
|
+
m_logPort = rho::String("11000");
|
272
|
+
}
|
238
273
|
}
|
239
|
-
}
|
240
274
|
|
241
275
|
#if defined(APP_BUILD_CAPABILITY_SHARED_RUNTIME)
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
free(path);
|
276
|
+
else if (wcsnicmp(lpszToken, _T("s"),1)==0)
|
277
|
+
{
|
278
|
+
if (value) {
|
279
|
+
// RhoElements v1.0 compatibility mode
|
280
|
+
String strPath = convertToStringA(value);
|
281
|
+
rho_wmimpl_set_startpage(strPath.c_str());
|
282
|
+
}
|
250
283
|
}
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
token.erase(0,7);
|
260
|
-
rho_wmimpl_set_configfilepath(token.c_str());
|
261
|
-
free(path);
|
284
|
+
else if (wcsnicmp(lpszToken, _T("c"),1)==0)
|
285
|
+
{
|
286
|
+
if (value) {
|
287
|
+
String strPath = convertToStringA(value);
|
288
|
+
if (strPath.substr(0,7).compare("file://")==0)
|
289
|
+
strPath.erase(0,7);
|
290
|
+
rho_wmimpl_set_configfilepath(strPath.c_str());
|
291
|
+
}
|
262
292
|
}
|
263
|
-
}
|
264
293
|
#endif // APP_BUILD_CAPABILITY_SHARED_RUNTIME
|
265
294
|
|
266
295
|
#if defined(OS_WINDOWS_DESKTOP)
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
m_strHttpProxy = proxy;
|
275
|
-
free(proxy);
|
276
|
-
}
|
277
|
-
else
|
278
|
-
LOG(WARNING) + "invalid value for \"http_proxy_url\" cmd parameter";
|
296
|
+
else if (wcsncmp(lpszToken, _T("http_proxy_url"),14)==0)
|
297
|
+
{
|
298
|
+
if (value) {
|
299
|
+
m_strHttpProxy = convertToStringA(value);
|
300
|
+
}
|
301
|
+
else
|
302
|
+
LOG(WARNING) + "invalid value for \"http_proxy_url\" cmd parameter";
|
279
303
|
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
if (!(path[len-1]=='\\' || path[len-1]=='/')) {
|
288
|
-
#ifdef RHODES_EMULATOR
|
289
|
-
path[len] = '/';
|
290
|
-
#else
|
291
|
-
path[len] = '\\';
|
292
|
-
#endif
|
293
|
-
path[len+1] = 0;
|
304
|
+
} else if (wcsncmp(lpszToken, _T("approot"),7)==0)
|
305
|
+
{
|
306
|
+
if (value) {
|
307
|
+
m_strRootPath = convertToStringA(value);
|
308
|
+
String_replace(m_strRootPath, '\\', '/');
|
309
|
+
if (m_strRootPath.at(m_strRootPath.length()-1)!='/')
|
310
|
+
m_strRootPath.append("/");
|
294
311
|
}
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
}
|
318
|
-
} else if (wcsncmp(lpszToken, _T("debughost"),9)==0)
|
319
|
-
{
|
320
|
-
String token = convertToStringA(lpszToken);
|
321
|
-
//parseToken will allocate extra byte at the end of the returned token value
|
322
|
-
char* host = parseToken( token.c_str(), token.length() );
|
323
|
-
if (host) {
|
324
|
-
m_strDebugHost = host;
|
325
|
-
free(host);
|
326
|
-
}
|
327
|
-
} else if (wcsncmp(lpszToken, _T("debugport"),9)==0)
|
328
|
-
{
|
329
|
-
String token = convertToStringA(lpszToken);
|
330
|
-
//parseToken will allocate extra byte at the end of the returned token value
|
331
|
-
char* port = parseToken( token.c_str(), token.length() );
|
332
|
-
if (port) {
|
333
|
-
m_strDebugPort = port;
|
334
|
-
free(port);
|
335
|
-
}
|
336
|
-
} */
|
312
|
+
} else if (wcsncmp(lpszToken, _T("rhodespath"),10)==0)
|
313
|
+
{
|
314
|
+
if (value) {
|
315
|
+
m_strRhodesPath = convertToStringA(value);
|
316
|
+
String_replace(m_strRhodesPath, '\\', '/');
|
317
|
+
}
|
318
|
+
} /* else if (wcsncmp(lpszToken, _T("appname"),7)==0)
|
319
|
+
{
|
320
|
+
if (value) {
|
321
|
+
m_strAppNameW = convertToStringW(value);
|
322
|
+
}
|
323
|
+
} else if (wcsncmp(lpszToken, _T("debughost"),9)==0)
|
324
|
+
{
|
325
|
+
if (value) {
|
326
|
+
m_strDebugHost = convertToStringA(value);
|
327
|
+
}
|
328
|
+
} else if (wcsncmp(lpszToken, _T("debugport"),9)==0)
|
329
|
+
{
|
330
|
+
if (value) {
|
331
|
+
m_strDebugPort = convertToStringA(value);
|
332
|
+
}
|
333
|
+
} */
|
337
334
|
#else
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
m_strRootPath.append("/");
|
350
|
-
m_strRootPath.append("rho/");
|
335
|
+
else if (wcsnicmp(lpszToken, _T("approot"),7)==0)
|
336
|
+
{
|
337
|
+
if (value) {
|
338
|
+
// RhoElements v2.0 Shared Runtime command line parameter
|
339
|
+
m_strRootPath = convertToStringA(value);
|
340
|
+
if (m_strRootPath.substr(0,7).compare("file://")==0)
|
341
|
+
m_strRootPath.erase(0,7);
|
342
|
+
String_replace(m_strRootPath, '\\', '/');
|
343
|
+
if (m_strRootPath.at(m_strRootPath.length()-1)!='/')
|
344
|
+
m_strRootPath.append("/");
|
345
|
+
m_strRootPath.append("rho/");
|
351
346
|
#ifdef APP_BUILD_CAPABILITY_SHARED_RUNTIME
|
352
|
-
|
347
|
+
rho_wmimpl_set_is_version2(m_strRootPath.c_str());
|
353
348
|
#endif
|
354
|
-
|
355
|
-
|
356
|
-
}
|
349
|
+
}
|
350
|
+
}
|
357
351
|
#endif
|
358
|
-
|
352
|
+
}
|
353
|
+
if (value) free(value);
|
354
|
+
lpszToken = nextToken;
|
359
355
|
}
|
360
356
|
|
361
357
|
return __super::ParseCommandLine(lpCmdLine, pnRetCode);
|
@@ -372,7 +368,7 @@ extern "C" void rho_sys_impl_exit_with_errormessage(const char* szTitle, const c
|
|
372
368
|
|
373
369
|
extern "C" void rho_scanner_TEST(HWND hwnd);
|
374
370
|
extern "C" void rho_scanner_TEST2();
|
375
|
-
extern "C"
|
371
|
+
extern "C" void rho_wm_impl_CheckLicense();
|
376
372
|
|
377
373
|
// This method is called immediately before entering the message loop.
|
378
374
|
// It contains initialization code for the application.
|
@@ -405,7 +401,8 @@ HRESULT CRhodesModule::PreMessageLoop(int nShowCmd) throw()
|
|
405
401
|
|
406
402
|
if (hWnd)
|
407
403
|
{
|
408
|
-
|
404
|
+
SendMessage( hWnd, PB_WINDOW_RESTORE, NULL, TRUE);
|
405
|
+
SetForegroundWindow( hWnd );
|
409
406
|
return S_FALSE;
|
410
407
|
}
|
411
408
|
|
@@ -478,11 +475,20 @@ HRESULT CRhodesModule::PreMessageLoop(int nShowCmd) throw()
|
|
478
475
|
#ifdef OS_WINDOWS_DESKTOP
|
479
476
|
if (m_strHttpProxy.length() > 0) {
|
480
477
|
parseHttpProxyURI(m_strHttpProxy);
|
481
|
-
} else
|
478
|
+
} else
|
479
|
+
#endif
|
480
|
+
{
|
482
481
|
if (RHOCONF().isExist("http_proxy_url")) {
|
483
482
|
parseHttpProxyURI(RHOCONF().getString("http_proxy_url"));
|
483
|
+
#if defined(OS_WINDOWS_DESKTOP) || defined(RHODES_EMULATOR)
|
484
|
+
} else {
|
485
|
+
// it's important to call this method from here to perform
|
486
|
+
// a proper initialization of proxy implementation for Win32
|
487
|
+
GetAppWindow().setProxy();
|
488
|
+
#endif
|
484
489
|
}
|
485
490
|
}
|
491
|
+
|
486
492
|
#ifdef RHODES_EMULATOR
|
487
493
|
if (RHOSIMCONF().getString("debug_host").length() > 0)
|
488
494
|
SetEnvironmentVariableA("RHOHOST", RHOSIMCONF().getString("debug_host").c_str() );
|
@@ -490,7 +496,6 @@ HRESULT CRhodesModule::PreMessageLoop(int nShowCmd) throw()
|
|
490
496
|
SetEnvironmentVariableA("rho_debug_port", RHOSIMCONF().getString("debug_port").c_str() );
|
491
497
|
#endif
|
492
498
|
|
493
|
-
#endif
|
494
499
|
//::SetThreadPriority(GetCurrentThread(),10);
|
495
500
|
|
496
501
|
//Check for bundle directory is exists.
|
@@ -560,15 +565,16 @@ HRESULT CRhodesModule::PreMessageLoop(int nShowCmd) throw()
|
|
560
565
|
m_appWindow.ShowWindow(nShowCmd);
|
561
566
|
|
562
567
|
#ifndef RHODES_EMULATOR
|
563
|
-
|
564
|
-
if ( !nRes )
|
565
|
-
::MessageBoxW(0, L"Please provide RhoElements license key.", L"Motorola License", MB_ICONERROR | MB_OK);
|
568
|
+
rho_wm_impl_CheckLicense();
|
566
569
|
#endif
|
567
570
|
|
568
571
|
#else
|
569
572
|
String strTitle = RHODESAPP().getAppTitle();
|
570
573
|
m_appWindow.Create(NULL, CWindow::rcDefault, convertToStringW(strTitle).c_str(), dwStyle);
|
571
574
|
|
575
|
+
//if( m_isRhoConnectPush )
|
576
|
+
// m_appWindow.ShowWindow(SW_MINIMIZE);
|
577
|
+
|
572
578
|
if (NULL == m_appWindow.m_hWnd)
|
573
579
|
{
|
574
580
|
return S_FALSE;
|
@@ -619,13 +625,6 @@ HRESULT CRhodesModule::PreMessageLoop(int nShowCmd) throw()
|
|
619
625
|
{
|
620
626
|
RHODESAPP().startApp();
|
621
627
|
|
622
|
-
#ifdef RHODES_EMULATOR
|
623
|
-
int width = RHOSIMCONF().getInt("screen_width");
|
624
|
-
int height = RHOSIMCONF().getInt("screen_height");
|
625
|
-
if ((width>0) && (height>0))
|
626
|
-
m_appWindow.setSize(width, height);
|
627
|
-
#endif
|
628
|
-
|
629
628
|
// Navigate to the "loading..." page
|
630
629
|
m_appWindow.Navigate2(_T("about:blank")
|
631
630
|
#if defined(OS_WINDOWS_DESKTOP)
|
@@ -674,7 +673,8 @@ HRESULT CRhodesModule::PreMessageLoop(int nShowCmd) throw()
|
|
674
673
|
&g_hNotifyCell);
|
675
674
|
|
676
675
|
#elif !defined( OS_PLATFORM_MOTCE )
|
677
|
-
|
676
|
+
if (RHOCONF().getString("test_push_client").length() > 0 )
|
677
|
+
rho_clientregister_create(RHOCONF().getString("test_push_client").c_str());//"win32_client");
|
678
678
|
#endif
|
679
679
|
|
680
680
|
return S_OK;
|
@@ -700,9 +700,9 @@ void CRhodesModule::RunMessageLoop( ) throw( )
|
|
700
700
|
#endif
|
701
701
|
rho_ringtone_manager_stop();
|
702
702
|
|
703
|
-
|
704
|
-
|
705
|
-
|
703
|
+
//#if !defined(_WIN32_WCE)
|
704
|
+
// rho::sync::CClientRegister::Destroy();
|
705
|
+
//#endif
|
706
706
|
|
707
707
|
#if defined(OS_WINDOWS_DESKTOP)
|
708
708
|
m_appWindow.DestroyUi();
|
@@ -721,9 +721,39 @@ const rho::String& CRhodesModule::getRhoRootPath()
|
|
721
721
|
{
|
722
722
|
if ( m_strRootPath.length() == 0 )
|
723
723
|
m_strRootPath = getRhoRuntimePath();
|
724
|
+
|
724
725
|
return m_strRootPath;
|
725
726
|
}
|
726
727
|
|
728
|
+
const rho::String& CRhodesModule::getAppName()
|
729
|
+
{
|
730
|
+
if ( m_strAppName.length() == 0 )
|
731
|
+
{
|
732
|
+
#if defined(APP_BUILD_CAPABILITY_SHARED_RUNTIME)
|
733
|
+
bool bRE1App = false;
|
734
|
+
if (!rho_wmimpl_get_is_version2())
|
735
|
+
bRE1App = true;
|
736
|
+
if ( bRE1App )
|
737
|
+
m_strAppName = convertToStringA( rho_wmimpl_sharedconfig_getvalue( L"General\\Name" ) );
|
738
|
+
else
|
739
|
+
{
|
740
|
+
String path = getRhoRootPath();
|
741
|
+
String_replace(path, '/', '\\');
|
742
|
+
|
743
|
+
int nEnd = path.find_last_of('\\');
|
744
|
+
nEnd = path.find_last_of('\\', nEnd-1)-1;
|
745
|
+
|
746
|
+
int nStart = path.find_last_of('\\', nEnd) +1;
|
747
|
+
m_strAppName = path.substr( nStart, nEnd-nStart+1);
|
748
|
+
}
|
749
|
+
#else
|
750
|
+
m_strAppName = get_app_build_config_item("name");
|
751
|
+
#endif
|
752
|
+
}
|
753
|
+
|
754
|
+
return m_strAppName;
|
755
|
+
}
|
756
|
+
|
727
757
|
const rho::String& CRhodesModule::getRhoRuntimePath()
|
728
758
|
{
|
729
759
|
if ( m_strRuntimePath.length() == 0 )
|
@@ -802,21 +832,17 @@ void rho_platform_restart_application()
|
|
802
832
|
typedef bool (WINAPI *PCSD)();
|
803
833
|
|
804
834
|
#ifdef APP_BUILD_CAPABILITY_MOTOROLA
|
805
|
-
extern "C" void rho_wm_impl_CheckLicenseWithBarcode(HWND hParent);
|
835
|
+
extern "C" void rho_wm_impl_CheckLicenseWithBarcode(HWND hParent, HINSTANCE hLicenseInstance);
|
806
836
|
#endif
|
837
|
+
extern "C" void rho_wm_impl_SetApplicationLicenseObj(void* pAppLicenseObj);
|
807
838
|
|
808
839
|
typedef LPCWSTR (WINAPI *PCL)(HWND, LPCWSTR, LPCWSTR, LPCWSTR);
|
809
840
|
typedef int (WINAPI *FUNC_IsLicenseOK)();
|
841
|
+
typedef void* (WINAPI *FUNC_GetAppLicenseObj)();
|
810
842
|
|
811
|
-
extern "C"
|
843
|
+
extern "C" void rho_wm_impl_CheckLicense()
|
812
844
|
{
|
813
|
-
|
814
|
-
// return;
|
815
|
-
//#else
|
816
|
-
|
817
|
-
#ifdef APP_BUILD_CAPABILITY_MOTOROLA
|
818
|
-
rho_wm_impl_CheckLicenseWithBarcode(getMainWnd());
|
819
|
-
#else
|
845
|
+
int nRes = 0;
|
820
846
|
HINSTANCE hLicenseInstance = LoadLibrary(L"license_rc.dll");
|
821
847
|
if(hLicenseInstance)
|
822
848
|
{
|
@@ -836,51 +862,57 @@ extern "C" int rho_wm_impl_CheckLicense()
|
|
836
862
|
StringW strCompanyW;
|
837
863
|
common::convertToStringW( get_app_build_config_item("motorola_license_company"), strCompanyW );
|
838
864
|
|
839
|
-
|
865
|
+
bool bRE1App = false;
|
866
|
+
#if defined(APP_BUILD_CAPABILITY_SHARED_RUNTIME)
|
867
|
+
if (!rho_wmimpl_get_is_version2())
|
868
|
+
bRE1App = true;
|
869
|
+
|
870
|
+
if ( bRE1App )
|
871
|
+
{
|
872
|
+
LPCTSTR szLicense = rho_wmimpl_sharedconfig_getvalue( L"LicenseKey" );
|
873
|
+
if ( szLicense )
|
874
|
+
strLicenseW = szLicense;
|
875
|
+
|
876
|
+
LPCTSTR szLicenseComp = rho_wmimpl_sharedconfig_getvalue( L"LicenseKeyCompany" );
|
877
|
+
if ( szLicenseComp )
|
878
|
+
strCompanyW = szLicenseComp;
|
879
|
+
}
|
880
|
+
#endif
|
881
|
+
|
882
|
+
StringW strAppNameW;
|
883
|
+
//#if defined(APP_BUILD_CAPABILITY_SHARED_RUNTIME)
|
884
|
+
strAppNameW = RHODESAPP().getAppNameW();
|
885
|
+
//#else
|
886
|
+
// common::convertToStringW( get_app_build_config_item("name"), strAppNameW );
|
887
|
+
//#endif
|
888
|
+
szLogText = pCheckLicense( getMainWnd(), strAppNameW.c_str(), strLicenseW.c_str(), strCompanyW.c_str() );
|
840
889
|
}
|
841
890
|
|
842
891
|
if ( szLogText && *szLogText )
|
843
892
|
LOGC(INFO, "License") + szLogText;
|
844
893
|
|
845
|
-
|
894
|
+
nRes = pIsOK ? pIsOK() : 0;
|
846
895
|
}
|
847
|
-
#endif
|
848
|
-
|
849
|
-
return 0;
|
850
|
-
//#endif
|
851
|
-
}
|
852
|
-
|
853
|
-
extern "C" int rho_wm_impl_CheckSymbolDevice()
|
854
|
-
{
|
855
|
-
#ifdef OS_WINDOWS_DESKTOP
|
856
|
-
//return false;
|
857
|
-
return true;
|
858
|
-
#else
|
859
|
-
int res = -1;
|
860
|
-
HINSTANCE hLicenseInstance = LoadLibrary(L"license_rc.dll");
|
861
|
-
if(!hLicenseInstance)
|
862
|
-
{
|
863
|
-
MessageBox(NULL, L"license_rc.dll is absent. Application will be closed"
|
864
|
-
, L"Rhodes", MB_SETFOREGROUND | MB_TOPMOST | MB_ICONSTOP | MB_OK);
|
865
|
-
return 0;
|
866
|
-
}
|
867
|
-
/*if(hLicenseInstance)
|
868
|
-
{
|
869
|
-
PCSD pCheckSymbolDevice = (PCSD) GetProcAddress(hLicenseInstance, L"CheckSymbolDevice");
|
870
|
-
if(pCheckSymbolDevice)
|
871
|
-
res = pCheckSymbolDevice();
|
872
|
-
}
|
873
896
|
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
897
|
+
#ifdef APP_BUILD_CAPABILITY_MOTOROLA
|
898
|
+
if ( nRes == 0 )
|
899
|
+
{
|
900
|
+
rho_wm_impl_CheckLicenseWithBarcode(getMainWnd(),hLicenseInstance);
|
901
|
+
return;
|
902
|
+
}
|
903
|
+
#endif
|
880
904
|
|
881
|
-
|
905
|
+
#ifdef APP_BUILD_CAPABILITY_WEBKIT_BROWSER
|
906
|
+
if ( nRes )
|
907
|
+
{
|
908
|
+
FUNC_GetAppLicenseObj pGetAppLicenseObj = (FUNC_GetAppLicenseObj) GetProcAddress(hLicenseInstance, L"GetAppLicenseObj");
|
909
|
+
if ( pGetAppLicenseObj )
|
910
|
+
rho_wm_impl_SetApplicationLicenseObj( pGetAppLicenseObj() );
|
911
|
+
}
|
882
912
|
#endif
|
883
913
|
|
914
|
+
if ( !nRes )
|
915
|
+
::PostMessage( getMainWnd(), WM_SHOW_LICENSE_WARNING, 0, 0);
|
884
916
|
}
|
885
917
|
|
886
918
|
static inline char *
|
@@ -894,6 +926,11 @@ translate_char(char *p, int from, int to)
|
|
894
926
|
return p;
|
895
927
|
}
|
896
928
|
|
929
|
+
extern "C" const char* rho_native_get_appname()
|
930
|
+
{
|
931
|
+
return _AtlModule.getAppName().c_str();
|
932
|
+
}
|
933
|
+
|
897
934
|
extern "C" const char* rho_native_rhopath()
|
898
935
|
{
|
899
936
|
return _AtlModule.getRhoRootPath().c_str();
|
@@ -1001,38 +1038,51 @@ extern "C" void Init_fcntl(void)
|
|
1001
1038
|
|
1002
1039
|
//parseToken will allocate extra byte at the end of the
|
1003
1040
|
//returned token value
|
1004
|
-
|
1041
|
+
LPTSTR parseToken (LPCTSTR start, LPCTSTR* next_token) {
|
1005
1042
|
int nNameLen = 0;
|
1006
|
-
while(*start==' '){ start++;
|
1043
|
+
while(*start==' '){ start++; }
|
1007
1044
|
|
1008
1045
|
int i = 0;
|
1009
|
-
|
1010
|
-
|
1046
|
+
while( start[i] != L'\0' )
|
1047
|
+
{
|
1048
|
+
if (( start[i] == L'=' ) || ( start[i] == L':' ) || ( start[i] == L' ' )) {
|
1011
1049
|
if ( i > 0 ){
|
1012
1050
|
int s = i-1;
|
1013
1051
|
for(; s >= 0 && start[s]==' '; s-- );
|
1014
|
-
|
1015
1052
|
nNameLen = s+1;
|
1016
1053
|
break;
|
1017
1054
|
}else
|
1018
1055
|
break;
|
1019
1056
|
}
|
1057
|
+
++i;
|
1020
1058
|
}
|
1021
1059
|
|
1022
|
-
|
1060
|
+
if ( nNameLen == 0 )
|
1023
1061
|
return NULL;
|
1024
1062
|
|
1025
|
-
|
1063
|
+
LPCTSTR szValue = start + i+1;
|
1026
1064
|
int nValueLen = 0;
|
1027
1065
|
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1066
|
+
// skip leading spaces and optional delimiter (that is either ' or ") and keep the delimiter for further use
|
1067
|
+
TCHAR delimiter = L' ';
|
1068
|
+
while ((*szValue==delimiter) || ((delimiter==L' ') && ((*szValue==L'\'') || (*szValue==L'"')))) {
|
1069
|
+
if ((delimiter==L' ') && ((*szValue==L'\'') || (*szValue==L'"'))) {
|
1070
|
+
// delimiter found
|
1071
|
+
delimiter = *szValue;
|
1072
|
+
szValue++;
|
1073
|
+
break;
|
1074
|
+
}
|
1075
|
+
szValue++;
|
1076
|
+
}
|
1077
|
+
// search for value end -- that is either end of line or delimiter
|
1078
|
+
while ((szValue[nValueLen] != L'\0') && (szValue[nValueLen] != delimiter)) { nValueLen++; }
|
1079
|
+
// next token begins with the character next to delimiter (if it's not the end of the line)
|
1080
|
+
if (*next_token == NULL)
|
1081
|
+
*next_token = szValue + nValueLen + (szValue[nValueLen] != L'\0' ? 1 : 0 );
|
1032
1082
|
|
1033
|
-
|
1034
|
-
|
1035
|
-
value[nValueLen] = '\0';
|
1083
|
+
TCHAR* value = (TCHAR*) malloc((nValueLen+2)*sizeof(TCHAR));
|
1084
|
+
wcsncpy(value, szValue, nValueLen);
|
1085
|
+
value[nValueLen] = L'\0';
|
1036
1086
|
|
1037
1087
|
return value;
|
1038
1088
|
}
|
@@ -1186,19 +1236,34 @@ HBITMAP SHLoadImageFile( LPCTSTR pszFileName )
|
|
1186
1236
|
|
1187
1237
|
#endif
|
1188
1238
|
|
1189
|
-
void
|
1239
|
+
extern "C" void rho_sys_unset_http_proxy()
|
1240
|
+
{
|
1241
|
+
#if defined(OS_WINDOWS_DESKTOP) || defined(RHODES_EMULATOR)
|
1242
|
+
_AtlModule.GetAppWindow().setProxy();
|
1243
|
+
#endif
|
1244
|
+
RHOCONF().removeProperty("http_proxy_host", false);
|
1245
|
+
RHOCONF().removeProperty("http_proxy_port", false);
|
1246
|
+
RHOCONF().removeProperty("http_proxy_login", false);
|
1247
|
+
RHOCONF().removeProperty("http_proxy_password", false);
|
1248
|
+
RAWLOG_INFO("Unsetting HTTP proxy");
|
1249
|
+
}
|
1250
|
+
|
1251
|
+
void parseHttpProxyURI(const rho::String &http_proxy)
|
1190
1252
|
{
|
1191
1253
|
// http://<login>:<passwod>@<host>:<port>
|
1192
1254
|
const char *default_port = "8080";
|
1193
1255
|
|
1256
|
+
if (http_proxy.length() == 0)
|
1257
|
+
rho_sys_unset_http_proxy();
|
1258
|
+
|
1194
1259
|
if (http_proxy.length() < 8) {
|
1195
|
-
|
1260
|
+
RAWLOG_ERROR("invalid http proxy url");
|
1196
1261
|
return;
|
1197
1262
|
}
|
1198
1263
|
|
1199
1264
|
int index = http_proxy.find("http://", 0, 7);
|
1200
1265
|
if (index == string::npos) {
|
1201
|
-
|
1266
|
+
RAWLOG_ERROR("http proxy url should starts with \"http://\"");
|
1202
1267
|
return;
|
1203
1268
|
}
|
1204
1269
|
index = 7;
|
@@ -1284,20 +1349,23 @@ void CRhodesModule::parseHttpProxyURI(const rho::String &http_proxy)
|
|
1284
1349
|
}
|
1285
1350
|
}
|
1286
1351
|
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1352
|
+
RAWLOG_INFO("Setting up HTTP proxy:");
|
1353
|
+
RAWLOG_INFO1("URI: %s", http_proxy.c_str());
|
1354
|
+
RAWLOG_INFO1("HTTP proxy login = %s", login.c_str());
|
1355
|
+
RAWLOG_INFO1("HTTP proxy password = %s", password.c_str());
|
1356
|
+
RAWLOG_INFO1("HTTP proxy host = %s", host.c_str());
|
1357
|
+
RAWLOG_INFO1("HTTP proxy port = %s", port.c_str());
|
1293
1358
|
|
1294
1359
|
if (host.length()) {
|
1360
|
+
#if defined(OS_WINDOWS_DESKTOP) || defined(RHODES_EMULATOR)
|
1361
|
+
_AtlModule.GetAppWindow().setProxy(host, port, login, password);
|
1362
|
+
#endif
|
1295
1363
|
RHOCONF().setString ("http_proxy_host", host, false);
|
1296
1364
|
|
1297
1365
|
if (port.length()){
|
1298
1366
|
RHOCONF().setString ("http_proxy_port", port, false);
|
1299
1367
|
} else {
|
1300
|
-
|
1368
|
+
RAWLOG_WARNING("there is no proxy port defined");
|
1301
1369
|
}
|
1302
1370
|
|
1303
1371
|
if (login.length())
|
@@ -1307,7 +1375,12 @@ void CRhodesModule::parseHttpProxyURI(const rho::String &http_proxy)
|
|
1307
1375
|
RHOCONF().setString ("http_proxy_password", password, false);
|
1308
1376
|
|
1309
1377
|
} else {
|
1310
|
-
|
1378
|
+
RAWLOG_ERROR("empty host name in HTTP-proxy URL");
|
1311
1379
|
}
|
1312
|
-
|
1313
1380
|
}
|
1381
|
+
|
1382
|
+
extern "C" void rho_sys_set_http_proxy_url(const char* url)
|
1383
|
+
{
|
1384
|
+
String m_strHttpProxy = url;
|
1385
|
+
parseHttpProxyURI(m_strHttpProxy);
|
1386
|
+
}
|