[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