class GirFFI::UserDefinedPropertyInfo::UserDefinedTypeInfo

Type info for user-defined property

Constants

G_TYPE_INTERFACE_TAG_MAP
G_TYPE_POINTER_MAP

TODO: Unify with InfoExt::ITypeInfo.flattened_tag_to_gtype_map

G_TYPE_TAG_MAP

TODO: Unify with InfoExt::ITypeInfo.flattened_tag_to_gtype_map

Public Class Methods

new(param_spec) click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 11
def initialize(param_spec)
  @param_spec = param_spec
end

Public Instance Methods

ffi_type() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 86
def ffi_type
  GirFFI::TypeMap.map_basic_type(tag)
end
hidden_struct_type?() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 74
def hidden_struct_type?
  false
end
interface_class() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 78
def interface_class
  @interface_class ||= Builder.build_by_gtype(value_type) if interface?
end
interface_class_name() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 82
def interface_class_name
  interface_class.name if interface?
end
interface_type() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 70
def interface_type
  G_TYPE_INTERFACE_TAG_MAP.fetch(fundamental_value_type) if interface?
end
pointer?() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 59
def pointer?
  G_TYPE_POINTER_MAP.fetch(fundamental_value_type)
end
tag() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 35
def tag
  @tag ||= G_TYPE_TAG_MAP.fetch(fundamental_value_type)
end

Private Instance Methods

fundamental_value_type() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 96
def fundamental_value_type
  @fundamental_value_type ||= GObject.type_fundamental value_type
end
interface?() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 100
def interface?
  tag == :interface
end
value_type() click to toggle source
# File lib/gir_ffi/user_defined_property_info.rb, line 92
def value_type
  @param_spec.value_type
end