static gboolean addressbook_model_idle_cb (EAddressbookModel *model) { model->priv->client_view_idle_id = 0; if (model->priv->book_client && model->priv->query_str) { remove_book_view (model); if (model->priv->first_get_view) { model->priv->first_get_view = FALSE; if (e_client_check_capability (E_CLIENT (model->priv->book_client), "do-initial-query")) { e_book_client_get_view ( model->priv->book_client, model->priv->query_str, NULL, client_view_ready_cb, model); } else { free_data (model); g_signal_emit ( model, signals[MODEL_CHANGED], 0); g_signal_emit ( model, signals[STOP_STATE_CHANGED], 0); } } else e_book_client_get_view ( model->priv->book_client, model->priv->query_str, NULL, client_view_ready_cb, model); } g_object_unref (model); return FALSE; }
void e_contact_print (EBookClient *book_client, EBookQuery *query, const GSList *contact_list, GtkPrintOperationAction action) { GtkPrintOperation *operation; EContactPrintContext *ctxt; ctxt = g_new0 (EContactPrintContext, 1); ctxt->action = action; ctxt->contact_list = e_client_util_copy_object_slist (NULL, contact_list); ctxt->style = g_new0 (EContactPrintStyle, 1); ctxt->page_nr = 0; ctxt->pages = 0; operation = e_print_operation_new (); gtk_print_operation_set_n_pages (operation, 1); g_object_set_data_full ( G_OBJECT (operation), "contact-print-ctx", ctxt, g_free); g_signal_connect ( operation, "begin-print", G_CALLBACK (contact_begin_print), ctxt); g_signal_connect ( operation, "draw_page", G_CALLBACK (contact_draw_page), ctxt); g_signal_connect ( operation, "end-print", G_CALLBACK (contact_end_print), ctxt); if (book_client) { gchar *query_str = e_book_query_to_string (query); e_book_client_get_view ( book_client, query_str, NULL, get_view_ready_cb, operation); g_free (query_str); } else { gtk_print_operation_run (operation, action, NULL, NULL); g_object_unref (operation); } }
static gpointer call_get_view (gpointer user_data) { EBookQuery *query; EBookClient *book_client = user_data; gchar *sexp; g_return_val_if_fail (book_client != NULL, NULL); g_return_val_if_fail (E_IS_BOOK_CLIENT (book_client), NULL); query = e_book_query_any_field_contains (""); sexp = e_book_query_to_string (query); e_book_query_unref (query); e_book_client_get_view (book_client, sexp, NULL, get_view_cb, NULL); g_free (sexp); return NULL; }
static void test_get_view_async (ETestServerFixture *fixture, gconstpointer user_data) { EBookClient *book_client; EBookQuery *query; gchar *sexp; book_client = E_TEST_SERVER_UTILS_SERVICE (fixture, EBookClient); setup_book (book_client); query = e_book_query_any_field_contains (""); sexp = e_book_query_to_string (query); e_book_query_unref (query); e_book_client_get_view (book_client, sexp, NULL, get_view_cb, fixture->loop); g_free (sexp); g_main_loop_run (fixture->loop); }