[glibmm] VariantIter: Add init() method.



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]