static void test_refresh_async (ETestServerFixture *fixture, gconstpointer user_data) { ECalClient *cal; gboolean supported; cal = E_TEST_SERVER_UTILS_SERVICE (fixture, ECalClient); supported = e_client_check_refresh_supported (E_CLIENT (cal)); if (!supported) return; setup_cal (cal); e_client_refresh (E_CLIENT (cal), NULL, async_refresh_result_ready, fixture->loop); g_main_loop_run (fixture->loop); }
/* synchronously in idle with main-loop running */ static gboolean test_sync_in_idle (gpointer user_data) { ECalClient *cal_client = user_data; g_return_val_if_fail (cal_client != NULL, FALSE); g_return_val_if_fail (E_IS_CAL_CLIENT (cal_client), FALSE); if (!test_sync (cal_client)) { stop_main_loop (1); return FALSE; } g_print ("Refresh supported: %s\n", e_client_check_refresh_supported (E_CLIENT (cal_client)) ? "yes" : "no"); e_client_refresh (E_CLIENT (cal_client), NULL, async_refresh_result_ready, NULL); return FALSE; }
static void action_address_book_refresh_cb (GtkAction *action, EBookShellView *book_shell_view) { EBookShellSidebar *book_shell_sidebar; ESourceSelector *selector; EClient *client = NULL; ESource *source; EActivity *activity; EAlertSink *alert_sink; EShellBackend *shell_backend; EShellContent *shell_content; EShellView *shell_view; EShell *shell; GCancellable *cancellable; book_shell_sidebar = book_shell_view->priv->book_shell_sidebar; selector = e_book_shell_sidebar_get_selector (book_shell_sidebar); shell_view = E_SHELL_VIEW (book_shell_view); shell_backend = e_shell_view_get_shell_backend (shell_view); shell_content = e_shell_view_get_shell_content (shell_view); shell = e_shell_backend_get_shell (shell_backend); source = e_source_selector_ref_primary_selection (selector); if (source != NULL) { client = e_client_selector_ref_cached_client ( E_CLIENT_SELECTOR (selector), source); if (!client) { ESource *primary; e_shell_allow_auth_prompt_for (shell, source); primary = e_source_selector_ref_primary_selection (selector); if (primary == source) e_source_selector_set_primary_selection (selector, source); g_clear_object (&primary); } g_object_unref (source); } if (client == NULL) return; g_return_if_fail (e_client_check_refresh_supported (client)); alert_sink = E_ALERT_SINK (shell_content); activity = e_activity_new (); cancellable = g_cancellable_new (); e_activity_set_alert_sink (activity, alert_sink); e_activity_set_cancellable (activity, cancellable); e_shell_allow_auth_prompt_for (shell, source); e_client_refresh (client, cancellable, address_book_refresh_done_cb, activity); e_shell_backend_add_activity (shell_backend, activity); g_object_unref (cancellable); g_object_unref (client); }