Class: GObjectIntrospection::ITypeInfo

Inherits:
IBaseInfo
  • Object
show all
Includes:
GirFFI::InfoExt::ITypeInfo
Defined in:
lib/ffi-gobject_introspection/i_type_info.rb

Overview

Wraps a GITypeInfo struct. Represents type information, direction, transfer etc.

Constant Summary

Constants included from GirFFI::InfoExt::ITypeInfo

GirFFI::InfoExt::ITypeInfo::FLATTENED_TAG_POINTER_TO_GTYPE_MAP, GirFFI::InfoExt::ITypeInfo::FLATTENED_TAG_TO_GTYPE_MAP, GirFFI::InfoExt::ITypeInfo::GOBJECT_VALUE_NAME, GirFFI::InfoExt::ITypeInfo::TAGS_NEEDING_C_TO_RUBY_CONVERSION, GirFFI::InfoExt::ITypeInfo::TAGS_NEEDING_RUBY_TO_C_CONVERSION, GirFFI::InfoExt::ITypeInfo::TAG_TO_WRAPPER_CLASS_MAP

Instance Attribute Summary

Attributes inherited from IBaseInfo

#pointer

Instance Method Summary collapse

Methods included from GirFFI::InfoExt::ITypeInfo

#argument_class_name, #element_type, #extra_conversion_arguments, #flattened_tag, #gtype, #gvalue?, #hidden_struct_type?, #interface_class, #interface_class_name, #interface_type, #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

Methods inherited from IBaseInfo

#==, #attribute, build_array_method, build_finder_method, #container, #deprecated?, #info_type, #initialize, make_finalizer, #namespace, #safe_namespace, #to_ptr, wrap

Constructor Details

This class inherits a constructor from GObjectIntrospection::IBaseInfo

Instance Method Details

#array_fixed_sizeObject



34
35
36
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 34

def array_fixed_size
  Lib.g_type_info_get_array_fixed_size self
end

#array_lengthObject



30
31
32
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 30

def array_length
  @array_length ||= Lib.g_type_info_get_array_length self
end

#array_typeObject



38
39
40
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 38

def array_type
  Lib.g_type_info_get_array_type self
end

#interfaceObject



23
24
25
26
27
28
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 23

def interface
  @interface ||= begin
                   ptr = Lib.g_type_info_get_interface self
                   IRepository.wrap_ibaseinfo_pointer ptr
                 end
end

#nameObject



46
47
48
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 46

def name
  raise "Should not call this for ITypeInfo"
end

#param_type(index) ⇒ Object



17
18
19
20
21
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 17

def param_type(index)
  @param_type_cache ||= []
  @param_type_cache[index] ||=
    ITypeInfo.wrap Lib.g_type_info_get_param_type(self, index)
end

#pointer?Boolean

Returns:

  • (Boolean)


7
8
9
10
11
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 7

def pointer?
  return @pointer_eh if defined? @pointer_eh

  @pointer_eh = Lib.g_type_info_is_pointer self
end

#tagObject



13
14
15
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 13

def tag
  @tag ||= Lib.g_type_info_get_tag self
end

#zero_terminated?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/ffi-gobject_introspection/i_type_info.rb', line 42

def zero_terminated?
  Lib.g_type_info_is_zero_terminated self
end