Sha256: 2968f653d3ad5f68036e7886ace40839cfe6090c33ce7f2f2f02a4d3d6cdc1e6
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true 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).filter_map do |gtype| @gir.find_by_gtype gtype end end def fields [] end def find_property(_any) nil end def find_signal(_any) nil end # TODO: Create custom class that includes the interfaces instead def class_struct nil end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.17.0 | lib/gir_ffi/unintrospectable_type_info.rb |
gir_ffi-0.16.1 | lib/gir_ffi/unintrospectable_type_info.rb |
gir_ffi-0.16.0 | lib/gir_ffi/unintrospectable_type_info.rb |