Sha256: 9b6c648e70edf5e5a9bae354c0ea146783046f28aa55b5504e1a426aee1400db

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

module TransmitterWrapper
  extend FFI::Library

  arch = case FFI::Platform::ARCH
         when 'x86_64'
           'X64'
         when 'x86'
           'X86'
         when 'arm'
           'ARM'
         when 'aarch64'
           'ARM64'
         else
           raise "Unsupported architecture: #{FFI::Platform::ARCH}"
         end

  if OS.linux?
    ffi_lib File.expand_path("../../../Binaries/Native/Linux/#{arch}/libJavonetRubyRuntimeNative.so", __FILE__)
  elsif OS.mac?
    ffi_lib File.expand_path("../../../Binaries/Native/MacOs/#{arch}/libJavonetRubyRuntimeNative.dylib", __FILE__)
  else
    RubyInstaller::Runtime.add_dll_directory(File.expand_path("../../../Binaries/Native/Windows/#{arch}/", __FILE__))
    ffi_lib File.expand_path("../../../Binaries/Native/Windows/#{arch}/JavonetRubyRuntimeNative.dll", __FILE__)
  end

  attach_function :SendCommand, [:pointer, :int], :int
  attach_function :ReadResponse, [:pointer, :int], :int
  attach_function :Activate, [:pointer, :pointer, :pointer, :pointer], :int
  attach_function :GetNativeError, [], :string
  attach_function :SetConfigSource, [:pointer], :int
end

Version data entries

8 entries across 4 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.5.4 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb
javonet-ruby-sdk-2.5.4 lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb
javonet-ruby-sdk-2.5.3 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb
javonet-ruby-sdk-2.5.3 lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb
javonet-ruby-sdk-2.5.2 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb
javonet-ruby-sdk-2.5.2 lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb
javonet-ruby-sdk-2.5.1 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb
javonet-ruby-sdk-2.5.1 lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb