class GirFFI::Builders::SignalClosureBuilder

Implements the creation of a closure class for handling a particular signal. The type will be attached to the appropriate class.

Public Instance Methods

container_class() click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 32
def container_class
  @container_class ||= Builder.build_class(container_info)
end
container_info() click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 36
def container_info
  @container_info ||= info.container
end
klass() click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 28
def klass
  @klass ||= get_or_define_class container_class, @classname, GObject::RubyClosure
end
marshaller_definition() click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 20
def marshaller_definition
  container_type_info = ReceiverTypeInfo.new(container_info)
  receiver_info = ReceiverArgumentInfo.new(container_type_info)

  MarshallingMethodBuilder.for_signal(receiver_info,
                                      info).method_definition
end
setup_class() click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 11
def setup_class
  setup_constants
  klass.class_eval marshaller_definition, __FILE__, __LINE__
end
setup_method(_method) click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 16
def setup_method(_method)
  nil
end