Class: GirFFI::Builders::UserDefinedBuilder::UserDefinedPropertyFieldInfo::FieldTypeInfo

Inherits:
Object
  • Object
show all
Includes:
InfoExt::ITypeInfo
Defined in:
lib/gir_ffi/builders/user_defined_builder.rb

Overview

Field info for user-defined property

Constant Summary

Constants included from InfoExt::ITypeInfo

InfoExt::ITypeInfo::GOBJECT_VALUE_NAME, InfoExt::ITypeInfo::TAGS_NEEDING_C_TO_RUBY_CONVERSION, InfoExt::ITypeInfo::TAGS_NEEDING_RUBY_TO_C_CONVERSION, InfoExt::ITypeInfo::TAG_TO_WRAPPER_CLASS_MAP

Instance Method Summary collapse

Methods included from InfoExt::ITypeInfo

#argument_class_name, #element_type, #extra_conversion_arguments, #flattened_tag, flattened_tag_to_gtype_map, #gtype, #gvalue?, #make_g_value, #needs_c_to_ruby_conversion_for_callbacks?, #needs_c_to_ruby_conversion_for_closures?, #needs_c_to_ruby_conversion_for_functions?, #needs_c_to_ruby_conversion_for_properties?, #needs_ruby_to_c_conversion_for_callbacks?, #needs_ruby_to_c_conversion_for_closures?, #needs_ruby_to_c_conversion_for_functions?, #needs_ruby_to_c_conversion_for_properties?, #tag_or_class, #to_callback_ffi_type, #to_ffi_type

Constructor Details

#initialize(property_info) ⇒ FieldTypeInfo

Returns a new instance of FieldTypeInfo.



195
196
197
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 195

def initialize(property_info)
  @property_info = property_info
end

Instance Method Details

#hidden_struct_type?Boolean

Returns:



211
212
213
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 211

def hidden_struct_type?
  false
end

#interface_classObject



215
216
217
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 215

def interface_class
  Builder.build_by_gtype @property_info.value_type if tag == :interface
end

#interface_class_nameObject



219
220
221
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 219

def interface_class_name
  interface_class.name if tag == :interface
end

#interface_typeObject



207
208
209
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 207

def interface_type
  @property_info.interface_type_tag if tag == :interface
end

#pointer?Boolean

Returns:



203
204
205
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 203

def pointer?
  @property_info.pointer_type?
end

#tagObject



199
200
201
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 199

def tag
  @property_info.type_tag
end