class Hakuban::FFI::FFIObjectExposeState

Attributes

data_type_strings[RW]

Public Class Methods

construct(version, data_type, data) click to toggle source
# File lib/hakuban/ffi.rb, line 37
def self.construct(version, data_type, data)
        state = FFIObjectExposeState::new
        state[:version_length] = version.size
        state[:version] = FFI::MemoryPointer.new(:int64, version.size)
        state[:version].write_array_of_int64(version)
        state[:data_type_length] = data_type.size
        state[:data_type] = FFI::MemoryPointer.new(:pointer, data_type.size)
        state.data_type_strings = data_type.map {|string| FFI::MemoryPointer.from_string(string)}
        state[:data_type].write_array_of_pointer(state.data_type_strings)
        state[:raw] = FFI::MemoryPointer.from_string(data)
        state[:raw_length] = data.size
        state
end