Class: GirFFI::UnintrospectableSignalInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/gir_ffi/unintrospectable_signal_info.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(signal_id) ⇒ UnintrospectableSignalInfo

Returns a new instance of UnintrospectableSignalInfo.



7
8
9
# File 'lib/gir_ffi/unintrospectable_signal_info.rb', line 7

def initialize(signal_id)
  @signal_id = signal_id
end

Instance Attribute Details

#signal_idObject (readonly)

Returns the value of attribute signal_id.



5
6
7
# File 'lib/gir_ffi/unintrospectable_signal_info.rb', line 5

def signal_id
  @signal_id
end

Instance Method Details

#arguments_to_gvalues(instance, arguments) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/gir_ffi/unintrospectable_signal_info.rb', line 19

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_valueObject



29
30
31
# File 'lib/gir_ffi/unintrospectable_signal_info.rb', line 29

def gvalue_for_return_value
  GObject::Value.for_gtype signal_query.return_type
end

#nameObject



11
12
13
# File 'lib/gir_ffi/unintrospectable_signal_info.rb', line 11

def name
  GObject.signal_name signal_id
end

#wrap_in_closure(&block) ⇒ Object



15
16
17
# File 'lib/gir_ffi/unintrospectable_signal_info.rb', line 15

def wrap_in_closure(&block)
  GObject::RubyClosure.new(&block)
end