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
@@ -0,0 +1,81 @@
|
|
1
|
+
#pragma once
|
2
|
+
|
3
|
+
|
4
|
+
#include "../api/IRhoRuby.h"
|
5
|
+
#include "../../ruby/include/ruby.h"
|
6
|
+
#include "common/RhoMutexLock.h"
|
7
|
+
#include "json/JSONIterator.h"
|
8
|
+
|
9
|
+
#include <string>
|
10
|
+
#include <map>
|
11
|
+
#include <vector>
|
12
|
+
|
13
|
+
namespace rho {
|
14
|
+
namespace ruby {
|
15
|
+
|
16
|
+
|
17
|
+
class RhoRubyImpl : public IRhoRuby {
|
18
|
+
|
19
|
+
public:
|
20
|
+
virtual ~RhoRubyImpl();
|
21
|
+
RhoRubyImpl(bool _lateInit = false);
|
22
|
+
|
23
|
+
virtual void init() override;
|
24
|
+
|
25
|
+
// get local Ruby server URL
|
26
|
+
virtual IString* getRubyServerURL();
|
27
|
+
|
28
|
+
// call command in ruby thread
|
29
|
+
virtual void executeInRubyThread(IRunnable* command);
|
30
|
+
|
31
|
+
// call ruby server url (get request) and receive responce (body if exist or NULL if error etc.)
|
32
|
+
virtual void executeGetRequestToRubyServer(const char* url, IRubyLocalServerRequestCallback* callback);
|
33
|
+
|
34
|
+
// execute ruby code in current thread. parameters can be simple object (string, integer etc. - in this case one parameters will be passed to method.)
|
35
|
+
// also parameters can be IArray - in this case list of parameters will be passed to method (parameters from array)
|
36
|
+
// this method recommended execute from ruby thread (from IRunnable command), but can be executed from other thread for very simple opertions without modifying ruby objects
|
37
|
+
virtual IObject* executeRubyObjectMethod(IObject* object, const char* method_name, IObject* parameters);
|
38
|
+
|
39
|
+
// this method recommended execute from ruby thread (from IRunnable command), but can be executed from other thread
|
40
|
+
virtual IObject* makeRubyClassObject(const char* full_class_name);
|
41
|
+
|
42
|
+
// can be execute from any thread - for construct parameters for execute ruby code
|
43
|
+
virtual IObject* makeBaseTypeObject(BASIC_TYPES type);
|
44
|
+
|
45
|
+
|
46
|
+
// register callback for execute from Ruby side via - it is needed for direct call native code foem ruby code
|
47
|
+
// Rho::Ruby.callNativeCallback(callback_id, param)
|
48
|
+
virtual void addRubyNativeCallback(const char* callback_id, IRubyNativeCallback* callback);
|
49
|
+
virtual void removeRubyNativeCallback(const char* callback_id);
|
50
|
+
|
51
|
+
// util methods (used for parse responce from server etc.)
|
52
|
+
virtual IObject* convertJSON_to_Objects(const char* json);
|
53
|
+
virtual IString* convertObject_to_JSON(IObject* obj);
|
54
|
+
|
55
|
+
virtual void loadRubyFile(const char* ruby_file_path);
|
56
|
+
virtual void loadModel(const char* ruby_file_path);
|
57
|
+
virtual IObject* executeRubyMethod(const char* full_class_name, const char* method_name, IObject* parameters);
|
58
|
+
virtual IString* executeRubyMethodWithJSON(const char* full_class_name, const char* method_name, const char* parameters_in_json);
|
59
|
+
|
60
|
+
|
61
|
+
IObject* convertVALUE_to_Object(VALUE value);
|
62
|
+
VALUE convertObject_to_VALUE(IObject* obj);
|
63
|
+
|
64
|
+
VALUE rb_Rho_Ruby_callNativeCallback(int argc, VALUE *argv);
|
65
|
+
void rholib_local_server_callback();
|
66
|
+
|
67
|
+
private:
|
68
|
+
IObject* convertJSON_to_Object(json::CJSONEntry* json_entry);
|
69
|
+
|
70
|
+
//hashtable for native callback_id => callback pointer
|
71
|
+
std::map<std::string, IRubyNativeCallback*> mCallbacks;
|
72
|
+
|
73
|
+
|
74
|
+
std::vector<IRunnable*> mRubyCommands;
|
75
|
+
common::CMutex m_mxSyncMutex;
|
76
|
+
bool lateInit = false;
|
77
|
+
|
78
|
+
};
|
79
|
+
|
80
|
+
}
|
81
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
|
2
|
+
#include "../api/RhoRubySingletone.h"
|
3
|
+
#include "RhoRubyImpl.h"
|
4
|
+
#include <stdlib.h>
|
5
|
+
|
6
|
+
namespace rho {
|
7
|
+
namespace ruby {
|
8
|
+
|
9
|
+
IRhoRuby* RhoRubySingletone::mRhoRuby = NULL;
|
10
|
+
|
11
|
+
IRhoRuby* RhoRubySingletone::getRhoRuby(bool lateInit) {
|
12
|
+
if (mRhoRuby == NULL) {
|
13
|
+
mRhoRuby = new RhoRubyImpl(lateInit);
|
14
|
+
}
|
15
|
+
return mRhoRuby;
|
16
|
+
}
|
17
|
+
|
18
|
+
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#include "RubyServerResponceImpl.h"
|
2
|
+
#include "../api/RhoRubySingletone.h"
|
3
|
+
#include "../api/IMutableString.h"
|
4
|
+
#include <stdlib.h>
|
5
|
+
#include "string.h"
|
6
|
+
|
7
|
+
namespace rho {
|
8
|
+
namespace ruby {
|
9
|
+
|
10
|
+
RubyServerResponceImpl::RubyServerResponceImpl(const char* body) {
|
11
|
+
mBody = NULL;
|
12
|
+
if (body != NULL) {
|
13
|
+
int len = (int)strlen(body);
|
14
|
+
mBody = (char*)malloc(len+1);
|
15
|
+
strcpy(mBody, body);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
RubyServerResponceImpl::~RubyServerResponceImpl(){
|
20
|
+
if (mBody != NULL) {
|
21
|
+
free(mBody);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
IString* RubyServerResponceImpl::getResponceBody() {
|
26
|
+
IMutableString* str = (IMutableString*)RhoRubySingletone::getRhoRuby()->makeBaseTypeObject(BASIC_TYPES::MutableString);
|
27
|
+
str->setUTF8(mBody);
|
28
|
+
return str;
|
29
|
+
}
|
30
|
+
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#pragma once
|
2
|
+
#include "../api/IRhoRuby.h"
|
3
|
+
|
4
|
+
namespace rho {
|
5
|
+
namespace ruby {
|
6
|
+
|
7
|
+
class RubyServerResponceImpl : public IRubyServerResponce
|
8
|
+
{
|
9
|
+
public:
|
10
|
+
virtual ~RubyServerResponceImpl();
|
11
|
+
RubyServerResponceImpl(const char* body);
|
12
|
+
virtual IString* getResponceBody();
|
13
|
+
|
14
|
+
private:
|
15
|
+
char* mBody;
|
16
|
+
};
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
}
|
21
|
+
}
|
@@ -7,6 +7,8 @@
|
|
7
7
|
#warning ">>>>> Building for x86 <<<<<"
|
8
8
|
#elif defined(__arm__)
|
9
9
|
#warning ">>>>> Building for ARM <<<<<"
|
10
|
+
#elif defined(__aarch64__)
|
11
|
+
#warning ">>>>> Building for AARCH64 <<<<<"
|
10
12
|
#else
|
11
13
|
#error ">>>>> UNKNOWN ARCH! <<<<<"
|
12
14
|
#endif
|
@@ -120,15 +122,29 @@
|
|
120
122
|
#define HAVE_OFF_T 1
|
121
123
|
#define SIZEOF_INT 4
|
122
124
|
#define SIZEOF_SHORT 2
|
125
|
+
#if defined(__aarch64__)
|
126
|
+
#define SIZEOF_LONG 8
|
127
|
+
#else
|
123
128
|
#define SIZEOF_LONG 4
|
129
|
+
#endif
|
124
130
|
#define SIZEOF_LONG_LONG 8
|
125
131
|
#define SIZEOF___INT64 0
|
132
|
+
|
133
|
+
#if defined(__aarch64__)
|
134
|
+
#define SIZEOF_OFF_T 8
|
135
|
+
#define SIZEOF_VOIDP 8
|
136
|
+
#define SIZEOF_TIME_T 8
|
137
|
+
#define SIZEOF_CLOCK_T 8
|
138
|
+
#else
|
126
139
|
#define SIZEOF_OFF_T 4
|
127
140
|
#define SIZEOF_VOIDP 4
|
128
|
-
#define SIZEOF_FLOAT 4
|
129
|
-
#define SIZEOF_DOUBLE 8
|
130
141
|
#define SIZEOF_TIME_T 4
|
131
142
|
#define SIZEOF_CLOCK_T 4
|
143
|
+
#endif
|
144
|
+
|
145
|
+
#define SIZEOF_FLOAT 4
|
146
|
+
#define SIZEOF_DOUBLE 8
|
147
|
+
|
132
148
|
#define PACKED_STRUCT(x) x __attribute__((packed))
|
133
149
|
#define PACKED_STRUCT_UNALIGNED(x) x
|
134
150
|
#define PRI_LL_PREFIX "ll"
|
@@ -209,8 +225,14 @@
|
|
209
225
|
#define ENUM_OVER_INT 1
|
210
226
|
#define HAVE_DECL_SYS_NERR 1
|
211
227
|
#define HAVE_DECL_GETENV 1
|
228
|
+
#if defined(__aarch64__)
|
229
|
+
#define SIZEOF_SIZE_T 8
|
230
|
+
#define SIZEOF_PTRDIFF_T 8
|
231
|
+
#else
|
212
232
|
#define SIZEOF_SIZE_T 4
|
213
233
|
#define SIZEOF_PTRDIFF_T 4
|
234
|
+
#endif
|
235
|
+
|
214
236
|
#define PRI_SIZE_PREFIX "z"
|
215
237
|
#define PRI_PTRDIFF_PREFIX "t"
|
216
238
|
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
|
@@ -219,9 +241,17 @@
|
|
219
241
|
#define HAVE_ST_BLOCKS 1
|
220
242
|
#define HAVE_STRUCT_STAT_ST_RDEV 1
|
221
243
|
#define HAVE_ST_RDEV 1
|
244
|
+
|
245
|
+
#if defined(__aarch64__)
|
246
|
+
#define SIZEOF_STRUCT_STAT_ST_SIZE SIZEOF_OFF_T
|
247
|
+
#define SIZEOF_STRUCT_STAT_ST_BLOCKS SIZEOF_OFF_T
|
248
|
+
#define SIZEOF_STRUCT_STAT_ST_INO SIZEOF_LONG
|
249
|
+
#else
|
222
250
|
#define SIZEOF_STRUCT_STAT_ST_SIZE SIZEOF_LONG_LONG
|
223
251
|
#define SIZEOF_STRUCT_STAT_ST_BLOCKS SIZEOF_LONG_LONG
|
224
252
|
#define SIZEOF_STRUCT_STAT_ST_INO SIZEOF_LONG_LONG
|
253
|
+
#endif
|
254
|
+
|
225
255
|
#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1
|
226
256
|
#define HAVE_STRUCT_STAT_ST_MTIMENSEC 1
|
227
257
|
#define HAVE_STRUCT_STAT_ST_CTIMENSEC 1
|
@@ -247,11 +277,23 @@
|
|
247
277
|
#define HAVE_UINT64_T 1
|
248
278
|
#define SIZEOF_UINT64_T 8
|
249
279
|
#define HAVE_INTPTR_T 1
|
280
|
+
#if defined(__aarch64__)
|
281
|
+
#define SIZEOF_INTPTR_T 8
|
282
|
+
#else
|
250
283
|
#define SIZEOF_INTPTR_T 4
|
284
|
+
#endif
|
251
285
|
#define HAVE_UINTPTR_T 1
|
286
|
+
#if defined(__aarch64__)
|
287
|
+
#define SIZEOF_UINTPTR_T 8
|
288
|
+
#else
|
252
289
|
#define SIZEOF_UINTPTR_T 4
|
290
|
+
#endif
|
253
291
|
#define HAVE_SSIZE_T 1
|
292
|
+
#if defined(__aarch64__)
|
293
|
+
#define SIZEOF_SSIZE_T 8
|
294
|
+
#else
|
254
295
|
#define SIZEOF_SSIZE_T 4
|
296
|
+
#endif
|
255
297
|
#define GETGROUPS_T gid_t
|
256
298
|
#define RETSIGTYPE void
|
257
299
|
#define HAVE_ALLOCA_H 1
|
@@ -399,7 +441,7 @@
|
|
399
441
|
//RHO
|
400
442
|
#if defined(__i386__) || defined(__x86_64__)
|
401
443
|
#define STACK_GROW_DIRECTION -1
|
402
|
-
#elif defined
|
444
|
+
#elif defined(__arm__) || defined(__aarch64__)
|
403
445
|
#define STACK_GROW_DIRECTION 0
|
404
446
|
#else
|
405
447
|
#error "Unknown arch!"
|
@@ -423,15 +465,25 @@
|
|
423
465
|
#define HAVE_ELF_H 1
|
424
466
|
#define DLEXT_MAXLEN 3
|
425
467
|
#define DLEXT ".so"
|
468
|
+
|
469
|
+
#if defined(__aarch64__)
|
470
|
+
#define RUBY_SETJMP(env) sigsetjmp((env),0)
|
471
|
+
#define RUBY_LONGJMP(env,val) siglongjmp((env),val)
|
472
|
+
#define RUBY_JMP_BUF sigjmp_buf
|
473
|
+
#else
|
426
474
|
#define RUBY_SETJMP(env) __builtin_setjmp((env))
|
427
475
|
#define RUBY_LONGJMP(env,val) __builtin_longjmp((env),val)
|
428
476
|
#define RUBY_JMP_BUF jmp_buf
|
477
|
+
#endif
|
478
|
+
|
429
479
|
#define HAVE_PTHREAD_H 1
|
430
480
|
//RHO
|
431
481
|
#if defined(__i386__) || defined(__x86_64__)
|
432
482
|
#define RUBY_PLATFORM "android-x86"
|
433
483
|
#elif defined (__arm__)
|
434
484
|
#define RUBY_PLATFORM "arm-linux-androideabi"
|
485
|
+
#elif defined (__aarch64__)
|
486
|
+
#define RUBY_PLATFORM "aarch64-linux"
|
435
487
|
#else
|
436
488
|
#error "Unknown arch!"
|
437
489
|
#endif
|
@@ -66,7 +66,7 @@ static const char REPORTBUG_MSG[] =
|
|
66
66
|
" or extension libraries.\n" \
|
67
67
|
"Bug reports are welcome.\n" \
|
68
68
|
""
|
69
|
-
"For details:
|
69
|
+
"For details: https://www.ruby-lang.org/bugreport.html\n\n" \
|
70
70
|
;
|
71
71
|
|
72
72
|
static const char *
|
@@ -90,6 +90,9 @@ extern void Init_nonblock(void);
|
|
90
90
|
extern void Init_date_core(void);
|
91
91
|
|
92
92
|
|
93
|
+
extern void Init_RubyNative_extension(void);
|
94
|
+
|
95
|
+
|
93
96
|
//RhoSupport extension
|
94
97
|
extern void Init_RhoSupport(void);
|
95
98
|
extern VALUE require_compiled(VALUE fname, VALUE* result);
|
@@ -121,6 +124,14 @@ extern int rho_conf_getBool(const char* szName);
|
|
121
124
|
|
122
125
|
static int extensions_loaded = 0;
|
123
126
|
|
127
|
+
#ifndef RHO_RUBY_COMPILER
|
128
|
+
extern void* rho_mutex_create();
|
129
|
+
extern void rho_mutex_lock(void*);
|
130
|
+
extern void rho_mutex_release(void*);
|
131
|
+
static void* s_ruby_gc_lock;
|
132
|
+
#endif
|
133
|
+
|
134
|
+
|
124
135
|
#if defined(WIN32)
|
125
136
|
extern void rb_w32_sysinit(int *argc, char ***argv);
|
126
137
|
#endif
|
@@ -180,6 +191,9 @@ void Init_transcoders() {
|
|
180
191
|
|
181
192
|
void RhoRubyStart()
|
182
193
|
{
|
194
|
+
#ifndef RHO_RUBY_COMPILER
|
195
|
+
s_ruby_gc_lock = rho_mutex_create();
|
196
|
+
#endif
|
183
197
|
const char* szRoot = rho_native_rhopath();
|
184
198
|
//RHO
|
185
199
|
#if defined(_WIN32)
|
@@ -272,6 +286,11 @@ void RhoRubyStart()
|
|
272
286
|
|
273
287
|
Init_Extensions();
|
274
288
|
#endif //OS_WP8
|
289
|
+
|
290
|
+
|
291
|
+
//MOHUS
|
292
|
+
//Init_RubyNative_extension();
|
293
|
+
|
275
294
|
|
276
295
|
extensions_loaded = 1;
|
277
296
|
|
@@ -992,21 +1011,55 @@ void rho_ruby_enable_gc(VALUE val)
|
|
992
1011
|
rb_gc_disable();
|
993
1012
|
}
|
994
1013
|
|
1014
|
+
void rho_ruby_gc_lock() {
|
1015
|
+
#ifndef RHO_RUBY_COMPILER
|
1016
|
+
rho_mutex_lock( s_ruby_gc_lock );
|
1017
|
+
#endif
|
1018
|
+
}
|
1019
|
+
|
1020
|
+
void rho_ruby_gc_release() {
|
1021
|
+
#ifndef RHO_RUBY_COMPILER
|
1022
|
+
rho_mutex_release( s_ruby_gc_lock );
|
1023
|
+
#endif
|
1024
|
+
}
|
1025
|
+
|
995
1026
|
void rho_ruby_holdValue(VALUE val)
|
996
|
-
{
|
1027
|
+
{
|
1028
|
+
rho_ruby_gc_lock();
|
1029
|
+
|
997
1030
|
rb_gc_register_mark_object(val);
|
1031
|
+
|
1032
|
+
rho_ruby_gc_release();
|
998
1033
|
}
|
999
1034
|
|
1000
1035
|
void rho_ruby_releaseValue(VALUE val)
|
1001
1036
|
{
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1037
|
+
rho_ruby_gc_lock();
|
1038
|
+
|
1039
|
+
VALUE ary_ary = GET_VM()->mark_object_ary;
|
1040
|
+
|
1041
|
+
int bucket = RARRAY_LEN(ary_ary)-1;
|
1042
|
+
int done = 0;
|
1043
|
+
for ( ; bucket >= 0; bucket-- ) {
|
1044
|
+
VALUE ary = rb_ary_at( ary_ary, INT2NUM(bucket) );
|
1045
|
+
|
1046
|
+
int i = RARRAY_LEN(ary)-1;
|
1047
|
+
for ( ; i >= 0; i-- ) {
|
1048
|
+
if ( RARRAY_PTR(ary)[i]== val )
|
1049
|
+
break;
|
1050
|
+
}
|
1051
|
+
|
1052
|
+
if ( i >= 0 ) {
|
1053
|
+
rb_ary_delete_at(ary,i);
|
1054
|
+
done = 1;
|
1055
|
+
}
|
1056
|
+
|
1057
|
+
if ( done != 0 ) {
|
1006
1058
|
break;
|
1059
|
+
}
|
1007
1060
|
}
|
1008
|
-
|
1009
|
-
|
1061
|
+
|
1062
|
+
rho_ruby_gc_release();
|
1010
1063
|
}
|
1011
1064
|
|
1012
1065
|
extern VALUE rb_cMutex;
|
@@ -91,6 +91,9 @@ void rho_ruby_releaseValue(VALUE val);
|
|
91
91
|
VALUE rho_ruby_disable_gc();
|
92
92
|
void rho_ruby_enable_gc(VALUE val);
|
93
93
|
|
94
|
+
void rho_ruby_gc_lock();
|
95
|
+
void rho_ruby_gc_release();
|
96
|
+
|
94
97
|
VALUE callFramework(VALUE hashReq);
|
95
98
|
VALUE callServeIndex(char* index_name, VALUE hashReq);
|
96
99
|
|
Binary file
|
@@ -29,6 +29,7 @@
|
|
29
29
|
#include "common/IRhoClassFactory.h"
|
30
30
|
#include "net/CURLNetRequest.h"
|
31
31
|
#include "RhoThreadImpl.h"
|
32
|
+
#include "common/ISecurityTokenGenerator.h"
|
32
33
|
|
33
34
|
namespace rho {
|
34
35
|
namespace common {
|
@@ -46,6 +47,11 @@ public:
|
|
46
47
|
{
|
47
48
|
return new CRhoThreadImpl;
|
48
49
|
}
|
50
|
+
|
51
|
+
const rho::common::ISecurityTokenGenerator* createSecurityTokenGenerator()
|
52
|
+
{
|
53
|
+
return nullptr;
|
54
|
+
}
|
49
55
|
|
50
56
|
virtual net::ISSL* createSSLEngine();
|
51
57
|
virtual IRhoCrypt* createRhoCrypt();
|