[telepathy-doc/master] Upgrade for latest TpAM work on Features

Danielle Madeley danielle.madeley at collabora.co.uk
Wed Sep 23 06:33:47 PDT 2009


---
 docs/examples/gtk_presence_app/example.c |   30 ++++++++++++++----------------
 1 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/docs/examples/gtk_presence_app/example.c b/docs/examples/gtk_presence_app/example.c
index a602934..a567687 100644
--- a/docs/examples/gtk_presence_app/example.c
+++ b/docs/examples/gtk_presence_app/example.c
@@ -57,15 +57,19 @@ account_manager_ready (TpAccountManager *am,
 }
 
 static void
-am_notify_ready (GObject    *am,
-                 GParamSpec *pspec,
-                 gpointer    user_data)
+_am_ready (GObject      *am,
+           GAsyncResult *res,
+           gpointer      window)
 {
-  if (tp_account_manager_is_ready (TP_ACCOUNT_MANAGER (am)))
+  GError *error = NULL;
+
+  if (!tp_account_manager_become_ready_finish (TP_ACCOUNT_MANAGER (am), res,
+      &error))
     {
-      account_manager_ready (TP_ACCOUNT_MANAGER (am),
-                             PRESENCE_WINDOW (user_data));
+      g_error ("ERROR: %s", error->message);
     }
+
+  account_manager_ready (TP_ACCOUNT_MANAGER (am), PRESENCE_WINDOW (window));
 }
 
 int
@@ -82,16 +86,10 @@ main (int argc, char **argv)
 
   TpAccountManager *am = tp_account_manager_dup ();
 
-  if (tp_account_manager_is_ready (TP_ACCOUNT_MANAGER (am)))
-    {
-      account_manager_ready (TP_ACCOUNT_MANAGER (am),
-                             PRESENCE_WINDOW (window));
-    }
-  else
-    {
-      g_signal_connect (am, "notify::ready",
-          G_CALLBACK (am_notify_ready), window);
-    }
+  /* we want to request some AM features */
+  GQuark features[] = { TP_ACCOUNT_MANAGER_FEATURE_CORE }; // FIXME const?
+  tp_account_manager_become_ready_async (am, features,
+      _am_ready, window);
 
   gtk_widget_show (window);
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list