Class: GirFFI::Builders::UnintrospectableBuilder
- Inherits:
-
ObjectBuilder
- Object
- GirFFI::BaseTypeBuilder
- RegisteredTypeBuilder
- ObjectBuilder
- GirFFI::Builders::UnintrospectableBuilder
- Defined in:
- lib/gir_ffi/builders/unintrospectable_builder.rb
Overview
Implements the creation of a class representing an object type for which no data is found in the GIR. Typically, these are created to cast objects returned by a function that returns an interface.
Instance Attribute Summary
Attributes inherited from GirFFI::BaseTypeBuilder
Instance Method Summary collapse
- #find_signal(signal_name) ⇒ Object
- #klass ⇒ Object
- #setup_class ⇒ Object
- #setup_instance_method(_method) ⇒ Object
Methods inherited from ObjectBuilder
#ancestor_infos, #eligible_fields, #eligible_properties, #find_property, #object_class_struct
Methods included from WithLayout
Methods inherited from RegisteredTypeBuilder
Methods inherited from GirFFI::BaseTypeBuilder
#build_class, #initialize, #instantiate_class
Methods included from GirFFI::BuilderHelper
#get_or_define_class, #get_or_define_module, #optionally_define_constant
Constructor Details
This class inherits a constructor from GirFFI::BaseTypeBuilder
Instance Method Details
#find_signal(signal_name) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/gir_ffi/builders/unintrospectable_builder.rb', line 24 def find_signal(signal_name) info = super return info if info signal_id = GObject.signal_lookup signal_name, target_gtype return UnintrospectableSignalInfo.new(signal_id) if signal_id > 0 end |
#klass ⇒ Object
10 11 12 |
# File 'lib/gir_ffi/builders/unintrospectable_builder.rb', line 10 def klass @klass ||= TypeBuilder::CACHE[target_gtype] ||= Class.new(superclass) end |
#setup_class ⇒ Object
14 15 16 17 18 |
# File 'lib/gir_ffi/builders/unintrospectable_builder.rb', line 14 def setup_class setup_constants setup_layout setup_interfaces end |
#setup_instance_method(_method) ⇒ Object
20 21 22 |
# File 'lib/gir_ffi/builders/unintrospectable_builder.rb', line 20 def setup_instance_method(_method) false end |