rhodes 6.2.0 → 7.1.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +14 -10
- data/appveyor.yml +1 -1
- data/extensions/emdk3-manager/ext/platform/android/Rakefile +2 -0
- data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/Rakefile +18 -1
- data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/Rakefile +19 -1
- data/lib/commonAPI/RubyServer/ext.yml +21 -0
- data/lib/commonAPI/RubyServer/ext/RubyServer.xml +101 -0
- data/lib/commonAPI/RubyServer/ext/build +19 -0
- data/lib/commonAPI/RubyServer/ext/build.bat +29 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/Rakefile +161 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/ext_java.files +9 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/ext_native.files +7 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/Rakefile +73 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer.xcodeproj/project.pbxproj +322 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer_Prefix.pch +7 -0
- data/lib/commonAPI/RubyServer/ext/shared/RubyServerImpl.cpp +242 -0
- data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeFactory.java +23 -3
- data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeRhoExtension.java +68 -8
- data/lib/commonAPI/barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +24 -52
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.h +38 -10
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.m +300 -22
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +6 -0
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/barcode.m +6 -2
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/Barcode.m +7 -3
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeFactory.m +13 -0
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeSingleton.m +25 -3
- data/lib/commonAPI/bluetooth/ext/platform/android/Rakefile +29 -10
- data/lib/commonAPI/clipboard/ext/platform/android/Rakefile +29 -10
- data/lib/commonAPI/coreapi/ext/Notification.xml +47 -0
- data/lib/commonAPI/coreapi/ext/platform/android/ApplicationManifestAdds.erb +1 -0
- data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +19 -0
- data/lib/commonAPI/coreapi/ext/platform/android/ext_java.files +2 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/AlarmReceiver.java +27 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +28 -10
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationFactory.java +14 -1
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +260 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +23 -1
- data/lib/commonAPI/coreapi/ext/platform/iphone/Coreapi.xcodeproj/project.pbxproj +21 -19
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +1 -0
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +234 -1
- data/lib/commonAPI/coreapi/ext/platform/qt/coreapi.pro +2 -0
- data/lib/commonAPI/coreapi/ext/platform/qt/src/CNotificationImpl.cpp +7 -0
- data/lib/commonAPI/coreapi/ext/shared/ApplicationImpl.cpp +5 -0
- data/lib/commonAPI/coreapi/public/api/rhoapi.js +18 -8
- data/lib/commonAPI/devicesecurity/ext/platform/android/Rakefile +19 -0
- data/lib/commonAPI/devicesecurity/ext/platform/iphone/DeviceSecurity.xcodeproj/project.pbxproj +16 -0
- data/lib/commonAPI/hardwarekeys/ext/keycapture.xml +11 -9
- data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.h +5 -3
- data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.m +80 -67
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +25 -14
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +55 -25
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +34 -9
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +1 -0
- data/lib/commonAPI/printing_zebra/ext/platform/android/Rakefile +18 -0
- data/lib/commonAPI/sensor/ext/platform/android/src/com/rho/sensor/Sensor.java +4 -4
- data/lib/extensions/decrypt/ext/platform/android/Rakefile +19 -1
- data/lib/extensions/decryptstub/ext/platform/android/Rakefile +19 -0
- data/lib/extensions/decryptstub/ext/platform/iphone/Decryptstub.xcodeproj/project.pbxproj +4 -2
- data/lib/extensions/digest-md5/ext/android/Rakefile +18 -0
- data/lib/extensions/digest-sha1/ext/android/Rakefile +18 -0
- data/lib/extensions/digest-sha2/ext/android/Rakefile +18 -0
- data/lib/extensions/esri/ext/esri/platform/iphone/Classes/MapViewControllerESRI.h +19 -19
- data/lib/extensions/fcm-push/ext/android/Rakefile +18 -0
- data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +38 -16
- data/lib/extensions/gcm-push/ext/android/Rakefile +19 -0
- data/lib/extensions/keyboard/ext.yml +15 -0
- data/lib/extensions/keyboard/ext/Keyboard.xml +28 -0
- data/lib/extensions/keyboard/ext/build +19 -0
- data/lib/extensions/keyboard/ext/build.bat +29 -0
- data/lib/extensions/keyboard/ext/platform/android/Rakefile +141 -0
- data/lib/extensions/keyboard/ext/platform/android/ext_java.files +9 -0
- data/lib/extensions/keyboard/ext/platform/android/ext_native.files +7 -0
- data/lib/extensions/keyboard/ext/platform/android/jni/Keyboard_impl.cpp +61 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/Keyboard.java +32 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardFactory.java +18 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardSingleton.java +29 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Keyboard.xcodeproj/project.pbxproj +368 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Keyboard_Prefix.pch +7 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Rakefile +73 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.h +14 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.m +24 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardFactorySingleton.m +16 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSetup.m +9 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.h +17 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.m +23 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/readme.txt +7 -0
- data/lib/extensions/keyboard/ext/platform/qt/Keyboard.pro +68 -0
- data/lib/extensions/keyboard/ext/platform/qt/Makefile +473 -0
- data/lib/extensions/keyboard/ext/platform/qt/Makefile.Release +408 -0
- data/lib/extensions/keyboard/ext/platform/qt/Rakefile +39 -0
- data/lib/extensions/keyboard/ext/platform/qt/src/Keyboard_impl.cpp +99 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.props +18 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj +197 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj.filters +50 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.csproj +119 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.props +8 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.targets +7 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.props +18 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj +197 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj.filters +58 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cpp +76 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cs +69 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Properties/AssemblyInfo.cs +37 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.sln +52 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vcproj +714 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vsprops +15 -0
- data/lib/extensions/keyboard/ext/platform/wm/src/Keyboard_impl.cpp +77 -0
- data/lib/extensions/openssl.so.src/ext/android/Rakefile +18 -0
- data/lib/extensions/openssl.so/ext/android/aarch64/libopenssl.so.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/howtobuild.txt +2 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libcrypto.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libssl.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/Release-iphoneos/libopenssl.so.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/Release-iphonesimulator/libopenssl.so.a +0 -0
- data/lib/extensions/openssl/ext/android/Rakefile +18 -0
- data/lib/extensions/zlib/ext/zlib.c +5 -1
- data/lib/framework/autocomplete/Rhodes.rb +1 -1
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/set.rb +799 -0
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml.erb +11 -2
- data/platform/android/Rhodes/jni/include/rhodes.h +6 -0
- data/platform/android/Rhodes/jni/include/rhodes/RhoClassFactory.h +3 -0
- data/platform/android/Rhodes/jni/include/rhodes/SecurityTokenGenerator.h +30 -0
- data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
- data/platform/android/Rhodes/jni/src/JNIRhoRubyCppWrapper.cpp +408 -0
- data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +7 -0
- data/platform/android/Rhodes/jni/src/SecurityTokenGenerator.cpp +60 -0
- data/platform/android/Rhodes/jni/src/fileapi.cpp +318 -12
- data/platform/android/Rhodes/jni/src/mapview.cpp +4 -0
- data/platform/android/Rhodes/res/drawable/ic_notification.png +0 -0
- data/platform/android/Rhodes/res/xml/network_security_config.xml +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +9 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMain.java +8 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyArrayObjects.java +33 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyClassObject.java +20 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyObject.java +115 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubySingleton.java +52 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyTypes.java +15 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +25 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/SecurityTokenGenerator.java +57 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +9 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +3 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality11.java +13 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +105 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +24 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +20 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +10 -0
- data/platform/android/build/Rakefile +30 -1
- data/platform/android/build/RhodesSRC_build.files +8 -0
- data/platform/android/build/android.rake +326 -22
- data/platform/android/build/android_tools.rb +36 -3
- data/platform/android/build/androidcommon.rb +97 -44
- data/platform/android/build/librhocommon_build.files +11 -0
- data/platform/android/build/librhodes_build.files +2 -0
- data/platform/android/build/manifest_generator.rb +9 -2
- data/platform/android/build/maven_deps_extractor.rb +96 -15
- data/platform/android/build/ndkwrapper.rb +111 -16
- data/platform/android/build/pom.erb +2 -2
- data/platform/iphone/Classes/AppManager/AppManager.m +31 -1
- data/platform/iphone/Classes/MapView/GoogleGeocoder.h +3 -3
- data/platform/iphone/Classes/RhoMainViewStubImpl.h +38 -0
- data/platform/iphone/Classes/RhoMainViewStubImpl.m +88 -0
- data/platform/iphone/Classes/RhoUIWebView.h +5 -0
- data/platform/iphone/Classes/RhoUIWebView.m +14 -6
- data/platform/iphone/Classes/{RhoWKWebView.m → RhoWKWebView.mm} +98 -18
- data/platform/iphone/Classes/RhoWebView.h +1 -1
- data/platform/iphone/Classes/RhoWebViewFabrique.m +24 -12
- data/platform/iphone/Classes/Rhodes.h +7 -2
- data/platform/iphone/Classes/Rhodes.m +46 -8
- data/platform/iphone/Classes/SimpleMainView.m +22 -13
- data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.h +32 -3
- data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +93 -61
- data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.h +22 -0
- data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.m +246 -0
- data/platform/iphone/Classes/WebView.m +14 -2
- data/platform/iphone/Entitlements.plist +1 -1
- data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +399 -0
- data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +1208 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/Info.plist +24 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/Rhodes.h +21 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/StubCode.m +15 -0
- data/platform/iphone/Info.plist +1 -3
- data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +511 -4
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +467 -1
- data/platform/iphone/Rhodes.xcodeproj/project.pbxproj +51 -274
- data/platform/iphone/RhodesBaseDelegate.h +1 -1
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +85 -3
- data/platform/iphone/rbuild/ApplicationPlist.erb +1 -1
- data/platform/iphone/rbuild/iphone.rake +497 -25
- data/platform/iphone/rbuild/iphonecommon.rb +15 -6
- data/platform/iphone/rhodes_stub.cpp +15 -0
- data/platform/iphone/rhodeslib/api/RhodesLib.h +28 -0
- data/platform/iphone/rhodeslib/impl/RhodesLib.m +52 -0
- data/platform/iphone/rhodesruby/api/IRefCountedObject.h +20 -0
- data/platform/iphone/rhodesruby/api/IRhoRuby.h +72 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyArray.h +12 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyBoolean.h +11 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyFloat.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyHash.h +15 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyInteger.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableArray.h +9 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableBoolean.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableFloat.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableHash.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableInteger.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableString.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyNativeCallback.h +9 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyNil.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyObject.h +37 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyRunnable.h +8 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyString.h +10 -0
- data/platform/iphone/rhodesruby/api/RhoRuby.h +26 -0
- data/platform/iphone/rhodesruby/api/RhoRubySingletone.h +14 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyFabrique.h +10 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyImpl.h +56 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyImpl.mm +432 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.h +24 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.mm +43 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.mm +38 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.h +24 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.mm +48 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.h +22 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.mm +11 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.h +31 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.mm +49 -0
- data/platform/iphone/rhodesruby/impl/RhoRubySingletone.m +19 -0
- data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.h +21 -0
- data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.mm +32 -0
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +79 -0
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +91 -0
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +85 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
- data/platform/shared/common/IRhoClassFactory.h +2 -0
- data/platform/shared/common/ISecurityTokenGenerator.h +16 -0
- data/platform/shared/common/RhoFile.cpp +11 -0
- data/platform/shared/common/RhoMath.h +14 -0
- data/platform/shared/common/RhoMutexLock.h +13 -0
- data/platform/shared/common/RhoSystem.h +1 -1
- data/platform/shared/common/RhoThread.cpp +25 -0
- data/platform/shared/common/RhodesApp.cpp +52 -6
- data/platform/shared/common/RhodesApp.h +25 -1
- data/platform/shared/common/RhodesAppBase.cpp +4 -2
- data/platform/shared/common/RhodesAppBase.h +5 -0
- data/platform/shared/common/iphone/RhoClassfactory.h +6 -0
- data/platform/shared/common/iphone/RhoCryptImpl.mm +21 -2
- data/platform/shared/common/map/BaseMapEngine.cpp +2 -2
- data/platform/shared/common/map/GeocodingMapEngine.cpp +1 -1
- data/platform/shared/common/map/GoogleMapEngine.cpp +1 -1
- data/platform/shared/common/map/OSMMapEngine.cpp +1 -1
- data/platform/shared/curl/lib/curl_config.h +28 -0
- data/platform/shared/db/DBAdapter.cpp +18 -10
- data/platform/shared/json.new/JSONIterator.cpp +2 -2
- data/platform/shared/net/HttpServer.cpp +32 -0
- data/platform/shared/net/HttpServer.h +15 -0
- data/platform/shared/net/INetRequest.cpp +54 -0
- data/platform/shared/qt/RhoRubylib.pro +10 -0
- data/platform/shared/qt/rhodes/impl/AlertImpl.cpp +13 -0
- data/platform/shared/qt/rhodes/impl/CameraImpl.cpp +6 -0
- data/platform/shared/qt/rhodes/impl/DateTimePickerImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +36 -7
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +12 -1
- data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.cpp +21 -2
- data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.h +1 -0
- data/platform/shared/qt/rhodes/impl/NativeToolbarImpl.cpp +10 -0
- data/platform/shared/qt/rhodes/impl/QtSystemImpl.cpp +55 -3
- data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +11 -0
- data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +71 -7
- data/platform/shared/qt/rhodes/impl/RhoThreadImpl.h +79 -2
- data/platform/shared/qt/rhodes/impl/RhodesImpl.cpp +16 -6
- data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.cpp +37 -0
- data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.h +25 -0
- data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +2 -0
- data/platform/shared/qt/rhodes/impl/WebViewImpl.cpp +27 -0
- data/platform/shared/qt/rhodes/impl/notificationsound.cpp +16 -2
- data/platform/shared/qt/rhodes/impl/notificationsound.h +11 -1
- data/platform/shared/qt/rhodes/newVersion/QtMainWindow.cpp +25 -16
- data/platform/shared/qt/rhodes/newVersion/QtMainWindow.h +3 -0
- data/platform/shared/qt/rhodes/newVersion/WebUrlRequestInterceptor.cpp +17 -0
- data/platform/shared/qt/rhodes/rhodes.pro +68 -14
- data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.cpp +148 -0
- data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.h +12 -0
- data/platform/shared/qt/rholib/rholib.pro +33 -5
- data/platform/shared/qt/rhoruby_win32_build.bat +19 -0
- data/platform/shared/qt/rhoruby_win32_build_debug.bat +19 -0
- data/platform/shared/qt/rhosimulator_win32_build_debug.bat +19 -0
- data/platform/shared/qt/rubylib/rubylib.pro +1 -0
- data/platform/shared/qt/sqlite3/sqlite3.pro +1 -0
- data/platform/shared/qt/syncengine/syncengine.pro +1 -0
- data/platform/shared/rhoruby/api/IArray.h +20 -0
- data/platform/shared/rhoruby/api/IBoolean.h +17 -0
- data/platform/shared/rhoruby/api/IFloat.h +17 -0
- data/platform/shared/rhoruby/api/IHash.h +23 -0
- data/platform/shared/rhoruby/api/IInteger.h +18 -0
- data/platform/shared/rhoruby/api/IMutableArray.h +18 -0
- data/platform/shared/rhoruby/api/IMutableBoolean.h +18 -0
- data/platform/shared/rhoruby/api/IMutableFloat.h +17 -0
- data/platform/shared/rhoruby/api/IMutableHash.h +18 -0
- data/platform/shared/rhoruby/api/IMutableInteger.h +17 -0
- data/platform/shared/rhoruby/api/IMutableString.h +17 -0
- data/platform/shared/rhoruby/api/INil.h +16 -0
- data/platform/shared/rhoruby/api/IObject.h +46 -0
- data/platform/shared/rhoruby/api/IRefCountedObject.h +20 -0
- data/platform/shared/rhoruby/api/IRhoRuby.h +78 -0
- data/platform/shared/rhoruby/api/IRunnable.h +17 -0
- data/platform/shared/rhoruby/api/IString.h +17 -0
- data/platform/shared/rhoruby/api/RhoRuby.h +29 -0
- data/platform/shared/rhoruby/api/RhoRubySingletone.h +19 -0
- data/platform/shared/rhoruby/api/SmartPointer.h +27 -0
- data/platform/shared/rhoruby/impl/MutableArrayImpl.cpp +54 -0
- data/platform/shared/rhoruby/impl/MutableArrayImpl.h +48 -0
- data/platform/shared/rhoruby/impl/MutableBooleanImpl.cpp +44 -0
- data/platform/shared/rhoruby/impl/MutableBooleanImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableFloatImpl.cpp +41 -0
- data/platform/shared/rhoruby/impl/MutableFloatImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableHashImpl.cpp +64 -0
- data/platform/shared/rhoruby/impl/MutableHashImpl.h +49 -0
- data/platform/shared/rhoruby/impl/MutableIntegerImpl.cpp +41 -0
- data/platform/shared/rhoruby/impl/MutableIntegerImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableStringImpl.cpp +52 -0
- data/platform/shared/rhoruby/impl/MutableStringImpl.h +44 -0
- data/platform/shared/rhoruby/impl/NilImpl.cpp +23 -0
- data/platform/shared/rhoruby/impl/NilImpl.h +32 -0
- data/platform/shared/rhoruby/impl/ObjectImpl.cpp +77 -0
- data/platform/shared/rhoruby/impl/ObjectImpl.h +53 -0
- data/platform/shared/rhoruby/impl/RefCountedObjectImpl.cpp +28 -0
- data/platform/shared/rhoruby/impl/RefCountedObjectImpl.h +33 -0
- data/platform/shared/rhoruby/impl/RhoRubyImpl.cpp +799 -0
- data/platform/shared/rhoruby/impl/RhoRubyImpl.h +81 -0
- data/platform/shared/rhoruby/impl/RhoRubySingletone.cpp +20 -0
- data/platform/shared/rhoruby/impl/RubyServerResponceImpl.cpp +32 -0
- data/platform/shared/rhoruby/impl/RubyServerResponceImpl.h +21 -0
- data/platform/shared/ruby/android/ruby/config.h +55 -3
- data/platform/shared/ruby/error.c +1 -1
- data/platform/shared/ruby/ext/rho/rhoruby.c +60 -7
- data/platform/shared/ruby/ext/rho/rhoruby.h +3 -0
- data/platform/shared/rubyext/NativeToolbarExt.h +1 -0
- data/platform/uwp/rhodes/rhodes_TemporaryKey.pfx +0 -0
- data/platform/uwp/rhoruntime/common/RhoClassFactory.h +6 -0
- data/platform/win32/RhoSimulator/Qt5Core.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Gui.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Multimedia.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Network.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Positioning.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5PrintSupport.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Qml.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Quick.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5QuickWidgets.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5SerialPort.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Svg.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebChannel.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngine.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngineCore.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngineWidgets.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Widgets.dll +0 -0
- data/platform/win32/RhoSimulator/QtWebEngineProcess.exe +0 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/win32/RhoSimulator/audio/qtaudio_wasapi.dll +0 -0
- data/platform/win32/RhoSimulator/audio/qtaudio_windows.dll +0 -0
- data/platform/win32/RhoSimulator/bearer/qgenericbearer.dll +0 -0
- data/platform/win32/RhoSimulator/iconengines/qsvgicon.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qgif.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qicns.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qico.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qjpeg.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qsvg.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtga.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtiff.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qwbmp.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qwebp.dll +0 -0
- data/platform/win32/RhoSimulator/libEGL.dll +0 -0
- data/platform/win32/RhoSimulator/libGLESV2.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/dsengine.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/qtmedia_audioengine.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/wmfengine.dll +0 -0
- data/platform/win32/RhoSimulator/platforms/qwindows.dll +0 -0
- data/platform/win32/RhoSimulator/playlistformats/qtmultimedia_m3u.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_geoclue.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_positionpoll.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_serialnmea.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_winrt.dll +0 -0
- data/platform/win32/RhoSimulator/printsupport/windowsprintersupport.dll +0 -0
- data/platform/wm/build/wm.rake +110 -5
- data/platform/wm/rhodes/rho/common/ExtManager.cpp +30 -0
- data/platform/wm/rhodes/rho/common/RhoClassFactory.h +6 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +3 -0
- data/platform/wm/rubylib/rubylib.vcxproj +6 -0
- data/platform/wp8/rhoruntime/common/RhoClassFactory.h +6 -0
- data/rakefile.rb +14 -10
- data/res/build-tools/iphonesim/build/Release/iphonesim_8 +23 -15
- data/res/build-tools/maven/LICENSE +18 -89
- data/res/build-tools/maven/NOTICE +1 -1
- data/res/build-tools/maven/README.txt +12 -12
- data/res/build-tools/maven/bin/m2.conf +2 -2
- data/res/build-tools/maven/bin/mvn +122 -125
- data/res/build-tools/maven/bin/mvn.cmd +205 -0
- data/res/build-tools/maven/bin/mvnDebug +10 -176
- data/res/build-tools/maven/bin/mvnDebug.cmd +33 -0
- data/res/build-tools/maven/bin/mvnyjp +9 -181
- data/res/build-tools/maven/boot/plexus-classworlds-2.6.0.jar +0 -0
- data/res/build-tools/maven/conf/logging/simplelogger.properties +8 -1
- data/res/build-tools/maven/conf/settings.xml +1 -1
- data/res/build-tools/maven/conf/toolchains.xml +103 -0
- data/res/build-tools/maven/lib/animal-sniffer-annotations-1.14.jar +0 -0
- data/res/build-tools/maven/lib/animal-sniffer-annotations.license +14 -0
- data/res/build-tools/maven/lib/checker-compat-qual-2.0.0.jar +0 -0
- data/res/build-tools/maven/lib/checker-compat-qual.license +14 -0
- data/res/build-tools/maven/lib/commons-cli-1.4.jar +0 -0
- data/res/build-tools/maven/lib/commons-io-2.5.jar +0 -0
- data/res/build-tools/maven/lib/commons-lang3-3.8.1.jar +0 -0
- data/res/build-tools/maven/lib/error_prone_annotations-2.1.3.jar +0 -0
- data/res/build-tools/maven/lib/guava-25.1-android.jar +0 -0
- data/res/build-tools/maven/lib/guice-4.2.1-no_aop.jar +0 -0
- data/res/build-tools/maven/lib/j2objc-annotations-1.1.jar +0 -0
- data/res/build-tools/maven/lib/jansi-1.17.1.jar +0 -0
- data/res/build-tools/maven/lib/jansi-native/README.txt +7 -0
- data/res/build-tools/maven/lib/jansi-native/freebsd32/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/freebsd64/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/linux32/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/linux64/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/osx/libjansi.jnilib +0 -0
- data/res/build-tools/maven/lib/jansi-native/windows32/jansi.dll +0 -0
- data/res/build-tools/maven/lib/jansi-native/windows64/jansi.dll +0 -0
- data/res/build-tools/maven/lib/jcl-over-slf4j-1.7.25.jar +0 -0
- data/res/build-tools/maven/lib/jcl-over-slf4j.license +14 -0
- data/res/build-tools/maven/lib/jsr250-api.license +383 -405
- data/res/build-tools/maven/lib/jsr305-3.0.2.jar +0 -0
- data/res/build-tools/maven/lib/maven-artifact-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-builder-support-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-compat-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-core-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-embedder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-plugin-api-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-repository-metadata-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-api-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-connector-basic-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-impl-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-provider-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-spi-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-transport-wagon-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-util-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-shared-utils-3.2.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-slf4j-provider-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.3.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject.license +210 -261
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.3.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus.license +210 -261
- data/res/build-tools/maven/lib/plexus-component-annotations-1.7.1.jar +0 -0
- data/res/build-tools/maven/lib/plexus-interpolation-1.25.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.4.jar +0 -0
- data/res/build-tools/maven/lib/plexus-utils-3.2.0.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api-1.7.25.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api.license +10 -186
- data/res/build-tools/maven/lib/wagon-file-3.3.2.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-3.3.2-shaded.jar +0 -0
- data/res/build-tools/maven/lib/wagon-provider-api-3.3.2.jar +0 -0
- data/res/generators/rhogen.rb +150 -0
- data/res/generators/templates/application/AndroidManifest.erb +13 -4
- data/res/generators/templates/application/build.yml +9 -0
- data/res/generators/templates/application/nodejs_build.yml +1 -1
- data/res/generators/templates/application/resources/android/res/xml/network_security_config.xml +7 -0
- data/res/generators/templates/application/rhoconfig.txt +13 -6
- data/res/generators/templates/application/rhoconfig_rubynode.txt +139 -0
- data/res/generators/templates/application/rubynodejs_build.yml +95 -0
- data/res/generators/templates/extension/extensions/montana/ext/platform/android/Rakefile +19 -0
- data/res/generators/templates/iphone_project/root/Entitlements.plist +1 -1
- data/res/generators/templates/iphone_project/root/Info.plist +1 -3
- data/res/generators/templates/iphone_project/root/rhorunner_development.entitlements +1 -1
- data/res/generators/templates/iphone_project/root/rhorunner_production.entitlements +1 -1
- data/rhodes.gemspec +2 -2
- data/version +1 -1
- metadata +244 -71
- data/res/build-tools/maven/bin/mvn.bat +0 -197
- data/res/build-tools/maven/bin/mvnDebug.bat +0 -200
- data/res/build-tools/maven/boot/plexus-classworlds-2.5.2.jar +0 -0
- data/res/build-tools/maven/lib/aether-api-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-api.license +0 -261
- data/res/build-tools/maven/lib/aether-connector-basic-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-connector-basic.license +0 -261
- data/res/build-tools/maven/lib/aether-impl-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-impl.license +0 -261
- data/res/build-tools/maven/lib/aether-spi-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-spi.license +0 -261
- data/res/build-tools/maven/lib/aether-transport-wagon-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-transport-wagon.license +0 -261
- data/res/build-tools/maven/lib/aether-util-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-util.license +0 -261
- data/res/build-tools/maven/lib/cdi-api.license +0 -445
- data/res/build-tools/maven/lib/commons-cli-1.2.jar +0 -0
- data/res/build-tools/maven/lib/commons-io-2.2.jar +0 -0
- data/res/build-tools/maven/lib/commons-lang-2.6.jar +0 -0
- data/res/build-tools/maven/lib/guava-18.0.jar +0 -0
- data/res/build-tools/maven/lib/jsoup-1.7.2.jar +0 -0
- data/res/build-tools/maven/lib/jsoup.license +0 -66
- data/res/build-tools/maven/lib/maven-aether-provider-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-aether-provider.license +0 -202
- data/res/build-tools/maven/lib/maven-artifact-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-artifact.license +0 -202
- data/res/build-tools/maven/lib/maven-compat-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-compat.license +0 -202
- data/res/build-tools/maven/lib/maven-core-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-core.license +0 -202
- data/res/build-tools/maven/lib/maven-embedder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-embedder.license +0 -202
- data/res/build-tools/maven/lib/maven-model-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder.license +0 -202
- data/res/build-tools/maven/lib/maven-model.license +0 -202
- data/res/build-tools/maven/lib/maven-plugin-api-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-plugin-api.license +0 -202
- data/res/build-tools/maven/lib/maven-repository-metadata-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-repository-metadata.license +0 -202
- data/res/build-tools/maven/lib/maven-settings-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder.license +0 -202
- data/res/build-tools/maven/lib/maven-settings.license +0 -202
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.0.M1.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar +0 -0
- data/res/build-tools/maven/lib/plexus-cipher.license +0 -445
- data/res/build-tools/maven/lib/plexus-component-annotations-1.5.5.jar +0 -0
- data/res/build-tools/maven/lib/plexus-interpolation-1.21.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.3.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher.license +0 -445
- data/res/build-tools/maven/lib/plexus-utils-3.0.20.jar +0 -0
- data/res/build-tools/maven/lib/sisu-guice-3.2.3-no_aop.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api-1.7.5.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-simple-1.7.5.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-simple.license +0 -190
- data/res/build-tools/maven/lib/wagon-file-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-file.license +0 -202
- data/res/build-tools/maven/lib/wagon-http-2.8-shaded.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-shared-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-shared.license +0 -202
- data/res/build-tools/maven/lib/wagon-http.license +0 -202
- data/res/build-tools/maven/lib/wagon-provider-api-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-provider-api.license +0 -202
Binary file
|
@@ -41,6 +41,7 @@ struct ICallbackObject
|
|
41
41
|
namespace common {
|
42
42
|
struct IRhoThreadImpl;
|
43
43
|
struct IRhoCrypt;
|
44
|
+
class ISecurityTokenGenerator;
|
44
45
|
|
45
46
|
struct IRhoClassFactory
|
46
47
|
{
|
@@ -52,6 +53,7 @@ struct IRhoClassFactory
|
|
52
53
|
virtual IRhoCrypt* createRhoCrypt() = 0;
|
53
54
|
|
54
55
|
virtual net::INetRequestImpl* createNetRequestImpl() = 0;
|
56
|
+
virtual const ISecurityTokenGenerator* createSecurityTokenGenerator() = 0;
|
55
57
|
};
|
56
58
|
|
57
59
|
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#pragma once
|
2
|
+
|
3
|
+
#include "common/RhoStd.h"
|
4
|
+
|
5
|
+
namespace rho{
|
6
|
+
namespace common{
|
7
|
+
|
8
|
+
class ISecurityTokenGenerator
|
9
|
+
{
|
10
|
+
public:
|
11
|
+
virtual ~ISecurityTokenGenerator(){}
|
12
|
+
virtual const rho::String& getSecurityToken() const = 0;
|
13
|
+
};
|
14
|
+
|
15
|
+
}
|
16
|
+
}
|
@@ -82,6 +82,10 @@ extern "C"{
|
|
82
82
|
extern "C" int rename(const char *, const char *);
|
83
83
|
#endif
|
84
84
|
|
85
|
+
#if defined(OS_MACOSX) && defined(TARGET_OS_IOS) && (TARGET_OS_IOS==1)
|
86
|
+
extern "C" int rhodes_ios_delete_file_via_platform_api(const char* filePath);
|
87
|
+
#endif
|
88
|
+
|
85
89
|
namespace rho{
|
86
90
|
namespace common{
|
87
91
|
|
@@ -485,11 +489,18 @@ bool CRhoFile::loadTextFile(const char* szFilePath, String& strFile)
|
|
485
489
|
unsigned int CRhoFile::deleteFile( const char* szFilePath ){
|
486
490
|
#if defined(WINDOWS_PLATFORM)
|
487
491
|
return (unsigned int)_unlink(szFilePath);
|
492
|
+
#else
|
493
|
+
#if defined(OS_MACOSX) && defined(TARGET_OS_IOS) && (TARGET_OS_IOS==1)
|
494
|
+
// For support Citrix on iOS
|
495
|
+
return rhodes_ios_delete_file_via_platform_api(szFilePath);
|
488
496
|
#else
|
489
497
|
return (unsigned int)remove(szFilePath);
|
490
498
|
#endif
|
499
|
+
#endif
|
491
500
|
}
|
492
501
|
|
502
|
+
|
503
|
+
|
493
504
|
unsigned int CRhoFile::deleteEmptyFolder( const char* szFilePath ){
|
494
505
|
#if defined(WINDOWS_PLATFORM)
|
495
506
|
return (unsigned int)_rmdir(szFilePath);
|
@@ -33,6 +33,20 @@
|
|
33
33
|
extern "C" {
|
34
34
|
#endif
|
35
35
|
|
36
|
+
#define M_E 2.7182818284590452354 /* e */
|
37
|
+
#define M_LOG2E 1.4426950408889634074 /* log 2e */
|
38
|
+
#define M_LOG10E 0.43429448190325182765 /* log 10e */
|
39
|
+
#define M_LN2 0.69314718055994530942 /* log e2 */
|
40
|
+
#define M_LN10 2.30258509299404568402 /* log e10 */
|
41
|
+
#define M_PI 3.14159265358979323846 /* pi */
|
42
|
+
#define M_PI_2 1.57079632679489661923 /* pi/2 */
|
43
|
+
#define M_PI_4 0.78539816339744830962 /* pi/4 */
|
44
|
+
#define M_1_PI 0.31830988618379067154 /* 1/pi */
|
45
|
+
#define M_2_PI 0.63661977236758134308 /* 2/pi */
|
46
|
+
#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
|
47
|
+
#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
|
48
|
+
#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
|
49
|
+
|
36
50
|
double rho_math_sqrt(double n);
|
37
51
|
uint64 rho_math_pow2(int n);
|
38
52
|
|
@@ -153,4 +153,17 @@ CRITICAL_SECTION __g_cs_##name;
|
|
153
153
|
|
154
154
|
#endif //__cplusplus
|
155
155
|
|
156
|
+
# ifdef __cplusplus
|
157
|
+
extern "C" {
|
158
|
+
# endif
|
159
|
+
|
160
|
+
void* rho_mutex_create();
|
161
|
+
void rho_mutex_destroy(void*);
|
162
|
+
void rho_mutex_lock(void*);
|
163
|
+
void rho_mutex_release(void*);
|
164
|
+
|
165
|
+
# ifdef __cplusplus
|
166
|
+
}
|
167
|
+
#endif //__cplusplus
|
168
|
+
|
156
169
|
#endif //_RHOMUTEXLOCK_H_
|
@@ -45,7 +45,7 @@ public:
|
|
45
45
|
|
46
46
|
inline unsigned int CSystem::getThreadID(){
|
47
47
|
// On Linux and FreeBSD, we try to use gettid().
|
48
|
-
#if defined OS_LINUX || defined OS_FREEBSD
|
48
|
+
#if defined OS_LINUX || defined OS_FREEBSD
|
49
49
|
#ifndef __NR_gettid
|
50
50
|
#ifdef OS_MACOSX
|
51
51
|
#define __NR_gettid SYS_gettid
|
@@ -26,6 +26,7 @@
|
|
26
26
|
|
27
27
|
#include "RhoThread.h"
|
28
28
|
#include "IRhoClassFactory.h"
|
29
|
+
#include "RhoMutexLock.h"
|
29
30
|
|
30
31
|
namespace rho {
|
31
32
|
namespace common {
|
@@ -47,3 +48,27 @@ void CRhoThread::start(EPriority ePriority)
|
|
47
48
|
|
48
49
|
}
|
49
50
|
}
|
51
|
+
|
52
|
+
# ifdef __cplusplus
|
53
|
+
extern "C" {
|
54
|
+
# endif
|
55
|
+
|
56
|
+
void* rho_mutex_create() {
|
57
|
+
return (void*)(new rho::common::CMutex());
|
58
|
+
}
|
59
|
+
|
60
|
+
void rho_mutex_destroy(void* m) {
|
61
|
+
delete m;
|
62
|
+
}
|
63
|
+
|
64
|
+
void rho_mutex_lock(void* m) {
|
65
|
+
((rho::common::CMutex*)m)->Lock();
|
66
|
+
}
|
67
|
+
|
68
|
+
void rho_mutex_release(void* m) {
|
69
|
+
((rho::common::CMutex*)m)->Unlock();
|
70
|
+
}
|
71
|
+
|
72
|
+
# ifdef __cplusplus
|
73
|
+
}
|
74
|
+
#endif //__cplusplus
|
@@ -194,6 +194,14 @@ void CAppCallbacksQueue::callCallback(const String& strCallback)
|
|
194
194
|
|
195
195
|
String strUrl = RHODESAPP().getBaseUrl();
|
196
196
|
strUrl += strCallback;
|
197
|
+
|
198
|
+
boolean force_https = false;
|
199
|
+
#ifdef OS_MACOSX
|
200
|
+
if (rho_conf_is_property_exists("ios_https_local_server")!=0) {
|
201
|
+
force_https = rho_conf_getBool("ios_https_local_server")!=0;
|
202
|
+
}
|
203
|
+
#endif
|
204
|
+
|
197
205
|
NetResponse resp = getNetRequest().pullData( strUrl, NULL );
|
198
206
|
if ( !resp.isOK() )
|
199
207
|
{
|
@@ -205,9 +213,21 @@ void CAppCallbacksQueue::callCallback(const String& strCallback)
|
|
205
213
|
bTryAgain = true;
|
206
214
|
}
|
207
215
|
#else
|
208
|
-
|
216
|
+
String addr_number;
|
217
|
+
String addr_local;
|
218
|
+
if (force_https) {
|
219
|
+
addr_number = "https";
|
220
|
+
addr_local = "https";
|
221
|
+
}
|
222
|
+
else {
|
223
|
+
addr_number = "http";
|
224
|
+
addr_local = "http";
|
225
|
+
}
|
226
|
+
addr_number = addr_number + "://127.0.0.1:";
|
227
|
+
addr_local = addr_local + "://localhost:";
|
228
|
+
if ( String_startsWith( strUrl, addr_number ) )
|
209
229
|
{
|
210
|
-
RHODESAPP().setBaseUrl(
|
230
|
+
RHODESAPP().setBaseUrl(addr_local);
|
211
231
|
bTryAgain = true;
|
212
232
|
}
|
213
233
|
#endif
|
@@ -390,7 +410,7 @@ void CAppCallbacksQueue::processUiCreated()
|
|
390
410
|
// at this point JS app is unlikely to set its own handler, just navigate to overriden start path
|
391
411
|
RHODESAPP().getApplicationEventReceiver()->onUIStateChange(rho::common::UIStateCreated);
|
392
412
|
|
393
|
-
if ( rho_ruby_is_started() )
|
413
|
+
if ( rho_ruby_is_started() && (!RHODESAPP().isRubyNodeJSApplication()))
|
394
414
|
callCallback("/system/uicreated");
|
395
415
|
#if !defined(APP_BUILD_CAPABILITY_SHARED_RUNTIME) || !defined(OS_ANDROID)
|
396
416
|
else
|
@@ -417,6 +437,19 @@ void CAppCallbacksQueue::processUiCreated()
|
|
417
437
|
m_pInstance = 0;
|
418
438
|
}
|
419
439
|
|
440
|
+
#if defined(WINDOWS_PLATFORM)
|
441
|
+
void CRhodesApp::waitAppStarted()
|
442
|
+
{
|
443
|
+
std::unique_lock<std::mutex> lock(wait_mutex);
|
444
|
+
activated_cond.wait(lock);
|
445
|
+
}
|
446
|
+
|
447
|
+
void CRhodesApp::notifyAppStared()
|
448
|
+
{
|
449
|
+
activated_cond.notify_one();
|
450
|
+
}
|
451
|
+
#endif
|
452
|
+
|
420
453
|
CRhodesApp::CRhodesApp(const String& strRootPath, const String& strUserPath, const String& strRuntimePath)
|
421
454
|
:CRhodesAppBase(strRootPath, strUserPath, strRuntimePath),
|
422
455
|
m_networkStatusReceiver(m_mxNetworkStatus)
|
@@ -523,7 +556,7 @@ void CRhodesApp::run()
|
|
523
556
|
RHODESAPP().notifyLocalServerStarted();
|
524
557
|
|
525
558
|
#ifdef OS_MACOSX
|
526
|
-
bool shouldRunDirectQueue =
|
559
|
+
bool shouldRunDirectQueue = false;
|
527
560
|
net::CDirectHttpRequestQueue directQueue(*m_httpServer, *this );
|
528
561
|
|
529
562
|
if (RHOCONF().isExist("ios_direct_local_requests")) {
|
@@ -1756,10 +1789,14 @@ void CRhodesApp::initAppUrls()
|
|
1756
1789
|
m_strHomeUrl = "https://127.0.0.1:";
|
1757
1790
|
}
|
1758
1791
|
else {
|
1759
|
-
m_strHomeUrl = "http
|
1792
|
+
m_strHomeUrl = "http";
|
1793
|
+
m_strHomeUrl = m_strHomeUrl + "://127.0.0.1:";
|
1760
1794
|
}
|
1761
1795
|
|
1762
|
-
|
1796
|
+
m_strRubyServerHomeURL = m_strHomeUrl+getFreeListeningPort();
|
1797
|
+
m_strNodeServerHomeURL = m_strHomeUrl+getNodeJSListeningPort();
|
1798
|
+
|
1799
|
+
if (isNodeJSApplication() || isRubyNodeJSApplication()) {
|
1763
1800
|
m_strHomeUrl += getNodeJSListeningPort();
|
1764
1801
|
}
|
1765
1802
|
else {
|
@@ -3023,6 +3060,15 @@ int rho_rhodesapp_is_application_active() {
|
|
3023
3060
|
int rho_rhodesapp_is_nodejs_app() {
|
3024
3061
|
return RHODESAPP().isNodeJSApplication() ? 1 : 0;
|
3025
3062
|
}
|
3063
|
+
|
3064
|
+
int rho_rhodesapp_is_rubynodejs_app() {
|
3065
|
+
return RHODESAPP().isRubyNodeJSApplication() ? 1 : 0;
|
3066
|
+
}
|
3067
|
+
|
3068
|
+
const char* rho_rhodesapp_rubyhomeurl() {
|
3069
|
+
return RHODESAPP().getRubyHomeURL().c_str();
|
3070
|
+
}
|
3071
|
+
|
3026
3072
|
|
3027
3073
|
int rho_rhodesapp_canstartapp(const char* szCmdLine, const char* szSeparators)
|
3028
3074
|
{
|
@@ -40,6 +40,9 @@
|
|
40
40
|
#include "ExtManager.h"
|
41
41
|
#include "api_generator/MethodResult.h"
|
42
42
|
|
43
|
+
#include <condition_variable>
|
44
|
+
#include <mutex>
|
45
|
+
|
43
46
|
#undef DEFAULT_LOGCATEGORY
|
44
47
|
#define DEFAULT_LOGCATEGORY "RhodesApp"
|
45
48
|
|
@@ -149,6 +152,9 @@ private:
|
|
149
152
|
String m_strListeningPorts;
|
150
153
|
String m_strNodeJSListeningPorts;
|
151
154
|
int m_nNodeJSListeningPorts;
|
155
|
+
|
156
|
+
String m_strRubyServerHomeURL;
|
157
|
+
String m_strNodeServerHomeURL;
|
152
158
|
|
153
159
|
common::CAutoPtr<net::CHttpServer> m_httpServer;
|
154
160
|
CSplashScreen m_oSplashScreen;
|
@@ -168,6 +174,10 @@ private:
|
|
168
174
|
Vector<String> m_arAppBackUrl, m_arAppBackUrlOrig;
|
169
175
|
Vector<ICallbackObject*> m_arCallbackObjects;
|
170
176
|
mutable common::CMutex m_mxCallbackObjects;
|
177
|
+
#if defined(WINDOWS_PLATFORM)
|
178
|
+
std::mutex wait_mutex;
|
179
|
+
std::condition_variable activated_cond;
|
180
|
+
#endif
|
171
181
|
|
172
182
|
common::CMutex m_mxScreenRotationCallback;
|
173
183
|
String m_strScreenRotationCallback, m_strScreenRotationCallbackParams;
|
@@ -244,7 +254,10 @@ public:
|
|
244
254
|
CSplashScreen& getSplashScreen(){return m_oSplashScreen;}
|
245
255
|
CRhoTimer& getTimer(){ return m_oTimer; }
|
246
256
|
|
247
|
-
CExtManager& getExtManager()
|
257
|
+
CExtManager& getExtManager()
|
258
|
+
{
|
259
|
+
return m_oExtManager;
|
260
|
+
}
|
248
261
|
|
249
262
|
String addCallbackObject(ICallbackObject* pCallbackObject, String strName);
|
250
263
|
unsigned long getCallbackObject(int nIndex);
|
@@ -288,6 +301,10 @@ public:
|
|
288
301
|
|
289
302
|
unsigned int getLocalServerPort() { return (m_httpServer!=0)?(m_httpServer->getPort()):0; }
|
290
303
|
unsigned int getNodeJSServerPort() { return m_nNodeJSListeningPorts; }
|
304
|
+
|
305
|
+
String& getRubyHomeURL() {return m_strRubyServerHomeURL;}
|
306
|
+
String& getNodeHomeURL() {return m_strNodeServerHomeURL;}
|
307
|
+
|
291
308
|
#ifdef OS_MACOSX
|
292
309
|
String directHttpRequest( const String& method, const String& uri, const String& query, const rho::net::HttpHeaderList& headers, const String& body ) { return m_httpServer->directRequest(method, uri, query, headers, body ); }
|
293
310
|
#endif
|
@@ -298,6 +315,10 @@ public:
|
|
298
315
|
#endif
|
299
316
|
|
300
317
|
virtual bool isApplicationActive() { return getApplicationEventReceiver()->isApplicationActive(); }
|
318
|
+
#if defined(WINDOWS_PLATFORM)
|
319
|
+
void waitAppStarted();
|
320
|
+
void notifyAppStared();
|
321
|
+
#endif
|
301
322
|
|
302
323
|
protected:
|
303
324
|
virtual void run();
|
@@ -421,7 +442,10 @@ void rho_sys_set_network_status_notify(const char* url, int poll_interval);
|
|
421
442
|
void rho_sys_clear_network_status_notify();
|
422
443
|
int rho_rhodesapp_is_application_active();
|
423
444
|
int rho_rhodesapp_is_nodejs_app();
|
445
|
+
int rho_rhodesapp_is_rubynodejs_app();
|
424
446
|
|
447
|
+
const char* rho_rhodesapp_rubyhomeurl();
|
448
|
+
|
425
449
|
#ifdef __cplusplus
|
426
450
|
};
|
427
451
|
#endif //__cplusplus
|
@@ -77,9 +77,11 @@ CRhodesAppBase::CRhodesAppBase(const String& strRootPath, const String& strUserP
|
|
77
77
|
#endif
|
78
78
|
|
79
79
|
const char* nodejs_app = get_app_build_config_item("nodejs_application");
|
80
|
-
|
81
80
|
m_bNodeJSApplication = nodejs_app && (strcmp(nodejs_app,"true") == 0);
|
82
|
-
|
81
|
+
|
82
|
+
const char* rubynodejs_app = get_app_build_config_item("rubynodejs_application");
|
83
|
+
m_bRubyNodeJSApplication = rubynodejs_app && (strcmp(rubynodejs_app,"true") == 0);
|
84
|
+
|
83
85
|
initAppUrls();
|
84
86
|
}
|
85
87
|
|
@@ -65,6 +65,7 @@ protected:
|
|
65
65
|
PushManager m_appPushMgr;
|
66
66
|
bool m_bJSApplication;
|
67
67
|
bool m_bNodeJSApplication;
|
68
|
+
bool m_bRubyNodeJSApplication;
|
68
69
|
|
69
70
|
CRhodesAppBase(const String& strRootPath, const String& strUserPath, const String& strRuntimePath);
|
70
71
|
public:
|
@@ -99,6 +100,10 @@ public:
|
|
99
100
|
void setNodeJSApplication(bool bJSApp){ m_bNodeJSApplication = bJSApp; }
|
100
101
|
bool isNodeJSApplication()const{ return m_bNodeJSApplication; }
|
101
102
|
|
103
|
+
void setRubyNodeJSApplication(bool bJSApp){ m_bRubyNodeJSApplication = bJSApp; }
|
104
|
+
bool isRubyNodeJSApplication()const{ return m_bRubyNodeJSApplication; }
|
105
|
+
|
106
|
+
|
102
107
|
// Deprecated
|
103
108
|
boolean callPushCallback(const String& strData) const;
|
104
109
|
|
@@ -29,6 +29,7 @@
|
|
29
29
|
#include <assert.h>
|
30
30
|
|
31
31
|
#include "common/IRhoClassFactory.h"
|
32
|
+
#include "common/ISecurityTokenGenerator.h"
|
32
33
|
#include "net/CURLNetRequest.h"
|
33
34
|
#include "common/PosixThreadImpl.h"
|
34
35
|
#include "net/iphone/sslimpl.h"
|
@@ -79,6 +80,11 @@ public:
|
|
79
80
|
return m_pSsl;
|
80
81
|
}
|
81
82
|
|
83
|
+
const rho::common::ISecurityTokenGenerator* createSecurityTokenGenerator()
|
84
|
+
{
|
85
|
+
return nullptr;
|
86
|
+
}
|
87
|
+
|
82
88
|
private:
|
83
89
|
CMutex m_sslMutex;
|
84
90
|
common::CAutoPtr<net::ISSL> m_pSsl;
|
@@ -53,6 +53,8 @@ namespace common{
|
|
53
53
|
IMPLEMENT_LOGCLASS(CRhoCryptImpl,"RhoCrypt");
|
54
54
|
#define checkError(func) _checkError(func, #func)
|
55
55
|
|
56
|
+
static NSMutableDictionary* ourKeys = [NSMutableDictionary dictionaryWithCapacity:16];
|
57
|
+
|
56
58
|
CRhoCryptImpl::CRhoCryptImpl(void) : m_dbKeyData(NULL)
|
57
59
|
{
|
58
60
|
m_dwLastError = 0;
|
@@ -61,8 +63,9 @@ CRhoCryptImpl::CRhoCryptImpl(void) : m_dbKeyData(NULL)
|
|
61
63
|
|
62
64
|
CRhoCryptImpl::~CRhoCryptImpl(void)
|
63
65
|
{
|
64
|
-
|
65
|
-
|
66
|
+
// keys now stored into ourKeys hash. For restore in case of DB was reset and reopen - new CRhoCryptImpl created during this process and new CRhoCryptImpl forget about key - so we store keys in hash partition -> key
|
67
|
+
//if ( m_dbKeyData )
|
68
|
+
// free(m_dbKeyData);
|
66
69
|
}
|
67
70
|
|
68
71
|
bool CRhoCryptImpl::_checkError( int32_t status, const char* szFunc )
|
@@ -607,6 +610,15 @@ void CRhoCryptImpl::initContext(const char* szPartition)
|
|
607
610
|
|
608
611
|
RAWLOG_INFO1("CRhoCryptImpl::initContext() Partition = [%s]", szPartition);
|
609
612
|
m_strDBPartition = szPartition;
|
613
|
+
|
614
|
+
if (!m_dbKeyData) {
|
615
|
+
// if DB was reopen again we restore stored key from hash by partition for avoid regenerate key in case of isNewInstallation
|
616
|
+
NSObject* obj = [ourKeys objectForKey:[NSString stringWithUTF8String:szPartition]];
|
617
|
+
if (obj != nil) {
|
618
|
+
NSNumber* nsn = (NSNumber*)obj;
|
619
|
+
m_dbKeyData = (unsigned char*)[nsn unsignedLongLongValue];
|
620
|
+
}
|
621
|
+
}
|
610
622
|
|
611
623
|
RAWLOG_INFO1("CRhoCryptImpl::initContext() START m_strDBPartition = [%s]", m_strDBPartition.c_str());
|
612
624
|
if(isNewInstallation && !m_dbKeyData)
|
@@ -633,6 +645,13 @@ void CRhoCryptImpl::initContext(const char* szPartition)
|
|
633
645
|
}
|
634
646
|
|
635
647
|
generateNewKey();
|
648
|
+
|
649
|
+
{
|
650
|
+
// store key for partition - key will be restored in future in case of DB will reopened
|
651
|
+
NSNumber* nsn = [NSNumber numberWithUnsignedLongLong:(unsigned long long)m_dbKeyData];
|
652
|
+
[ourKeys setObject:nsn forKey:[NSString stringWithUTF8String:szPartition]];
|
653
|
+
}
|
654
|
+
|
636
655
|
writeKeyToStorageOld();
|
637
656
|
writeKeyToStorageNew();
|
638
657
|
RAWLOG_INFO("CRhoCryptImpl::initContext() FINISH");
|
@@ -796,12 +796,12 @@ BaseMapView::BaseMapView(IDrawingDevice *device, const char* name)
|
|
796
796
|
{
|
797
797
|
String url = RHOCONF().getString("ESRI_map_url_roadmap");
|
798
798
|
if (url.empty())
|
799
|
-
url = "
|
799
|
+
url = "https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/";
|
800
800
|
m_map_urls.put("roadmap", url);
|
801
801
|
|
802
802
|
url = RHOCONF().getString("ESRI_map_url_satellite");
|
803
803
|
if (url.empty())
|
804
|
-
url = "
|
804
|
+
url = "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/";
|
805
805
|
m_map_urls.put("satellite", url);
|
806
806
|
}
|
807
807
|
|