# File lib/ffi-gobject.rb, line 42 def self.object_class_from_instance instance object_class_from_instance_pointer instance.to_ptr end
# File lib/ffi-gobject.rb, line 46 def self.object_class_from_instance_pointer inst_ptr return nil if inst_ptr.null? klsptr = inst_ptr.get_pointer 0 ObjectClass.wrap klsptr end
# File lib/ffi-gobject.rb, line 28 def self.object_is_floating obj Lib::g_object_is_floating obj.to_ptr end
# File lib/ffi-gobject.rb, line 16 def self.object_ref obj Lib::g_object_ref obj.to_ptr end
# File lib/ffi-gobject.rb, line 20 def self.object_ref_sink obj Lib::g_object_ref_sink obj.to_ptr end
# File lib/ffi-gobject.rb, line 24 def self.object_unref obj Lib::g_object_unref obj.to_ptr end
Smells of :reek:LongParameterList: due to the C interface.
# File lib/ffi-gobject.rb, line 83 def self.param_spec_int(name, nick, blurb, minimum, maximum, default_value, flags) ptr = Lib.g_param_spec_int(name, nick, blurb, minimum, maximum, default_value, flags) ParamSpecInt.wrap(ptr) end
# File lib/ffi-gobject.rb, line 71 def self.signal_connect object, detailed_signal, data=nil, &block signal, _ = detailed_signal.split('::') sig_info = object.class.find_signal signal callback = sig_info.signal_callback(&block) GirFFI::CallbackBase.store_callback callback data_ptr = GirFFI::InPointer.from_object data Lib.g_signal_connect_data object, detailed_signal, callback, data_ptr, nil, 0 end
# File lib/ffi-gobject.rb, line 58 def self.signal_emit object, detailed_signal, *args signal, detail = detailed_signal.split('::') signal_id = signal_lookup_from_instance signal, object detail_quark = GLib.quark_from_string(detail) sig_info = object.class.find_signal signal arr = sig_info.signal_arguments_to_gvalue_array object, *args rval = sig_info.gvalue_for_signal_return_value Lib.g_signal_emitv arr.values, signal_id, detail_quark, rval return rval end
# File lib/ffi-gobject.rb, line 54 def self.signal_lookup_from_instance signal, object signal_lookup signal, type_from_instance(object) end
# File lib/ffi-gobject.rb, line 38 def self.type_from_instance instance type_from_instance_pointer instance.to_ptr end
# File lib/ffi-gobject.rb, line 32 def self.type_from_instance_pointer inst_ptr return nil if inst_ptr.null? klsptr = inst_ptr.get_pointer 0 klsptr.send "get_#{GirFFI::TypeMap::TAG_TYPE_MAP[:GType]}", 0 end
# File lib/gir_ffi-base/gobject.rb, line 4 def self.type_init Lib::g_type_init end