module GirFFI::FFIExt::Pointer
Extensions to FFI::Pointer
Public Class Methods
Source
# File lib/gir_ffi/ffi_ext/pointer.rb, line 7 def self.prepended(base) base.class_eval do size_t_getter = case (size = FFI.type_size(:size_t)) when 4 :get_uint32 when 8 :get_uint64 else raise NotImplementedError, "Don't know how to handle size_t types of size #{size}" end alias_method :get_size_t, size_t_getter alias_method :get_gtype, :get_size_t end end
Public Instance Methods
Source
# File lib/gir_ffi/ffi_ext/pointer.rb, line 31 def to_object return nil if null? gtype = GObject.type_from_instance_pointer self Builder.build_by_gtype(gtype).direct_wrap self end
FIXME: Should probably not be here.
Source
# File lib/gir_ffi/ffi_ext/pointer.rb, line 38 def to_utf8 null? ? nil : read_string.force_encoding("utf-8") end