summaryrefslogtreecommitdiff
path: root/glib/src/variant.ccg
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2019-01-20 16:29:30 +0100
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2019-01-20 16:29:30 +0100
commit9d894e30007c54622c73ed7619c3d868e3351b35 (patch)
treee212e6a7829750e9c05bd542bcd65be010a3ea5f /glib/src/variant.ccg
parent1078af3089d3807874d1d9e095eae5279078ea63 (diff)
downloadglibmm-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.ccg21
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