[telepathy-mission-control/master] Reimplement mc_account_call_when_all_ready.

Alberto Mardegan alberto.mardegan at nokia.com
Thu Jul 9 03:47:03 PDT 2009


Use _mc_iface_call_when_all_readyv() instead of using
_mc_iface_call_when_all_ready(), that can later be removed.
---
 libmcclient/mc-account.c |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/libmcclient/mc-account.c b/libmcclient/mc-account.c
index 74afaf6..b865544 100644
--- a/libmcclient/mc-account.c
+++ b/libmcclient/mc-account.c
@@ -786,16 +786,26 @@ mc_account_call_when_all_ready (McAccount *account,
 				GDestroyNotify destroy,
 				GObject *weak_object, ...)
 {
-    va_list ifaces;
+    GPtrArray *ifaces;
+    GQuark iface;
+    va_list ifaces_va;
 
-    va_start (ifaces, weak_object);
+    ifaces = g_ptr_array_sized_new (8);
 
-    _mc_iface_call_when_all_ready ((TpProxy *)account,
-			       MC_TYPE_ACCOUNT,
-			       (McIfaceWhenReadyCb)callback,
-			       user_data, destroy, weak_object,
-			       ifaces);
-    va_end (ifaces);
+    va_start (ifaces_va, weak_object);
+    for (iface = va_arg (ifaces_va, GQuark); iface != 0;
+	 iface = va_arg (ifaces_va, GQuark))
+    {
+        g_ptr_array_add (ifaces, GUINT_TO_POINTER (iface));
+    }
+    va_end (ifaces_va);
+
+    _mc_iface_call_when_all_readyv ((TpProxy *)account, MC_TYPE_ACCOUNT,
+                                    (McIfaceWhenReadyCb)callback,
+                                    user_data, destroy, weak_object,
+                                    ifaces->len, (GQuark *)ifaces->pdata);
+
+    g_ptr_array_free (ifaces, TRUE);
 }
 
 /**
-- 
1.5.6.5




More information about the telepathy-commits mailing list