Sha256: 3a190a23c8d70e6429c0578501ec9d54ad315ae3e15e241b289d752964eb6939
Contents?: true
Size: 951 Bytes
Versions: 2
Compression:
Stored size: 951 Bytes
Contents
module GObjectIntrospection # Wraps a GIConstantInfo struct; represents a constant. class IConstantInfo < IBaseInfo TYPE_TAG_TO_UNION_MEMBER = { gint8: :v_int8, gint16: :v_int16, gint32: :v_int32, gint64: :v_int64, guint8: :v_uint8, guint16: :v_uint16, guint32: :v_uint32, guint64: :v_uint64, gdouble: :v_double, utf8: :v_string } def value if type_tag == :utf8 raw_value.force_encoding("utf-8") else raw_value end end def constant_type ITypeInfo.wrap(Lib.g_constant_info_get_type @gobj) end private def type_tag @type_tag ||= constant_type.tag end def raw_value value_union = Lib::GIArgument.new Lib.g_constant_info_get_value @gobj, value_union value_union[union_member_key] end def union_member_key TYPE_TAG_TO_UNION_MEMBER[type_tag] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.7.6 | lib/ffi-gobject_introspection/i_constant_info.rb |
gir_ffi-0.7.5 | lib/ffi-gobject_introspection/i_constant_info.rb |