diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2019-01-20 16:29:30 +0100 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2019-01-20 16:29:30 +0100 |
commit | 9d894e30007c54622c73ed7619c3d868e3351b35 (patch) | |
tree | e212e6a7829750e9c05bd542bcd65be010a3ea5f /glib/src/variant.ccg | |
parent | 1078af3089d3807874d1d9e095eae5279078ea63 (diff) | |
download | glibmm-9d894e30007c54622c73ed7619c3d868e3351b35.tar.gz |
Glib::Value: Add ValueBase_Variant
Nice to have as a base class for Value<VariantBase> and possibly for future
Glib::Value specializations.
Diffstat (limited to 'glib/src/variant.ccg')
-rw-r--r-- | glib/src/variant.ccg | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/glib/src/variant.ccg b/glib/src/variant.ccg index ec3fc94a..299a9393 100644 --- a/glib/src/variant.ccg +++ b/glib/src/variant.ccg @@ -694,31 +694,14 @@ Variant<type_vec_string>::get_iter() const /*---------------------Value<Glib::VariantBase>---------------------*/ -// static -GType Value<VariantBase>::value_type() -{ - return G_TYPE_VARIANT; -} - void Value<VariantBase>::set(CppType data) { - g_value_set_variant(&gobject_, data.gobj()); + set_variant(data.gobj()); } Value<VariantBase>::CppType Value<VariantBase>::get() const { - return CppType(g_value_get_variant(&gobject_), true); -} - -GParamSpec* Value<VariantBase>::create_param_spec(const Glib::ustring& name, - const Glib::ustring& nick, const Glib::ustring& blurb, Glib::ParamFlags flags) const -{ - GVariant* gvariant = g_value_get_variant(&gobject_); - const GVariantType* gvariant_type = gvariant ? g_variant_get_type(gvariant) : G_VARIANT_TYPE_ANY; - - return g_param_spec_variant( - name.c_str(), c_str_or_nullptr(nick), c_str_or_nullptr(blurb), - gvariant_type, gvariant, static_cast<GParamFlags>(flags)); + return CppType(get_variant(), true); } } // namespace Glib |