class GirFFI::UnintrospectableSignalInfo

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

Attributes

signal_id[R]

Public Class Methods

new(signal_id) click to toggle source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 9
def initialize(signal_id)
  @signal_id = signal_id
end

Public Instance Methods

arguments_to_gvalues(instance, arguments) click to toggle 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
gvalue_for_return_value() click to toggle 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
name() click to toggle source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 13
def name
  GObject.signal_name signal_id
end
wrap_in_closure(&block) click to toggle source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 17
def wrap_in_closure(&block)
  GObject::RubyClosure.new(&block)
end

Private Instance Methods

signal_query() click to toggle source
# File lib/gir_ffi/unintrospectable_signal_info.rb, line 37
def signal_query
  @signal_query ||= GObject.signal_query signal_id
end