javonet-nodejs-sdk 2.5.10 → 2.5.12
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.
- package/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
- package/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- package/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- package/Binaries/Native/Linux/ARM64/version.txt +1 -1
- package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
- package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/X64/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/version.txt +1 -1
- package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- package/Binaries/Native/MacOs/X64/version.txt +1 -1
- package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- package/Binaries/Native/Windows/ARM64/version.txt +0 -0
- package/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X64/Utils.dll +0 -0
- package/Binaries/Native/Windows/X64/version.txt +1 -1
- package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X86/Utils.dll +0 -0
- package/Binaries/Native/Windows/X86/version.txt +1 -1
- package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- package/Binaries/Nodejs/lib/core/handler/Handler.js +6 -9
- package/Binaries/Nodejs/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +11 -15
- package/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +7 -0
- package/Binaries/Nodejs/lib/core/transmitter/Transmitter.js +4 -4
- package/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +27 -14
- package/Binaries/Nodejs/lib/sdk/ConfigRuntimeFactory.js +1 -1
- package/Binaries/Nodejs/lib/sdk/InvocationContext.js +7 -17
- package/Binaries/Nodejs/lib/sdk/Javonet.js +17 -1
- package/Binaries/Nodejs/lib/sdk/RuntimeContext.js +27 -0
- package/Binaries/Nodejs/lib/utils/CommandType.js +1 -2
- package/Binaries/Nodejs/lib/utils/CustomError.js +8 -0
- package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load +11 -0
- package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load-dump +11 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +76 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +23 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +13 -9
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema.pm +10 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP.pm +39 -5
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.50/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.10/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.281/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.146/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{YAML-PP-v0.38.0 → YAML-PP-v0.39.0}/MYMETA.json +39 -35
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.39.0/install.json +1 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/YAML/PP/.packlist +2 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +91 -91
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +6 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +15 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +22 -4
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load +11 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump +11 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +11 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +11 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.281/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Safe-Isa-1.000010/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/{YAML-PP-v0.38.0 → YAML-PP-v0.39.0}/MYMETA.json +39 -35
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.39.0/install.json +1 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/YAML/PP/.packlist +1 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +24 -24
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +76 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +23 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +13 -9
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema.pm +10 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP.pm +39 -5
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +6 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +15 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +22 -4
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Python/javonet/core/handler/Handler.py +2 -0
- package/Binaries/Python/javonet/core/handler/InvokeGlobalFunctionHandler.py +46 -0
- package/Binaries/Python/javonet/core/transmitter/Transmitter.py +5 -1
- package/Binaries/Python/javonet/core/transmitter/TransmitterWrapper.py +20 -1
- package/Binaries/Python/javonet/utils/CommandType.py +2 -1
- package/Binaries/Ruby/Linux/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +10 -0
- package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -0
- package/Binaries/Ruby/Linux/X64/utils/command_type.rb +18 -3
- package/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +10 -0
- package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -0
- package/Binaries/Ruby/MacOs/X64/utils/command_type.rb +18 -3
- package/Binaries/Ruby/Windows/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +10 -0
- package/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -0
- package/Binaries/Ruby/Windows/X64/utils/command_type.rb +18 -3
- package/Binaries/version.txt +1 -1
- package/addon/JavonetNodejsRuntimeAddon.cpp +114 -16
- package/addon/JavonetNodejsRuntimeAddon.h +12 -2
- package/dist/Javonet.d.ts +119 -688
- package/dist/lib/core/handler/Handler.js +6 -9
- package/dist/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/dist/lib/core/interpreter/Interpreter.js +11 -15
- package/dist/lib/core/protocol/TypeSerializer.js +7 -0
- package/dist/lib/core/transmitter/Transmitter.js +4 -4
- package/dist/lib/core/transmitter/TransmitterWrapper.js +27 -14
- package/dist/lib/sdk/ConfigRuntimeFactory.js +1 -1
- package/dist/lib/sdk/InvocationContext.js +7 -17
- package/dist/lib/sdk/Javonet.js +17 -1
- package/dist/lib/sdk/RuntimeContext.js +27 -0
- package/dist/lib/utils/CommandType.js +1 -2
- package/dist/lib/utils/CustomError.js +8 -0
- package/lib/core/handler/Handler.js +6 -9
- package/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/lib/core/transmitter/Transmitter.js +4 -4
- package/lib/core/transmitter/TransmitterWrapper.js +27 -14
- package/lib/sdk/ConfigRuntimeFactory.js +1 -1
- package/lib/sdk/Javonet.js +17 -1
- package/package.json +1 -1
- package/Binaries/Nodejs/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/Binaries/Nodejs/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/Binaries/Nodejs/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/Binaries/Nodejs/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/Binaries/Nodejs/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/Binaries/Nodejs/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/handler/Handlers.js +0 -58
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/Binaries/Nodejs/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/Binaries/Nodejs/lib/core/generator/utils/StringUtils.js +0 -7
- package/Binaries/Nodejs/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/Binaries/Nodejs/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.38.0/install.json +0 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.38.0/install.json +0 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
- package/dist/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/dist/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/dist/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/dist/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/dist/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/dist/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/dist/lib/core/generator/handler/Handlers.js +0 -58
- package/dist/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/dist/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/dist/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/dist/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/dist/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/dist/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/dist/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/dist/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/dist/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/dist/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/dist/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/dist/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/dist/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/dist/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/dist/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/dist/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/dist/lib/core/generator/utils/StringUtils.js +0 -7
- package/dist/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/dist/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/lib/core/generator/handler/Handlers.js +0 -58
- package/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/lib/core/generator/utils/StringUtils.js +0 -7
- package/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/lib/sdk/RuntimeContext.js +0 -36
|
@@ -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
|
|
@@ -45,4 +45,14 @@ class Transmitter
|
|
|
45
45
|
return set_config_result
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
|
+
|
|
49
|
+
def self.set_javonet_working_directory(config_path)
|
|
50
|
+
set_working_directory_result = TransmitterWrapper.SetWorkingDirectory(config_path)
|
|
51
|
+
if set_working_directory_result < 0
|
|
52
|
+
error_message = get_native_error
|
|
53
|
+
raise Exception.new "Javonet set working directory result: " + set_working_directory_result.to_s + ". Native error message: " + error_message
|
|
54
|
+
else
|
|
55
|
+
return set_working_directory_result
|
|
56
|
+
end
|
|
57
|
+
end
|
|
48
58
|
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
|
package/Binaries/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.5.
|
|
1
|
+
2.5.12
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
#include "JavonetNodejsRuntimeAddon.h"
|
|
2
2
|
|
|
3
3
|
void InitializeTransmitter(const FunctionCallbackInfo<Value>& args) {
|
|
4
|
-
|
|
4
|
+
isolate = args.GetIsolate();
|
|
5
|
+
permanentContext.Reset(isolate, isolate->GetCurrentContext());
|
|
6
|
+
|
|
5
7
|
if (args.Length() != 1 || !args[0]->IsString()) {
|
|
6
8
|
isolate->ThrowException(Exception::TypeError(
|
|
7
|
-
String::NewFromUtf8(isolate, "Wrong number of arguments or wrong argument types.",
|
|
9
|
+
String::NewFromUtf8(isolate, "JavonetAddon InitializeTransmitter: Wrong number of arguments or wrong argument types.",
|
|
8
10
|
NewStringType::kNormal).ToLocalChecked()));
|
|
9
11
|
return;
|
|
10
12
|
}
|
|
@@ -24,8 +26,8 @@ arch = "X86";
|
|
|
24
26
|
nativeLibFullPath = nodeJsAddonPath + "\\Binaries\\Native\\Windows\\" + arch + "\\JavonetNodejsRuntimeNative.dll";
|
|
25
27
|
JavonetNodejsRuntimeNativeLibInstance = LoadLibraryA(nativeLibFullPath.c_str());
|
|
26
28
|
if (!JavonetNodejsRuntimeNativeLibInstance) {
|
|
27
|
-
char errorMessage[
|
|
28
|
-
sprintf_s(errorMessage, "%s %s", "Native library not found in: ", nativeLibFullPath.c_str());
|
|
29
|
+
char errorMessage[1024];
|
|
30
|
+
sprintf_s(errorMessage, "%s %s", "JavonetAddon InitializeTransmitter: Native library not found in: ", nativeLibFullPath.c_str());
|
|
29
31
|
isolate->ThrowException(Exception::Error(
|
|
30
32
|
String::NewFromUtf8(isolate, errorMessage,
|
|
31
33
|
NewStringType::kNormal).ToLocalChecked()));
|
|
@@ -57,7 +59,7 @@ arch = "X86";
|
|
|
57
59
|
if (JavonetNodejsRuntimeNativeLibInstance == NULL || error != NULL) {
|
|
58
60
|
char errorMessage[300];
|
|
59
61
|
|
|
60
|
-
sprintf(errorMessage, "%s %s \n%s %s", "Native library not found in: ", nativeLibFullPath.c_str(), "Error: ", error);
|
|
62
|
+
sprintf(errorMessage, "%s %s \n%s %s", "JavonetAddon InitializeTransmitter: Native library not found in: ", nativeLibFullPath.c_str(), "Error: ", error);
|
|
61
63
|
isolate->ThrowException(Exception::Error(
|
|
62
64
|
String::NewFromUtf8(isolate, errorMessage,
|
|
63
65
|
NewStringType::kNormal).ToLocalChecked()));
|
|
@@ -70,18 +72,24 @@ arch = "X86";
|
|
|
70
72
|
ActivateNative_Fn = (ActivateNative)getProccessAddress(JavonetNodejsRuntimeNativeLibInstance, "Activate");
|
|
71
73
|
GetNativeErrorNative_Fn = (GetNativeErrorNative)getProccessAddress(JavonetNodejsRuntimeNativeLibInstance, "GetNativeError");
|
|
72
74
|
SetConfigSourceNative_Fn = (SetConfigSourceNative)getProccessAddress(JavonetNodejsRuntimeNativeLibInstance, "SetConfigSource");
|
|
75
|
+
SetWorkingDirectoryNative_Fn = (SetWorkingDirectoryNative)getProccessAddress(JavonetNodejsRuntimeNativeLibInstance, "SetWorkingDirectory");
|
|
76
|
+
SetCallbackNative_Fn = (SetCallbackNative)getProccessAddress(JavonetNodejsRuntimeNativeLibInstance, "SetCallback");
|
|
77
|
+
|
|
73
78
|
|
|
74
79
|
if (SendCommandNative_Fn == nullptr ||
|
|
75
80
|
ReadResponseNative_Fn == nullptr ||
|
|
76
81
|
ActivateNative_Fn == nullptr ||
|
|
77
82
|
GetNativeErrorNative_Fn == nullptr||
|
|
78
|
-
SetConfigSourceNative_Fn == nullptr
|
|
83
|
+
SetConfigSourceNative_Fn == nullptr ||
|
|
84
|
+
SetWorkingDirectoryNative_Fn == nullptr ||
|
|
85
|
+
SetCallbackNative_Fn == nullptr
|
|
79
86
|
)
|
|
80
87
|
{
|
|
81
88
|
isolate->ThrowException(Exception::Error(
|
|
82
|
-
String::NewFromUtf8(isolate, "Exported functions not found in native library",
|
|
89
|
+
String::NewFromUtf8(isolate, "JavonetAddon InitializeTransmitter: Exported functions not found in native library",
|
|
83
90
|
NewStringType::kNormal).ToLocalChecked()));
|
|
84
91
|
}
|
|
92
|
+
|
|
85
93
|
bool result = false;
|
|
86
94
|
args.GetReturnValue().Set(result);
|
|
87
95
|
return;
|
|
@@ -89,8 +97,7 @@ arch = "X86";
|
|
|
89
97
|
|
|
90
98
|
void SendCommand(const FunctionCallbackInfo<Value>& args)
|
|
91
99
|
{
|
|
92
|
-
|
|
93
|
-
context = isolate->GetCurrentContext();
|
|
100
|
+
v8::Local<v8::Context> context = v8::Local<v8::Context>::New(isolate, permanentContext);
|
|
94
101
|
messageArray = args[0].As<Uint8Array>();
|
|
95
102
|
messageArrayLen = messageArray->Length();
|
|
96
103
|
messageByteArray = new byte[messageArrayLen];
|
|
@@ -122,9 +129,9 @@ void SendCommand(const FunctionCallbackInfo<Value>& args)
|
|
|
122
129
|
args.GetReturnValue().Set(responseArray);
|
|
123
130
|
}
|
|
124
131
|
else if (responseArrayLen == 0) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
132
|
+
isolate->ThrowException(Exception::Error(
|
|
133
|
+
String::NewFromUtf8(isolate, "JavonetAddon SendCommand: Response is empty",
|
|
134
|
+
NewStringType::kNormal).ToLocalChecked()));
|
|
128
135
|
args.GetReturnValue().Set(Number::New(isolate, responseArrayLen));
|
|
129
136
|
return;
|
|
130
137
|
}
|
|
@@ -142,13 +149,12 @@ void SendCommand(const FunctionCallbackInfo<Value>& args)
|
|
|
142
149
|
|
|
143
150
|
void Activate(const FunctionCallbackInfo<Value>& args)
|
|
144
151
|
{
|
|
145
|
-
isolate = args.GetIsolate();
|
|
146
152
|
if (
|
|
147
153
|
args.Length() != 1 ||
|
|
148
154
|
!args[0]->IsString()
|
|
149
155
|
) {
|
|
150
156
|
isolate->ThrowException(Exception::TypeError(
|
|
151
|
-
String::NewFromUtf8(isolate, "Wrong number of arguments or wrong argument types.",
|
|
157
|
+
String::NewFromUtf8(isolate, "JavonetAddon Activate: Wrong number of arguments or wrong argument types.",
|
|
152
158
|
NewStringType::kNormal).ToLocalChecked()));
|
|
153
159
|
return;
|
|
154
160
|
}
|
|
@@ -170,10 +176,9 @@ void Activate(const FunctionCallbackInfo<Value>& args)
|
|
|
170
176
|
|
|
171
177
|
void SetConfigSource(const FunctionCallbackInfo<Value>& args)
|
|
172
178
|
{
|
|
173
|
-
isolate = args.GetIsolate();
|
|
174
179
|
if (args.Length() != 1 || !args[0]->IsString()) {
|
|
175
180
|
isolate->ThrowException(Exception::TypeError(
|
|
176
|
-
String::NewFromUtf8(isolate, "Wrong number of arguments or wrong argument types.",
|
|
181
|
+
String::NewFromUtf8(isolate, "JavonetAddon SetConfigSource: Wrong number of arguments or wrong argument types.",
|
|
177
182
|
NewStringType::kNormal).ToLocalChecked()));
|
|
178
183
|
return;
|
|
179
184
|
}
|
|
@@ -191,11 +196,104 @@ void SetConfigSource(const FunctionCallbackInfo<Value>& args)
|
|
|
191
196
|
return;
|
|
192
197
|
}
|
|
193
198
|
|
|
199
|
+
void SetJavonetWorkingDirectory(const FunctionCallbackInfo<Value>& args)
|
|
200
|
+
{
|
|
201
|
+
if (args.Length() != 1 || !args[0]->IsString()) {
|
|
202
|
+
isolate->ThrowException(Exception::TypeError(
|
|
203
|
+
String::NewFromUtf8(isolate, "JavonetAddon SetJavonetWorkingDirectory: Wrong number of arguments or wrong argument types.",
|
|
204
|
+
NewStringType::kNormal).ToLocalChecked()));
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
v8::String::Utf8Value str(isolate, args[0]);
|
|
208
|
+
std::string workingDirectory(*str);
|
|
209
|
+
int result = SetWorkingDirectoryNative_Fn(workingDirectory.c_str());
|
|
210
|
+
args.GetReturnValue().Set(result);
|
|
211
|
+
if (result < 0) {
|
|
212
|
+
const char* errorMessage = GetNativeErrorNative_Fn();
|
|
213
|
+
std::string errorMessage2 = std::string("Javonet set working directory result: ") + std::to_string(result) + ". Native error message: " + std::string(errorMessage);
|
|
214
|
+
isolate->ThrowException(Exception::Error(
|
|
215
|
+
String::NewFromUtf8(isolate, errorMessage2.c_str(),
|
|
216
|
+
NewStringType::kNormal).ToLocalChecked()));
|
|
217
|
+
}
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
std::vector<byte> nodejsRuntimeCallback(byte* messageByteArray, int32_t messageByteArrayLen) {
|
|
222
|
+
std::vector<byte> responseVector;
|
|
223
|
+
v8::Local<v8::Context> context = v8::Local<v8::Context>::New(isolate, permanentContext);
|
|
224
|
+
|
|
225
|
+
// Get the `sendCommand` method
|
|
226
|
+
v8::Local<v8::Object> receiverNativeLocal = v8::Local<v8::Object>::New(isolate, receiverNative);
|
|
227
|
+
|
|
228
|
+
v8::Local<v8::Value> sendCommandVal = receiverNativeLocal->Get(
|
|
229
|
+
isolate->GetCurrentContext(),
|
|
230
|
+
v8::String::NewFromUtf8(isolate, "sendCommand", v8::NewStringType::kNormal).ToLocalChecked()
|
|
231
|
+
).ToLocalChecked();
|
|
232
|
+
|
|
233
|
+
if (!sendCommandVal->IsFunction()) {
|
|
234
|
+
isolate->ThrowException(Exception::TypeError(
|
|
235
|
+
String::NewFromUtf8(isolate, "JavonetAddon nodejsRuntimeCallback: Cannot find sendCommand in NativeReceiver",
|
|
236
|
+
NewStringType::kNormal).ToLocalChecked()));
|
|
237
|
+
return responseVector;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
v8::Local<v8::Function> sendCommandFunc = sendCommandVal.As<v8::Function>();
|
|
241
|
+
|
|
242
|
+
// Convert messageByteArray to Uint8Array
|
|
243
|
+
v8::Local<v8::ArrayBuffer> arrayBuffer = v8::ArrayBuffer::New(isolate, messageByteArrayLen);
|
|
244
|
+
memcpy(arrayBuffer->GetBackingStore()->Data(), messageByteArray, messageByteArrayLen);
|
|
245
|
+
v8::Local<v8::Uint8Array> uint8Array = v8::Uint8Array::New(arrayBuffer, 0, messageByteArrayLen);
|
|
246
|
+
|
|
247
|
+
// Call `sendCommand` with uint8Array
|
|
248
|
+
v8::Local<v8::Value> args[1] = { uint8Array };
|
|
249
|
+
v8::Local<v8::Value> result;
|
|
250
|
+
|
|
251
|
+
if (!sendCommandFunc->Call(context, receiverNativeLocal, 1, args).ToLocal(&result)) {
|
|
252
|
+
isolate->ThrowException(Exception::TypeError(
|
|
253
|
+
String::NewFromUtf8(isolate, "JavonetAddon nodejsRuntimeCallback: Error during calling callback",
|
|
254
|
+
NewStringType::kNormal).ToLocalChecked()));
|
|
255
|
+
return responseVector;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// Convert the result (assumed to be Int8Array) back to std::vector<byte>
|
|
259
|
+
if (result->IsInt8Array()) {
|
|
260
|
+
v8::Local<v8::Int8Array> resultArray = result.As<v8::Int8Array>();
|
|
261
|
+
size_t length = resultArray->Length();
|
|
262
|
+
responseVector.resize(length);
|
|
263
|
+
resultArray->CopyContents(responseVector.data(), length);
|
|
264
|
+
} else {
|
|
265
|
+
isolate->ThrowException(Exception::TypeError(
|
|
266
|
+
String::NewFromUtf8(isolate, "JavonetAddon nodejsRuntimeCallback: Wrong return type",
|
|
267
|
+
NewStringType::kNormal).ToLocalChecked()));
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
return responseVector;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
void SetReceiverNative(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
|
274
|
+
v8::Local<v8::Context> context = v8::Local<v8::Context>::New(isolate, permanentContext);
|
|
275
|
+
|
|
276
|
+
if (args.Length() != 1 || !args[0]->IsObject()) {
|
|
277
|
+
isolate->ThrowException(v8::Exception::TypeError(
|
|
278
|
+
v8::String::NewFromUtf8(isolate, "JavonetAddon SetReceiverNative: Wrong number of arguments or wrong argument types", v8::NewStringType::kNormal).ToLocalChecked()
|
|
279
|
+
));
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// store the receiver object
|
|
284
|
+
receiverNative.Reset(isolate, args[0].As<v8::Object>());
|
|
285
|
+
|
|
286
|
+
// set the callback in native
|
|
287
|
+
SetCallbackNative_Fn(nodejsRuntimeCallback);
|
|
288
|
+
}
|
|
289
|
+
|
|
194
290
|
void Initialize(Local<Object> exports) {
|
|
195
291
|
NODE_SET_METHOD(exports, "initializeTransmitter", InitializeTransmitter);
|
|
196
292
|
NODE_SET_METHOD(exports, "sendCommand", SendCommand);
|
|
197
293
|
NODE_SET_METHOD(exports, "activate", Activate);
|
|
198
294
|
NODE_SET_METHOD(exports, "setConfigSource", SetConfigSource);
|
|
295
|
+
NODE_SET_METHOD(exports, "setReceiverNative", SetReceiverNative);
|
|
296
|
+
NODE_SET_METHOD(exports, "setJavonetWorkingDirectory", SetJavonetWorkingDirectory);
|
|
199
297
|
}
|
|
200
298
|
|
|
201
299
|
NODE_MODULE(NODE_GYP_MODULE_NAME, Initialize)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#include "node.h"
|
|
2
2
|
#include "v8.h"
|
|
3
3
|
#include <iostream>
|
|
4
|
+
#include <vector>
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
using v8::FunctionCallbackInfo;
|
|
@@ -16,6 +17,7 @@ using v8::Exception;
|
|
|
16
17
|
using v8::Number;
|
|
17
18
|
using v8::Uint32;
|
|
18
19
|
using v8::Uint8Array;
|
|
20
|
+
using v8::Persistent;
|
|
19
21
|
|
|
20
22
|
#ifdef _WIN32
|
|
21
23
|
#include "windows.h"
|
|
@@ -37,7 +39,8 @@ void* JavonetNodejsRuntimeNativeLibInstance{ nullptr };
|
|
|
37
39
|
std::string nativeLibFullPath{ "" };
|
|
38
40
|
|
|
39
41
|
Isolate* isolate = nullptr;
|
|
40
|
-
|
|
42
|
+
Persistent<v8::Context> permanentContext; // permanent context
|
|
43
|
+
v8::Persistent<v8::Object> receiverNative; // permanent receiver object
|
|
41
44
|
|
|
42
45
|
Local<Uint8Array> messageArray;
|
|
43
46
|
Local<Array> responseArray;
|
|
@@ -46,15 +49,22 @@ byte* messageByteArray{ nullptr };
|
|
|
46
49
|
byte* responseByteArray{ nullptr };
|
|
47
50
|
int messageArrayLen{ 0 };
|
|
48
51
|
int responseArrayLen{ 0 };
|
|
52
|
+
typedef std::vector<byte>(*nodejsCallback)(byte* messageByteArray, int32_t messageByteArrayLen); // type of the callback function
|
|
49
53
|
|
|
50
54
|
typedef int(*SendCommandNative)(byte*, int);
|
|
51
55
|
typedef int(*ReadResponseNative)(byte*, int);
|
|
52
56
|
typedef int(*ActivateNative)(const char*);
|
|
53
57
|
typedef const char*(*GetNativeErrorNative)();
|
|
54
58
|
typedef int(*SetConfigSourceNative)(const char*);
|
|
59
|
+
typedef int(*SetWorkingDirectoryNative)(const char*);
|
|
60
|
+
typedef bool(*SetCallbackNative)(nodejsCallback); // type of the function to pass callback to the native library
|
|
55
61
|
|
|
56
62
|
SendCommandNative SendCommandNative_Fn{ nullptr };
|
|
57
63
|
ReadResponseNative ReadResponseNative_Fn{ nullptr };
|
|
58
64
|
ActivateNative ActivateNative_Fn{ nullptr };
|
|
59
65
|
GetNativeErrorNative GetNativeErrorNative_Fn{ nullptr };
|
|
60
|
-
SetConfigSourceNative SetConfigSourceNative_Fn{ nullptr };
|
|
66
|
+
SetConfigSourceNative SetConfigSourceNative_Fn{ nullptr };
|
|
67
|
+
SetWorkingDirectoryNative SetWorkingDirectoryNative_Fn{ nullptr };
|
|
68
|
+
SetCallbackNative SetCallbackNative_Fn{ nullptr }; // function to pass callback to the native library
|
|
69
|
+
|
|
70
|
+
std::vector<byte> nodejsRuntimeCallback(byte* messageByteArray, int32_t messageByteArrayLen); // callback function to be passed to the native library
|