Sha256: 17a0c16598fc14dfcc242064277ad631fcdc6a45991f72b7c15b24f1e38e76f1
Contents?: true
Size: 1.06 KB
Versions: 3
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module GirFFI module FFIExt # Extensions to FFI::Pointer module Pointer 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 def to_ptr self end # FIXME: Should probably not be here. def to_object return nil if null? gtype = GObject.type_from_instance_pointer self Builder.build_by_gtype(gtype).direct_wrap self end def to_utf8 null? ? nil : read_string.force_encoding("utf-8") end end end end # @api private class FFI::Pointer # rubocop:disable Style/ClassAndModuleChildren prepend GirFFI::FFIExt::Pointer end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.18.0 | lib/gir_ffi/ffi_ext/pointer.rb |
gir_ffi-0.17.0 | lib/gir_ffi/ffi_ext/pointer.rb |
gir_ffi-0.16.1 | lib/gir_ffi/ffi_ext/pointer.rb |