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 36 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 40 def container_info @container_info ||= info.container end
klass()
click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 32 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 18 def marshaller_definition arg_infos = info.args container_type_info = ReceiverTypeInfo.new(container_info) receiver_info = ReceiverArgumentInfo.new(container_type_info) return_value_info = ReturnValueInfo.new(info.return_type, info.caller_owns, info.skip_return?) MarshallingMethodBuilder.for_signal(receiver_info, arg_infos, return_value_info).method_definition end
setup_class()
click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 9 def setup_class setup_constants klass.class_eval marshaller_definition end
setup_method(_method)
click to toggle source
# File lib/gir_ffi/builders/signal_closure_builder.rb, line 14 def setup_method(_method) nil end