Overrides for GValue, GObject’s generic value container structure.
# File lib/ffi-gobject/value.rb, line 82 def from val case val when self val when nil nil else wrap_ruby_value val end end
# File lib/ffi-gobject/value.rb, line 78 def wrap_ruby_value val self.new.set_ruby_value val end
# File lib/ffi-gobject/value.rb, line 53 def current_fundamental_type GObject.type_fundamental current_gtype end
# File lib/ffi-gobject/value.rb, line 49 def current_gtype @struct[:g_type] end
# File lib/ffi-gobject/value.rb, line 57 def current_gtype_name GObject.type_name current_gtype end
# File lib/ffi-gobject/value.rb, line 39 def init_for_ruby_value val CLASS_TO_GTYPE_MAP.each do |klass, type| if klass === val init type return self end end raise "Can't handle #{val.class}" end
# File lib/ffi-gobject/value.rb, line 72 def ruby_value method = TYPE_TO_GET_METHOD_MAP[current_fundamental_type] call_or_raise method end
# File lib/ffi-gobject/value.rb, line 6 def set_ruby_value val if current_gtype == 0 init_for_ruby_value val end set_value val end
# File lib/ffi-gobject/value.rb, line 26 def set_value val method = TYPE_TO_SET_METHOD_MAP[current_fundamental_type] call_or_raise method, val self end