1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
# frozen_string_literal: true
GLib.load_class :Variant
module GLib
# Overrides for GVariant, GLib's variant data type.
class Variant
setup_instance_method! "get_string"
def get_string_with_override
get_string_without_override.first
end
alias_method :get_string_without_override, :get_string
alias_method :get_string, :get_string_with_override
# Initializing method used in constructors. For Variant the constructing
# functions all return floating references, so this is need to take full
# ownership.
#
# Also see the documentation for g_variant_ref_sink.
def store_pointer(ptr)
Lib.g_variant_ref_sink ptr
super
end
# For variants, wrap_copy does not do any copying.
def self.wrap_copy(val)
wrap(val)
end
end
end
|