[glibmm] VariantIter: Add init() method.
- From: Josà Alburquerque <jaalburqu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glibmm] VariantIter: Add init() method.
- Date: Tue, 2 Oct 2012 03:26:00 +0000 (UTC)
commit ba258891180ecce80644cdaa91187b69d9695933
Author: Josà Alburquerque <jaalburqu svn gnome org>
Date: Mon Oct 1 15:55:37 2012 -0400
VariantIter: Add init() method.
* glib/src/variantiter.hg: Wrap the g_variant_iter_init() function.
* tools/m4/convert_glib.m4: Add a necessary conversion.
* glib/src/varianttype.hg: Add an _IGNORE.
ChangeLog | 8 ++++++++
glib/src/variantiter.hg | 7 ++++++-
glib/src/varianttype.hg | 4 ++++
tools/m4/convert_glib.m4 | 3 +++
4 files changed, 21 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 1cbabe4..0fe8cb5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-10-01 Josà Alburquerque <jaalburquerque gmail com>
+
+ VariantIter: Add init() method.
+
+ * glib/src/variantiter.hg: Wrap the g_variant_iter_init() function.
+ * tools/m4/convert_glib.m4: Add a necessary conversion.
+ * glib/src/varianttype.hg: Add an _IGNORE.
+
2012-10-01 Murray Cumming <murrayc murrayc-desktop>
DBus::Proxy: Add call(), call_sync() and call_finish() for unix_fd_list.
diff --git a/glib/src/variantiter.hg b/glib/src/variantiter.hg
index 6a6e34b..335d9fa 100644
--- a/glib/src/variantiter.hg
+++ b/glib/src/variantiter.hg
@@ -22,6 +22,7 @@ namespace Glib
{
class VariantBase;
+class VariantContainerBase;
//This can't be like a real iterator (like Gtk::TextIter),
//because g_iter_value_get_next_value() both gets a value and changes the iterator.
@@ -35,7 +36,11 @@ class VariantIter
_CLASS_OPAQUE_COPYABLE(VariantIter, GVariantIter, NONE, g_variant_iter_copy, g_variant_iter_free)
_IGNORE(g_variant_iter_copy, g_variant_iter_free)
public:
+ //TODO: The variant parameter should be a VariantContainerBase.
explicit VariantIter(const VariantBase& variant);
+
+ _WRAP_METHOD(gsize init(const VariantContainerBase& value), g_variant_iter_init)
+
dnl // Don't _IGNORE(g_variant_iter_new). It's listed in glib_functions.defs as
dnl // a method of GVariant. Ignoring it would make gmmproc think that this
dnl // file wraps GVariant, and it would list all GVariant methods as unwrapped.
@@ -43,7 +48,7 @@ public:
_WRAP_METHOD(gsize get_n_children() const, g_variant_iter_n_children)
bool next_value(VariantBase& value);
- _IGNORE(g_variant_iter_next_value)
+ _IGNORE(g_variant_iter_next_value, g_variant_iter_next)
};
diff --git a/glib/src/varianttype.hg b/glib/src/varianttype.hg
index 8fc2c32..c9e6a0e 100644
--- a/glib/src/varianttype.hg
+++ b/glib/src/varianttype.hg
@@ -146,6 +146,10 @@ public:
_WRAP_METHOD(gsize n_items() const, g_variant_type_n_items)
_WRAP_METHOD(VariantType key() const, g_variant_type_key)
_WRAP_METHOD(VariantType value() const, g_variant_type_value)
+
+ // This function is part of unexposed API in gvarianttypeinfo.{h,c} for an
+ // also unexposed GVariantTypeInfo structure of glib.
+ _IGNORE(g_variant_type_info_get)
};
extern const VariantType VARIANT_TYPE_BOOL;
diff --git a/tools/m4/convert_glib.m4 b/tools/m4/convert_glib.m4
index 9bc7534..9ac8eeb 100644
--- a/tools/m4/convert_glib.m4
+++ b/tools/m4/convert_glib.m4
@@ -149,6 +149,9 @@ _CONVERSION(`const Glib::ValueBase&',`GValue*',`const_cast<GValue*>(($3).gobj())
_CONVERSION(`GValue*', `Glib::ValueBase&', `*reinterpret_cast<Glib::ValueBase*>($3)')
_CONVERSION(`const GValue*', `const Glib::ValueBase&', `*reinterpret_cast<const Glib::ValueBase*>($3)')
+dnl VariantContainerBase
+_CONVERSION(`const VariantContainerBase&',`GVariant*',`const_cast<GVariant*>(($3).gobj())')
+
dnl VariantType
_CONVERSION(`const VariantType&',`const GVariantType*',`($3).gobj()')
_CONVERSION(`const Glib::VariantType&',`const GVariantType*',`($3).gobj()')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]