class GirFFI::UnintrospectableSignalInfo
Represents a signal not found in the GIR, conforming, as needed, to the interface of GObjectIntrospection::ISignalInfo
.
Attributes
Public Class Methods
Source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 9 def initialize(signal_id) @signal_id = signal_id end
Public Instance Methods
Source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 21 def arguments_to_gvalues(instance, arguments) param_gtypes = signal_query.param_types || [] argument_gvalues = param_gtypes.zip(arguments).map do |gtype, arg| GObject::Value.for_gtype(gtype).tap { |it| it.set_value arg } end argument_gvalues.unshift GObject::Value.wrap_instance(instance) end
Source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 31 def gvalue_for_return_value GObject::Value.for_gtype signal_query.return_type end
Source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 13 def name GObject.signal_name signal_id end
Source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 17 def wrap_in_closure(&) GObject::RubyClosure.new(&) end
Private Instance Methods
Source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 37 def signal_query @signal_query ||= GObject.signal_query signal_id end