javonet-ruby-sdk 2.5.11 → 2.5.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/Handler.js +6 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +11 -15
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +7 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/InvocationContext.js +7 -17
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeContext.js +27 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/CommandType.js +1 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/CustomError.js +8 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP.pm +29 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +95 -95
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -18
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +8 -5
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +8 -5
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +26 -26
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP.pm +29 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -18
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/InvokeGlobalFunctionHandler.py +46 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +29 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +19 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +23 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/RuntimeName.py +3 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/UtilsConst.py +42 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/MessageHelper.py +86 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__init__.py +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/handler.rb +3 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_global_function_handler.rb +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_static_method_handler.rb +4 -3
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +18 -3
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +3 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_global_function_handler.rb +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_static_method_handler.rb +4 -3
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +18 -3
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/handler.rb +3 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb +4 -3
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +18 -3
- data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
- data/lib/javonet-ruby-sdk/core/handler/handler.rb +3 -0
- data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -0
- data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +9 -5
- data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +4 -3
- data/lib/javonet-ruby-sdk/core/receiver/receiver.rb +6 -2
- data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +36 -18
- data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +23 -10
- data/lib/javonet-ruby-sdk/utils/command_type.rb +18 -3
- metadata +20 -33
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GeneratorHandler.js +0 -38
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/Handlers.js +0 -58
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/CommonGenerator.js +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/SharedHandlerType.js +0 -10
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/utils/StringUtils.js +0 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
@@ -22,6 +22,7 @@ require_relative '../../core/handler/array_set_item_handler'
|
|
22
22
|
require_relative '../../core/handler/array_handler'
|
23
23
|
require_relative '../../core/handler/enable_namespace_handler'
|
24
24
|
require_relative '../../core/handler/enable_type_handler'
|
25
|
+
require_relative '../../core/handler/invoke_global_function_handler'
|
25
26
|
require_relative '../../core/reference_cache/references_cache'
|
26
27
|
require_relative '../../utils/exceptions/exception_serializer'
|
27
28
|
|
@@ -50,6 +51,7 @@ class Handler < AbstractHandler
|
|
50
51
|
array_handler = ArrayHandler.new
|
51
52
|
enable_namespace_handler = EnableNamespaceHandler.new
|
52
53
|
enable_type_handler = EnableTypeHandler.new
|
54
|
+
invoke_global_function_handler = InvokeGlobalFunctionHandler.new
|
53
55
|
|
54
56
|
|
55
57
|
$handler_dict[CommandType::VALUE] = value_handler
|
@@ -72,6 +74,7 @@ class Handler < AbstractHandler
|
|
72
74
|
$handler_dict[CommandType::ARRAY] = array_handler
|
73
75
|
$handler_dict[CommandType::ENABLE_NAMESPACE] = enable_namespace_handler
|
74
76
|
$handler_dict[CommandType::ENABLE_TYPE] = enable_type_handler
|
77
|
+
$handler_dict[CommandType::INVOKE_GLOBAL_FUNCTION] = invoke_global_function_handler
|
75
78
|
end
|
76
79
|
|
77
80
|
|
data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require_relative 'abstract_command_handler'
|
2
|
+
|
3
|
+
class InvokeGlobalFunctionHandler < AbstractCommandHandler
|
4
|
+
def process(command)
|
5
|
+
invoke_function(command)
|
6
|
+
end
|
7
|
+
|
8
|
+
def invoke_function(command)
|
9
|
+
begin
|
10
|
+
payload = command.payload
|
11
|
+
raise ArgumentError, "InvokeGlobalFunction requires at least one parameter" if payload.empty?
|
12
|
+
|
13
|
+
# Expect the first parameter to be a string in the form "ModuleName.function_name"
|
14
|
+
full_method_string = payload[0]
|
15
|
+
unless full_method_string.is_a?(String) && full_method_string.include?(".")
|
16
|
+
raise ArgumentError, "Expected a string in the format 'ModuleName.function_name'"
|
17
|
+
end
|
18
|
+
|
19
|
+
parts = full_method_string.split(".")
|
20
|
+
if parts.size < 2
|
21
|
+
raise ArgumentError, "Invalid function identifier format. Expected 'ModuleName.function_name'"
|
22
|
+
end
|
23
|
+
|
24
|
+
function_name = parts.pop
|
25
|
+
module_name = parts.join("::") # Convert dot-separated names to Ruby's "::" notation
|
26
|
+
|
27
|
+
begin
|
28
|
+
target = Object.const_get(module_name)
|
29
|
+
rescue NameError => e
|
30
|
+
raise NameError, "Module/Class #{module_name} not found: #{e.message}"
|
31
|
+
end
|
32
|
+
|
33
|
+
args = payload[1..-1] || []
|
34
|
+
|
35
|
+
if target.respond_to?(function_name)
|
36
|
+
target.send(function_name, *args)
|
37
|
+
else
|
38
|
+
available_methods = target.methods.join(', ')
|
39
|
+
raise NoMethodError, "Method #{function_name} not found in module #{module_name}. Available methods: #{available_methods}"
|
40
|
+
end
|
41
|
+
rescue Exception => e
|
42
|
+
e
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb
CHANGED
@@ -6,7 +6,7 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def process(command)
|
9
|
-
|
9
|
+
invoke_instance_method(command)
|
10
10
|
end
|
11
11
|
|
12
12
|
def invoke_instance_method(command)
|
@@ -14,15 +14,19 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
15
15
|
raise ArgumentError.new "InvokeInstanceMethod parameters mismatch"
|
16
16
|
end
|
17
|
+
|
18
|
+
instance = command.payload[0]
|
19
|
+
method_name = command.payload[1]
|
20
|
+
|
17
21
|
if command.payload.length > 2
|
18
22
|
arguments = command.payload[2..]
|
19
|
-
return
|
23
|
+
return instance.send(method_name, *arguments)
|
20
24
|
else
|
21
|
-
return
|
25
|
+
return instance.send(method_name)
|
22
26
|
end
|
23
27
|
rescue NoMethodError
|
24
|
-
methods =
|
25
|
-
message = "Method #{
|
28
|
+
methods = instance.methods
|
29
|
+
message = "Method #{method_name} not found in object of class #{instance.class.name}. Available methods:\n"
|
26
30
|
methods.each { |method_iter| message += "#{method_iter}\n" }
|
27
31
|
raise Exception, message
|
28
32
|
rescue Exception => e
|
data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb
CHANGED
@@ -14,14 +14,15 @@ class InvokeStaticMethodHandler < AbstractCommandHandler
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
15
15
|
raise ArgumentError.new "Static method parameters mismatch"
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
|
+
type = command.payload[0]
|
18
19
|
method_name = command.payload[1]
|
19
20
|
begin
|
20
21
|
if command.payload.length > @required_parameters_count
|
21
22
|
args = command.payload[2..]
|
22
|
-
result =
|
23
|
+
result = type.send(method_name, *args)
|
23
24
|
else
|
24
|
-
result =
|
25
|
+
result = type.send(method_name)
|
25
26
|
end
|
26
27
|
return result
|
27
28
|
rescue NoMethodError
|
@@ -3,9 +3,9 @@ require_relative '../../utils/runtime_logger'
|
|
3
3
|
require_relative '../protocol/command_serializer'
|
4
4
|
|
5
5
|
class Receiver
|
6
|
-
|
6
|
+
|
7
7
|
def initialize
|
8
|
-
RuntimeLogger.print_runtime_info
|
8
|
+
puts RuntimeLogger.print_runtime_info
|
9
9
|
end
|
10
10
|
|
11
11
|
def send_command(message_array, message_array_len)
|
@@ -15,4 +15,8 @@ class Receiver
|
|
15
15
|
def heart_beat(message_array, message_array_len)
|
16
16
|
[49,48]
|
17
17
|
end
|
18
|
+
|
19
|
+
def get_runtime_info
|
20
|
+
RuntimeLogger.get_runtime_info(true)
|
21
|
+
end
|
18
22
|
end
|
@@ -15,7 +15,7 @@ class CommandType
|
|
15
15
|
GET_INSTANCE_FIELD = 13
|
16
16
|
OPTIMIZE = 14
|
17
17
|
GENERATE_LIB = 15
|
18
|
-
|
18
|
+
INVOKE_GLOBAL_FUNCTION = 16
|
19
19
|
DESTRUCT_REFERENCE = 17
|
20
20
|
ARRAY_REFERENCE = 18
|
21
21
|
ARRAY_GET_ITEM = 19
|
@@ -36,6 +36,11 @@ class CommandType
|
|
36
36
|
ENABLE_NAMESPACE = 34
|
37
37
|
ENABLE_TYPE = 35
|
38
38
|
CREATE_NULL = 36
|
39
|
+
GET_STATIC_METHOD_AS_DELEGATE = 37
|
40
|
+
GET_INSTANCE_METHOD_AS_DELEGATE = 38
|
41
|
+
PASS_DELEGATE = 39
|
42
|
+
INVOKE_DELEGATE = 40
|
43
|
+
CONVERT_TYPE = 41
|
39
44
|
|
40
45
|
def self.get_name(command_number)
|
41
46
|
case command_number
|
@@ -62,7 +67,7 @@ class CommandType
|
|
62
67
|
when 10
|
63
68
|
return 'EXCEPTION'
|
64
69
|
when 11
|
65
|
-
return '
|
70
|
+
return 'HEARTBEAT'
|
66
71
|
when 12
|
67
72
|
return 'CAST'
|
68
73
|
when 13
|
@@ -72,7 +77,7 @@ class CommandType
|
|
72
77
|
when 15
|
73
78
|
return 'GENERATE_LIB'
|
74
79
|
when 16
|
75
|
-
return '
|
80
|
+
return 'INVOKE_GLOBAL_FUNCTION'
|
76
81
|
when 17
|
77
82
|
return 'DESTRUCT_REFERENCE'
|
78
83
|
when 18
|
@@ -113,6 +118,16 @@ class CommandType
|
|
113
118
|
return 'ENABLE_TYPE'
|
114
119
|
when 36
|
115
120
|
return 'CREATE_NULL'
|
121
|
+
when 37
|
122
|
+
return 'GET_STATIC_METHOD_AS_DELEGATE'
|
123
|
+
when 38
|
124
|
+
return 'GET_INSTANCE_METHOD_AS_DELEGATE'
|
125
|
+
when 39
|
126
|
+
return 'PASS_DELEGATE'
|
127
|
+
when 40
|
128
|
+
return 'INVOKE_DELEGATE'
|
129
|
+
when 41
|
130
|
+
return 'CONVERT_TYPE'
|
116
131
|
else
|
117
132
|
raise 'Unknown command type'
|
118
133
|
end
|
@@ -1 +1 @@
|
|
1
|
-
2.5.
|
1
|
+
2.5.13
|
@@ -22,6 +22,7 @@ require_relative '../../core/handler/array_set_item_handler'
|
|
22
22
|
require_relative '../../core/handler/array_handler'
|
23
23
|
require_relative '../../core/handler/enable_namespace_handler'
|
24
24
|
require_relative '../../core/handler/enable_type_handler'
|
25
|
+
require_relative '../../core/handler/invoke_global_function_handler'
|
25
26
|
require_relative '../../core/reference_cache/references_cache'
|
26
27
|
require_relative '../../utils/exceptions/exception_serializer'
|
27
28
|
|
@@ -50,6 +51,7 @@ class Handler < AbstractHandler
|
|
50
51
|
array_handler = ArrayHandler.new
|
51
52
|
enable_namespace_handler = EnableNamespaceHandler.new
|
52
53
|
enable_type_handler = EnableTypeHandler.new
|
54
|
+
invoke_global_function_handler = InvokeGlobalFunctionHandler.new
|
53
55
|
|
54
56
|
|
55
57
|
$handler_dict[CommandType::VALUE] = value_handler
|
@@ -72,6 +74,7 @@ class Handler < AbstractHandler
|
|
72
74
|
$handler_dict[CommandType::ARRAY] = array_handler
|
73
75
|
$handler_dict[CommandType::ENABLE_NAMESPACE] = enable_namespace_handler
|
74
76
|
$handler_dict[CommandType::ENABLE_TYPE] = enable_type_handler
|
77
|
+
$handler_dict[CommandType::INVOKE_GLOBAL_FUNCTION] = invoke_global_function_handler
|
75
78
|
end
|
76
79
|
|
77
80
|
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require_relative 'abstract_command_handler'
|
2
|
+
|
3
|
+
class InvokeGlobalFunctionHandler < AbstractCommandHandler
|
4
|
+
def process(command)
|
5
|
+
invoke_function(command)
|
6
|
+
end
|
7
|
+
|
8
|
+
def invoke_function(command)
|
9
|
+
begin
|
10
|
+
payload = command.payload
|
11
|
+
raise ArgumentError, "InvokeGlobalFunction requires at least one parameter" if payload.empty?
|
12
|
+
|
13
|
+
# Expect the first parameter to be a string in the form "ModuleName.function_name"
|
14
|
+
full_method_string = payload[0]
|
15
|
+
unless full_method_string.is_a?(String) && full_method_string.include?(".")
|
16
|
+
raise ArgumentError, "Expected a string in the format 'ModuleName.function_name'"
|
17
|
+
end
|
18
|
+
|
19
|
+
parts = full_method_string.split(".")
|
20
|
+
if parts.size < 2
|
21
|
+
raise ArgumentError, "Invalid function identifier format. Expected 'ModuleName.function_name'"
|
22
|
+
end
|
23
|
+
|
24
|
+
function_name = parts.pop
|
25
|
+
module_name = parts.join("::") # Convert dot-separated names to Ruby's "::" notation
|
26
|
+
|
27
|
+
begin
|
28
|
+
target = Object.const_get(module_name)
|
29
|
+
rescue NameError => e
|
30
|
+
raise NameError, "Module/Class #{module_name} not found: #{e.message}"
|
31
|
+
end
|
32
|
+
|
33
|
+
args = payload[1..-1] || []
|
34
|
+
|
35
|
+
if target.respond_to?(function_name)
|
36
|
+
target.send(function_name, *args)
|
37
|
+
else
|
38
|
+
available_methods = target.methods.join(', ')
|
39
|
+
raise NoMethodError, "Method #{function_name} not found in module #{module_name}. Available methods: #{available_methods}"
|
40
|
+
end
|
41
|
+
rescue Exception => e
|
42
|
+
e
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -6,7 +6,7 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def process(command)
|
9
|
-
|
9
|
+
invoke_instance_method(command)
|
10
10
|
end
|
11
11
|
|
12
12
|
def invoke_instance_method(command)
|
@@ -14,15 +14,19 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
15
15
|
raise ArgumentError.new "InvokeInstanceMethod parameters mismatch"
|
16
16
|
end
|
17
|
+
|
18
|
+
instance = command.payload[0]
|
19
|
+
method_name = command.payload[1]
|
20
|
+
|
17
21
|
if command.payload.length > 2
|
18
22
|
arguments = command.payload[2..]
|
19
|
-
return
|
23
|
+
return instance.send(method_name, *arguments)
|
20
24
|
else
|
21
|
-
return
|
25
|
+
return instance.send(method_name)
|
22
26
|
end
|
23
27
|
rescue NoMethodError
|
24
|
-
methods =
|
25
|
-
message = "Method #{
|
28
|
+
methods = instance.methods
|
29
|
+
message = "Method #{method_name} not found in object of class #{instance.class.name}. Available methods:\n"
|
26
30
|
methods.each { |method_iter| message += "#{method_iter}\n" }
|
27
31
|
raise Exception, message
|
28
32
|
rescue Exception => e
|
@@ -14,14 +14,15 @@ class InvokeStaticMethodHandler < AbstractCommandHandler
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
15
15
|
raise ArgumentError.new "Static method parameters mismatch"
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
|
+
type = command.payload[0]
|
18
19
|
method_name = command.payload[1]
|
19
20
|
begin
|
20
21
|
if command.payload.length > @required_parameters_count
|
21
22
|
args = command.payload[2..]
|
22
|
-
result =
|
23
|
+
result = type.send(method_name, *args)
|
23
24
|
else
|
24
|
-
result =
|
25
|
+
result = type.send(method_name)
|
25
26
|
end
|
26
27
|
return result
|
27
28
|
rescue NoMethodError
|
@@ -3,9 +3,9 @@ require_relative '../../utils/runtime_logger'
|
|
3
3
|
require_relative '../protocol/command_serializer'
|
4
4
|
|
5
5
|
class Receiver
|
6
|
-
|
6
|
+
|
7
7
|
def initialize
|
8
|
-
RuntimeLogger.print_runtime_info
|
8
|
+
puts RuntimeLogger.print_runtime_info
|
9
9
|
end
|
10
10
|
|
11
11
|
def send_command(message_array, message_array_len)
|
@@ -15,4 +15,8 @@ class Receiver
|
|
15
15
|
def heart_beat(message_array, message_array_len)
|
16
16
|
[49,48]
|
17
17
|
end
|
18
|
+
|
19
|
+
def get_runtime_info
|
20
|
+
RuntimeLogger.get_runtime_info(true)
|
21
|
+
end
|
18
22
|
end
|
@@ -22,14 +22,14 @@ class InvocationContext < AbstractInvocationContext
|
|
22
22
|
# ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
|
23
23
|
end
|
24
24
|
|
25
|
-
# def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
|
26
|
-
# proc do
|
27
|
-
# if command.command_type == CommandType::REFERENCE && is_executed == true
|
28
|
-
# destruct_command = Command.new(@runtime_name, CommandType::DESTRUCT_REFERENCE, command.payload)
|
29
|
-
# interpreter.execute(destruct_command, connection_type, tcp_ip_address)
|
30
|
-
# end
|
31
|
-
# end
|
32
|
-
# end
|
25
|
+
# def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
|
26
|
+
# proc do
|
27
|
+
# if command.command_type == CommandType::REFERENCE && is_executed == true
|
28
|
+
# destruct_command = Command.new(@runtime_name, CommandType::DESTRUCT_REFERENCE, command.payload)
|
29
|
+
# interpreter.execute(destruct_command, connection_type, tcp_ip_address)
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
# end
|
33
33
|
|
34
34
|
def iterator
|
35
35
|
if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM, CommandType::ARRAY_SET_ITEM].include? @current_command.command_type
|
@@ -69,8 +69,8 @@ class InvocationContext < AbstractInvocationContext
|
|
69
69
|
@response_command = @interpreter.execute(@current_command, @connection_type, @tcp_ip_address)
|
70
70
|
|
71
71
|
if @response_command.command_type == CommandType::EXCEPTION
|
72
|
-
|
73
|
-
|
72
|
+
exception = ExceptionThrower.throw_exception(@response_command)
|
73
|
+
SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
|
74
74
|
raise exception
|
75
75
|
end
|
76
76
|
|
@@ -228,6 +228,14 @@ class InvocationContext < AbstractInvocationContext
|
|
228
228
|
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
|
229
229
|
end
|
230
230
|
|
231
|
+
# Retrieves the value of a reference from the target runtime.
|
232
|
+
# @return [InvocationContext] A new InvocationContext instance that wraps the command to get the ref value.
|
233
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/methods-arguments/passing-arguments-by-reference-with-ref-keyword article on Javonet Guides}
|
234
|
+
def get_ref_value
|
235
|
+
local_command = Command.new(@runtime_name, CommandType::GET_REF_VALUE, [])
|
236
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
|
237
|
+
end
|
238
|
+
|
231
239
|
# Creates a null object of a specific type in the target runtime.
|
232
240
|
# @return [InvocationContext] An InvocationContext instance with the command to create a null object.
|
233
241
|
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/null-handling/create-null-object article on Javonet Guides}
|
@@ -236,11 +244,23 @@ class InvocationContext < AbstractInvocationContext
|
|
236
244
|
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
|
237
245
|
end
|
238
246
|
|
239
|
-
# Retrieves
|
240
|
-
# @
|
241
|
-
# @
|
242
|
-
|
243
|
-
|
247
|
+
# Retrieves a static method as a delegate from the target runtime.
|
248
|
+
# @param method_name [String] The name of the static method to retrieve as a delegate.
|
249
|
+
# @param args [Array] The arguments to pass to the static method.
|
250
|
+
# @return [InvocationContext] An InvocationContext instance with the command to get the static method as a delegate.
|
251
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
|
252
|
+
def get_static_method_as_delegate(method_name, *args)
|
253
|
+
local_command = Command.new(@runtime_name, CommandType::GET_STATIC_METHOD_AS_DELEGATE, [method_name, *args])
|
254
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
|
255
|
+
end
|
256
|
+
|
257
|
+
# Retrieves an instance method as a delegate from the target runtime.
|
258
|
+
# @param method_name [String] The name of the instance method to retrieve as a delegate.
|
259
|
+
# @param args [Array] The arguments to pass to the instance method.
|
260
|
+
# @return [InvocationContext] An InvocationContext instance with the command to get the instance method as a delegate.
|
261
|
+
# # @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
|
262
|
+
def get_instance_method_as_delegate(method_name, *args)
|
263
|
+
local_command = Command.new(@runtime_name, CommandType::GET_INSTANCE_METHOD_AS_DELEGATE, [method_name, *args])
|
244
264
|
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
|
245
265
|
end
|
246
266
|
|
@@ -283,10 +303,8 @@ class InvocationContext < AbstractInvocationContext
|
|
283
303
|
payload_item[i] = encapsulate_payload_item(payload_item[i])
|
284
304
|
}
|
285
305
|
return Command.new(@runtime_name, CommandType::ARRAY, [*payload_item])
|
286
|
-
|
287
306
|
else
|
288
|
-
return Command.new(@runtime_name, CommandType::VALUE, [*payload_item])
|
289
|
-
|
307
|
+
return Command.new(@runtime_name, CommandType::VALUE, payload_item.nil? ? [nil] : [*payload_item])
|
290
308
|
end
|
291
309
|
end
|
292
310
|
|
@@ -68,8 +68,8 @@ class RuntimeContext < AbstractRuntimeContext
|
|
68
68
|
@current_command = nil
|
69
69
|
|
70
70
|
if @response_command.command_type == CommandType::EXCEPTION
|
71
|
-
|
72
|
-
|
71
|
+
exception = ExceptionThrower.throw_exception(@response_command)
|
72
|
+
SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
|
73
73
|
raise exception
|
74
74
|
end
|
75
75
|
end
|
@@ -85,7 +85,7 @@ class RuntimeContext < AbstractRuntimeContext
|
|
85
85
|
local_command = Command.new(@runtime_name, CommandType::LOAD_LIBRARY, [*args])
|
86
86
|
@current_command = build_command(local_command)
|
87
87
|
self.execute()
|
88
|
-
|
88
|
+
self
|
89
89
|
end
|
90
90
|
|
91
91
|
# Retrieves a reference to a specific type. The type can be a class, interface or enum. The type can be retrieved from any referenced library.
|
@@ -94,7 +94,7 @@ class RuntimeContext < AbstractRuntimeContext
|
|
94
94
|
def get_type(*args)
|
95
95
|
local_command = Command.new(@runtime_name, CommandType::GET_TYPE, [*args])
|
96
96
|
@current_command = nil
|
97
|
-
|
97
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
98
98
|
end
|
99
99
|
|
100
100
|
# Casts the provided value to a specific type. This method is used when invoking methods that require specific types of arguments.
|
@@ -106,7 +106,7 @@ class RuntimeContext < AbstractRuntimeContext
|
|
106
106
|
def cast(*args)
|
107
107
|
local_command = Command.new(@runtime_name, CommandType::CAST, [*args])
|
108
108
|
@current_command = nil
|
109
|
-
|
109
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
110
110
|
end
|
111
111
|
|
112
112
|
# Retrieves a specific item from an enum type. This method is used when working with enums from the called runtime.
|
@@ -119,7 +119,7 @@ class RuntimeContext < AbstractRuntimeContext
|
|
119
119
|
def get_enum_item(*args)
|
120
120
|
local_command = Command.new(@runtime_name, CommandType::GET_ENUM_ITEM, [*args])
|
121
121
|
@current_command = nil
|
122
|
-
|
122
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
123
123
|
end
|
124
124
|
|
125
125
|
# Creates a reference type argument that can be passed to a method with a ref parameter modifier.
|
@@ -133,7 +133,7 @@ class RuntimeContext < AbstractRuntimeContext
|
|
133
133
|
def as_ref(*args)
|
134
134
|
local_command = Command.new(@runtime_name, CommandType::AS_REF, [*args])
|
135
135
|
@current_command = nil
|
136
|
-
|
136
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
137
137
|
end
|
138
138
|
|
139
139
|
# Creates a reference type argument that can be passed to a method with an out parameter modifier.
|
@@ -147,14 +147,27 @@ class RuntimeContext < AbstractRuntimeContext
|
|
147
147
|
def as_out(*args)
|
148
148
|
local_command = Command.new(@runtime_name, CommandType::AS_OUT, [*args])
|
149
149
|
@current_command = nil
|
150
|
-
|
150
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
151
|
+
end
|
152
|
+
|
153
|
+
# Invokes a function from the called runtime. This method is used when working with functions from the called runtime.
|
154
|
+
# The arguments include the function name and the arguments to be passed to the function.
|
155
|
+
# After invoking the function, the result can be used for further operations.
|
156
|
+
# @param function_name [String] The name of the function to invoke.
|
157
|
+
# @param args [Array] The arguments to be passed to the function.
|
158
|
+
# @return [InvocationContext] The InvocationContext instance that wraps the command to invoke the function.
|
159
|
+
# @see Refer to this {https://www.javonet.com/guides/v2/ruby/functions/invoking-functions article on Javonet Guides}
|
160
|
+
def invoke_global_function(function_name, *args)
|
161
|
+
local_command = Command.new(@runtime_name, CommandType::INVOKE_GLOBAL_FUNCTION, [function_name, *args])
|
162
|
+
@current_command = nil
|
163
|
+
InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
|
151
164
|
end
|
152
165
|
|
153
166
|
def build_command(command)
|
154
167
|
command.payload.each_index { |i|
|
155
168
|
command.payload[i] = encapsulate_payload_item(command.payload[i])
|
156
169
|
}
|
157
|
-
|
170
|
+
command.prepend_arg_to_payload(@current_command)
|
158
171
|
end
|
159
172
|
|
160
173
|
def encapsulate_payload_item(payload_item)
|
@@ -174,7 +187,7 @@ class RuntimeContext < AbstractRuntimeContext
|
|
174
187
|
return Command.new(@runtime_name, CommandType::ARRAY, [*payload_item])
|
175
188
|
|
176
189
|
else
|
177
|
-
return Command.new(@runtime_name, CommandType::VALUE, [*payload_item])
|
190
|
+
return Command.new(@runtime_name, CommandType::VALUE, payload_item.nil? ? [nil] : [*payload_item])
|
178
191
|
end
|
179
192
|
end
|
180
193
|
|
@@ -15,7 +15,7 @@ class CommandType
|
|
15
15
|
GET_INSTANCE_FIELD = 13
|
16
16
|
OPTIMIZE = 14
|
17
17
|
GENERATE_LIB = 15
|
18
|
-
|
18
|
+
INVOKE_GLOBAL_FUNCTION = 16
|
19
19
|
DESTRUCT_REFERENCE = 17
|
20
20
|
ARRAY_REFERENCE = 18
|
21
21
|
ARRAY_GET_ITEM = 19
|
@@ -36,6 +36,11 @@ class CommandType
|
|
36
36
|
ENABLE_NAMESPACE = 34
|
37
37
|
ENABLE_TYPE = 35
|
38
38
|
CREATE_NULL = 36
|
39
|
+
GET_STATIC_METHOD_AS_DELEGATE = 37
|
40
|
+
GET_INSTANCE_METHOD_AS_DELEGATE = 38
|
41
|
+
PASS_DELEGATE = 39
|
42
|
+
INVOKE_DELEGATE = 40
|
43
|
+
CONVERT_TYPE = 41
|
39
44
|
|
40
45
|
def self.get_name(command_number)
|
41
46
|
case command_number
|
@@ -62,7 +67,7 @@ class CommandType
|
|
62
67
|
when 10
|
63
68
|
return 'EXCEPTION'
|
64
69
|
when 11
|
65
|
-
return '
|
70
|
+
return 'HEARTBEAT'
|
66
71
|
when 12
|
67
72
|
return 'CAST'
|
68
73
|
when 13
|
@@ -72,7 +77,7 @@ class CommandType
|
|
72
77
|
when 15
|
73
78
|
return 'GENERATE_LIB'
|
74
79
|
when 16
|
75
|
-
return '
|
80
|
+
return 'INVOKE_GLOBAL_FUNCTION'
|
76
81
|
when 17
|
77
82
|
return 'DESTRUCT_REFERENCE'
|
78
83
|
when 18
|
@@ -113,6 +118,16 @@ class CommandType
|
|
113
118
|
return 'ENABLE_TYPE'
|
114
119
|
when 36
|
115
120
|
return 'CREATE_NULL'
|
121
|
+
when 37
|
122
|
+
return 'GET_STATIC_METHOD_AS_DELEGATE'
|
123
|
+
when 38
|
124
|
+
return 'GET_INSTANCE_METHOD_AS_DELEGATE'
|
125
|
+
when 39
|
126
|
+
return 'PASS_DELEGATE'
|
127
|
+
when 40
|
128
|
+
return 'INVOKE_DELEGATE'
|
129
|
+
when 41
|
130
|
+
return 'CONVERT_TYPE'
|
116
131
|
else
|
117
132
|
raise 'Unknown command type'
|
118
133
|
end
|