/usr/lib/ruby/vendor_ruby/gir_ffi/unintrospectable_type_info.rb is in ruby-gir-ffi 0.9.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | require 'gir_ffi/info_ext/full_type_name'
module GirFFI
# Represents a type not found in the GIR, conforming, as needed, to the
# interface of GObjectIntrospection::IObjectInfo.
class UnintrospectableTypeInfo
attr_reader :g_type
def initialize(gtype,
gir = GObjectIntrospection::IRepository.default,
gobject = GObject)
@g_type = gtype
@gir = gir
@gobject = gobject
end
def info_type
:unintrospectable
end
def safe_name
@gobject.type_name @g_type
end
def parent
@gir.find_by_gtype(parent_gtype) || self.class.new(parent_gtype, @gir, @gobject)
end
def parent_gtype
@parent_gtype ||= @gobject.type_parent @g_type
end
def namespace
parent.namespace
end
def interfaces
@gobject.type_interfaces(@g_type).map do |gtype|
@gir.find_by_gtype gtype
end.compact
end
def fields
[]
end
def find_signal(_any)
nil
end
# TODO: Create custom class that includes the interfaces instead
def class_struct
parent.class_struct
end
end
end
|