]> git.0d.be Git - empathy.git/blobdiff - tests/interactive/test-empathy-contact-blocking-dialog.c
Use a flat namespace for internal includes
[empathy.git] / tests / interactive / test-empathy-contact-blocking-dialog.c
index 6c5615ec3e254ecd8834673b2cba653d31ad08d8..d4a76933da0788018b935de36228467e04a061c6 100644 (file)
 
 #include <gtk/gtk.h>
 
-#include <libempathy/empathy-contact-manager.h>
+#include "empathy-client-factory.h"
 
-#include <libempathy-gtk/empathy-ui-utils.h>
-#include <libempathy-gtk/empathy-contact-blocking-dialog.h>
+#include "empathy-ui-utils.h"
+#include "empathy-contact-blocking-dialog.h"
+
+static void
+am_prepare_cb (GObject *source,
+    GAsyncResult *result,
+    gpointer user_data)
+{
+    GMainLoop *loop = user_data;
+    GtkWidget *dialog;
+
+    dialog = empathy_contact_blocking_dialog_new (NULL);
+
+    gtk_dialog_run (GTK_DIALOG (dialog));
+
+    g_main_loop_quit (loop);
+}
 
 int
 main (int argc,
     char **argv)
   {
-    EmpathyContactManager *manager;
-    GtkWidget *dialog;
+    EmpathyClientFactory *factory;
+    TpAccountManager *am;
+    GMainLoop *loop;
 
     gtk_init (&argc, &argv);
     empathy_gtk_init ();
 
-    manager = empathy_contact_manager_dup_singleton ();
-    dialog = empathy_contact_blocking_dialog_new (NULL);
+    /* The blocking dialog needs the contact list for the contacts completion
+     * so we prepare it first. */
+    factory = empathy_client_factory_dup ();
+
+    tp_simple_client_factory_add_connection_features_varargs (
+        TP_SIMPLE_CLIENT_FACTORY (factory),
+        TP_CONNECTION_FEATURE_CONTACT_LIST,
+        NULL);
 
-    g_signal_connect_swapped (dialog, "response",
-        G_CALLBACK (gtk_main_quit), NULL);
+    am = tp_account_manager_dup ();
 
-    gtk_widget_show (dialog);
+    loop = g_main_loop_new (NULL, FALSE);
 
-    gtk_main ();
+    tp_proxy_prepare_async (am, NULL, am_prepare_cb, loop);
 
-    gtk_widget_destroy (dialog);
-    g_object_unref (manager);
+    g_main_loop_run (loop);
 
+    g_object_unref (am);
     return 0;
   }