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
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