class GirFFI::UnintrospectableTypeInfo

Represents a type not found in the GIR, conforming, as needed, to the interface of GObjectIntrospection::IObjectInfo.

Attributes

g_type[R]

Public Class Methods

new(gtype, gir = GObjectIntrospection::IRepository.default, gobject = GObject) click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 11
def initialize(gtype,
               gir = GObjectIntrospection::IRepository.default,
               gobject = GObject)
  @g_type = gtype
  @gir = gir
  @gobject = gobject
end

Public Instance Methods

class_struct() click to toggle source

TODO: Create custom class that includes the interfaces instead

# File lib/gir_ffi/unintrospectable_type_info.rb, line 58
def class_struct
  nil
end
fields() click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 45
def fields
  []
end
find_property(_any) click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 49
def find_property(_any)
  nil
end
find_signal(_any) click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 53
def find_signal(_any)
  nil
end
info_type() click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 19
def info_type
  :unintrospectable
end
interfaces() click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 39
def interfaces
  @gobject.type_interfaces(@g_type).filter_map do |gtype|
    @gir.find_by_gtype gtype
  end
end
namespace() click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 35
def namespace
  parent.namespace
end
parent() click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 27
def parent
  @gir.find_by_gtype(parent_gtype) || self.class.new(parent_gtype, @gir, @gobject)
end
parent_gtype() click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 31
def parent_gtype
  @parent_gtype ||= @gobject.type_parent @g_type
end
safe_name() click to toggle source
# File lib/gir_ffi/unintrospectable_type_info.rb, line 23
def safe_name
  @gobject.type_name @g_type
end