static void client_view_ready_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { EBookClient *book_client = E_BOOK_CLIENT (source_object); EBookClientView *client_view = NULL; EAddressbookModel *model = user_data; GError *error = NULL; if (!e_book_client_get_view_finish (book_client, result, &client_view, &error)) client_view = NULL; if (error) { eab_error_dialog (NULL, _("Error getting book view"), error); g_error_free (error); return; } remove_book_view (model); free_data (model); model->priv->client_view = client_view; if (model->priv->client_view) { model->priv->create_contact_id = g_signal_connect ( model->priv->client_view, "objects-added", G_CALLBACK (view_create_contact_cb), model); model->priv->remove_contact_id = g_signal_connect ( model->priv->client_view, "objects-removed", G_CALLBACK (view_remove_contact_cb), model); model->priv->modify_contact_id = g_signal_connect ( model->priv->client_view, "objects-modified", G_CALLBACK (view_modify_contact_cb), model); model->priv->status_message_id = g_signal_connect ( model->priv->client_view, "progress", G_CALLBACK (view_progress_cb), model); model->priv->view_complete_id = g_signal_connect ( model->priv->client_view, "complete", G_CALLBACK (view_complete_cb), model); model->priv->search_in_progress = TRUE; } g_signal_emit (model, signals[MODEL_CHANGED], 0); g_signal_emit (model, signals[SEARCH_STARTED], 0); g_signal_emit (model, signals[STOP_STATE_CHANGED], 0); if (model->priv->client_view) { e_book_client_view_start (model->priv->client_view, &error); if (error != NULL) { g_warning ( "%s: Failed to start client view: %s", G_STRFUNC, error->message); g_error_free (error); } } }
static void get_view_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { EBookClientView *view; GError *error = NULL; GMainLoop *loop = (GMainLoop *) user_data; if (!e_book_client_get_view_finish (E_BOOK_CLIENT (source_object), result, &view, &error)) g_error ("get view finish: %s", error->message); setup_and_start_view (view, loop); }
static void get_view_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { EBookClientView *view; GError *error = NULL; if (!e_book_client_get_view_finish (E_BOOK_CLIENT (source_object), result, &view, &error)) { report_error ("get view finish", &error); stop_main_loop (1); return; } setup_and_start_view (view); }
static void get_view_ready_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { GtkPrintOperation *operation = user_data; EBookClient *book_client = E_BOOK_CLIENT (source_object); EBookClientView *client_view = NULL; EContactPrintContext *ctxt; GError *error = NULL; e_book_client_get_view_finish (book_client, result, &client_view, &error); ctxt = g_object_get_data (G_OBJECT (operation), "contact-print-ctx"); g_return_if_fail (ctxt != NULL); if (error != NULL) { g_warning ( "%s: Failed to get view: %s", G_STRFUNC, error->message); g_error_free (error); gtk_print_operation_run (operation, ctxt->action, NULL, NULL); g_object_unref (operation); } else { g_signal_connect ( client_view, "objects-added", G_CALLBACK (contacts_added), ctxt); g_signal_connect ( client_view, "complete", G_CALLBACK (view_complete), operation); e_book_client_view_start (client_view, &error); if (error != NULL) { g_warning ( "%s: Failed to start view: %s", G_STRFUNC, error->message); g_error_free (error); gtk_print_operation_run (operation, ctxt->action, NULL, NULL); g_object_unref (operation); } } }