#include #include #include #include #include #include static void pending_cb (EmpathyContactManager *manager, EmpathyContact *contact, EmpathyContact *actor, guint reason, gchar *message, gboolean is_pending, gpointer data) { if (!is_pending) { return; } g_print ("Contact handle=%d alias=%s\n", empathy_contact_get_handle (contact), empathy_contact_get_name (contact)); empathy_contact_run_until_ready (contact, EMPATHY_CONTACT_READY_NAME, NULL); g_print ("Contact ready: handle=%d alias=%s ready=%d\n", empathy_contact_get_handle (contact), empathy_contact_get_name (contact), empathy_contact_get_ready (contact)); g_object_unref (manager); gtk_main_quit (); } static gboolean callback (gpointer data) { EmpathyContactManager *manager; manager = empathy_contact_manager_new (); g_signal_connect (manager, "pendings-changed", G_CALLBACK (pending_cb), NULL); return FALSE; } int main (int argc, char **argv) { gtk_init (&argc, &argv); g_idle_add (callback, NULL); gtk_main (); return EXIT_SUCCESS; }