Sha256: 1789a021851d2eba8dc2e56f2e2c6d9ddc26a929bd285abaf819ed007da05374
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
require 'gir_ffi/registered_type_base' module GirFFI # Base module for enums. module EnumBase include FFI::DataConverter include RegisteredTypeBase def native_type self::Enum.native_type end def to_native *args self::Enum.to_native(*args) end def from_native *args self::Enum.from_native(*args) end def [] arg self::Enum[arg] end def wrap arg self[arg] end def from arg self[arg] end def copy_value_to_pointer value, pointer pointer.put_int32 0, to_native(value, nil) end def get_value_from_pointer pointer from_native pointer.get_int32(0), nil end def setup_and_call method, arguments, &block result = setup_method method.to_s unless result raise "Unable to set up method #{method} in #{self}" end send method, *arguments, &block end # @deprecated Use #to_ffi_type instead. Will be removed in 0.8.0. def to_ffitype to_ffi_type end def to_ffi_type self end def setup_method name gir_ffi_builder.setup_method name end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.7.10 | lib/gir_ffi/enum_base.rb |
gir_ffi-0.7.9 | lib/gir_ffi/enum_base.rb |