[evolution-data-server/account-mgmt: 19/43] Adapt libecal to the new ESource API.



commit d310d6732c1245b450c0d8c47c05785c77498e23
Author: Matthew Barnes <mbarnes redhat com>
Date:   Sat Nov 13 10:00:02 2010 -0500

    Adapt libecal to the new ESource API.

 calendar/libecal/Makefile.am                       |    6 +-
 calendar/libecal/e-cal-client.c                    |  311 +--------
 calendar/libecal/e-cal-client.h                    |    8 -
 calendar/libecal/e-cal.c                           |  817 +-------------------
 calendar/libecal/e-cal.h                           |   18 -
 calendar/libegdbus/e-gdbus-cal-factory.c           |   12 +-
 docs/reference/calendar/libecal/libecal-docs.sgml  |    3 -
 .../calendar/libecal/libecal-sections.txt          |   81 --
 docs/reference/calendar/libecal/libecal.types      |    4 -
 .../calendar/libecal/tmpl/e-source-calendar.sgml   |   35 -
 .../calendar/libecal/tmpl/e-source-memo-list.sgml  |   35 -
 .../calendar/libecal/tmpl/e-source-memo_list.sgml  |   35 -
 .../calendar/libecal/tmpl/e-source-task-list.sgml  |   35 -
 .../calendar/libecal/tmpl/e-source-task_list.sgml  |   35 -
 tests/libecal/Makefile.am                          |    3 -
 tests/libecal/client/client-test-utils.c           |   86 +--
 tests/libecal/client/client-test-utils.h           |    5 +-
 tests/libecal/client/test-client-examine.c         |   67 +-
 .../test-client-stress-factory--single-cal.c       |    4 +
 tests/libecal/client/test-client-stress-views.c    |    4 +
 tests/libecal/ecal-test-utils.c                    |   48 +-
 tests/libecal/ecal-test-utils.h                    |    7 -
 tests/libecal/test-ecal-add-timezone.c             |    1 -
 tests/libecal/test-ecal-create-object.c            |    2 -
 tests/libecal/test-ecal-get-alarm-email-address.c  |    2 -
 tests/libecal/test-ecal-get-cal-address.c          |    2 -
 tests/libecal/test-ecal-get-capabilities.c         |    1 -
 tests/libecal/test-ecal-get-default-object.c       |    2 -
 tests/libecal/test-ecal-get-free-busy.c            |    2 -
 tests/libecal/test-ecal-get-ldap-attribute.c       |    2 -
 tests/libecal/test-ecal-get-object-list.c          |    2 -
 tests/libecal/test-ecal-get-objects-for-uid.c      |    2 -
 tests/libecal/test-ecal-get-query.c                |    3 -
 tests/libecal/test-ecal-get-timezone.c             |    2 -
 tests/libecal/test-ecal-modify-object.c            |    3 -
 tests/libecal/test-ecal-open.c                     |    3 -
 tests/libecal/test-ecal-receive-objects.c          |    2 -
 tests/libecal/test-ecal-remove-object.c            |    1 -
 tests/libecal/test-ecal-remove.c                   |   22 -
 tests/libecal/test-ecal-send-objects.c             |    2 -
 tests/libecal/test-ecal-set-default-timezone.c     |    1 -
 tests/libecal/test-ecal-set-mode.c                 |    2 -
 tests/libecal/test-ecal-stress-factory--fifo.c     |    4 -
 .../libecal/test-ecal-stress-factory--open-async.c |    1 -
 tests/libecal/test-ecal-stress-factory--serial.c   |    1 -
 .../libecal/test-ecal-stress-factory--single-cal.c |    5 +-
 tests/libecal/test-ecal.c                          |   37 +-
 tests/libecal/test-recur.c                         |    4 +-
 tests/libecal/test-search.c                        |    4 +-
 49 files changed, 135 insertions(+), 1639 deletions(-)
---
diff --git a/calendar/libecal/Makefile.am b/calendar/libecal/Makefile.am
index 184c31f..68e6e43 100644
--- a/calendar/libecal/Makefile.am
+++ b/calendar/libecal/Makefile.am
@@ -36,8 +36,7 @@ libecal_1_2_la_SOURCES =			\
 	e-cal-system-timezone.h			\
 	e-cal-util.c				\
 	e-cal-view.c				\
-	e-cal-view-private.h			\
-	e-source-calendar.c
+	e-cal-view-private.h
 
 libecal_1_2_la_LIBADD = 					\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la 	\
@@ -63,8 +62,7 @@ libecalinclude_HEADERS =	\
 	e-cal-system-timezone.h	\
 	e-cal-types.h		\
 	e-cal-util.h		\
-	e-cal-view.h		\
-	e-source-calendar.h
+	e-cal-view.h
 
 %-$(API_VERSION).pc: %.pc
 	 cp $< $@
diff --git a/calendar/libecal/e-cal-client.c b/calendar/libecal/e-cal-client.c
index bb8151f..5606f2c 100644
--- a/calendar/libecal/e-cal-client.c
+++ b/calendar/libecal/e-cal-client.c
@@ -439,25 +439,6 @@ online_cb (EGdbusCal *object,
 }
 
 static void
-auth_required_cb (EGdbusCal *object,
-                  const gchar * const *credentials_strv,
-                  ECalClient *client)
-{
-	ECredentials *credentials;
-
-	g_return_if_fail (E_IS_CAL_CLIENT (client));
-
-	if (credentials_strv)
-		credentials = e_credentials_new_strv (credentials_strv);
-	else
-		credentials = e_credentials_new ();
-
-	e_client_process_authentication (E_CLIENT (client), credentials);
-
-	e_credentials_free (credentials);
-}
-
-static void
 opened_cb (EGdbusCal *object,
            const gchar * const *error_strv,
            ECalClient *client)
@@ -612,7 +593,8 @@ e_cal_client_new (ESource *source,
 	ECalClient *client;
 	GError *err = NULL;
 	GDBusConnection *connection;
-	gchar *xml, **strv;
+	const gchar *uid;
+	gchar **strv;
 	gchar *path = NULL;
 
 	g_return_val_if_fail (E_IS_SOURCE (source), NULL);
@@ -633,18 +615,9 @@ e_cal_client_new (ESource *source,
 		return NULL;
 	}
 
-	xml = e_source_to_standalone_xml (source);
-	if (!xml || !*xml) {
-		UNLOCK_FACTORY ();
-		g_free (xml);
-		g_set_error_literal (error, E_CLIENT_ERROR, E_CLIENT_ERROR_INVALID_ARG, _("Invalid source"));
-		return NULL;
-	}
-
-	strv = e_gdbus_cal_factory_encode_get_cal (xml, convert_type (source_type));
+	uid = e_source_get_uid (source);
+	strv = e_gdbus_cal_factory_encode_get_cal (uid, convert_type (source_type));
 	if (!strv) {
-		UNLOCK_FACTORY ();
-		g_free (xml);
 		g_set_error_literal (error, E_CLIENT_ERROR, E_CLIENT_ERROR_OTHER_ERROR, _("Other error"));
 		return NULL;
 	}
@@ -656,7 +629,6 @@ e_cal_client_new (ESource *source,
 
 	if (!e_gdbus_cal_factory_call_get_cal_sync (G_DBUS_PROXY (cal_factory_proxy), (const gchar * const *) strv, &path, NULL, &err)) {
 		unwrap_dbus_error (err, &err);
-		g_free (xml);
 		g_strfreev (strv);
 		g_warning ("%s: Cannot get calendar from factory: %s", G_STRFUNC, err ? err->message : "[no error]");
 		if (err)
@@ -666,7 +638,6 @@ e_cal_client_new (ESource *source,
 		return NULL;
 	}
 
-	g_free (xml);
 	g_strfreev (strv);
 
 	client->priv->gdbus_cal = G_DBUS_PROXY (e_gdbus_cal_proxy_new_sync (g_dbus_proxy_get_connection (G_DBUS_PROXY (cal_factory_proxy)),
@@ -705,7 +676,6 @@ e_cal_client_new (ESource *source,
 	g_signal_connect (client->priv->gdbus_cal, "backend_error", G_CALLBACK (backend_error_cb), client);
 	g_signal_connect (client->priv->gdbus_cal, "readonly", G_CALLBACK (readonly_cb), client);
 	g_signal_connect (client->priv->gdbus_cal, "online", G_CALLBACK (online_cb), client);
-	g_signal_connect (client->priv->gdbus_cal, "auth-required", G_CALLBACK (auth_required_cb), client);
 	g_signal_connect (client->priv->gdbus_cal, "opened", G_CALLBACK (opened_cb), client);
 	g_signal_connect (client->priv->gdbus_cal, "free-busy-data", G_CALLBACK (free_busy_data_cb), client);
 	g_signal_connect (client->priv->gdbus_cal, "backend-property-changed", G_CALLBACK (backend_property_changed_cb), client);
@@ -714,249 +684,6 @@ e_cal_client_new (ESource *source,
 }
 
 /**
- * e_cal_client_new_from_uri:
- * @uri: the URI to load
- * @source_type: source type of the calendar
- * @error: A #GError pointer
- *
- * Creates a new #ECalClient corresponding to the given uri.  See the
- * documentation for e_cal_client_new() for further information.
- *
- * Returns: a new but unopened #ECalClient.
- *
- * Since: 3.2
- **/
-ECalClient *
-e_cal_client_new_from_uri (const gchar *uri,
-                           ECalClientSourceType source_type,
-                           GError **error)
-{
-	ESourceList *source_list = NULL;
-	ESource *source;
-	ECalClient *client;
-
-	g_return_val_if_fail (uri != NULL, NULL);
-
-	if (!e_cal_client_get_sources (&source_list, source_type, error))
-		return NULL;
-
-	source = e_client_util_get_source_for_uri (source_list, uri);
-	if (!source && g_str_has_prefix (uri, "file://")) {
-		gchar *local_uri;
-
-		local_uri = g_strconcat ("local://", uri + 7, NULL);
-		source = e_client_util_get_source_for_uri (source_list, uri);
-
-		g_free (local_uri);
-	}
-
-	if (!source) {
-		g_object_unref (source_list);
-		g_set_error (error, E_CLIENT_ERROR, E_CLIENT_ERROR_INVALID_ARG, _("Incorrect uri '%s'"), uri);
-
-		return NULL;
-	}
-
-	client = e_cal_client_new (source, source_type, error);
-
-	g_object_unref (source);
-	g_object_unref (source_list);
-
-	return client;
-}
-
-/**
- * e_cal_client_new_system:
- * @source_type: source type of the calendar
- * @error: A #GError pointer
- *
- * Creates a new #ECalClient corresponding to the user's system
- * calendar.  See the documentation for e_cal_client_new() for further
- * information.
- *
- * Returns: a new but unopened #ECalClient.
- *
- * Since: 3.2
- **/
-ECalClient *
-e_cal_client_new_system (ECalClientSourceType source_type,
-                         GError **error)
-{
-	ESourceList *source_list = NULL;
-	ESource *source;
-	ECalClient *client;
-
-	if (!e_cal_client_get_sources (&source_list, source_type, error))
-		return NULL;
-
-	source = e_client_util_get_system_source (source_list);
-	if (!source) {
-		g_object_unref (source_list);
-		g_set_error_literal (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR, _("Failed to find system calendar"));
-
-		return NULL;
-	}
-
-	client = e_cal_client_new (source, source_type, error);
-
-	g_object_unref (source);
-	g_object_unref (source_list);
-
-	return client;
-}
-
-/**
- * e_cal_client_new_default:
- * @source_type: source type of the calendar
- * @error: return location for a #GError, or %NULL
- *
- * Creates a new #ECalClient corresponding to the user's default
- * calendar.  See the documentation for e_cal_client_new() for
- * further information.
- *
- * Returns: a new but unopened #ECalClient
- *
- * Since: 3.2
- **/
-ECalClient *
-e_cal_client_new_default (ECalClientSourceType source_type,
-                          GError **error)
-{
-	ESourceList *source_list = NULL;
-	ESource *source;
-	ECalClient *client;
-
-	if (!e_cal_client_get_sources (&source_list, source_type, error))
-		return NULL;
-
-	source = e_source_list_peek_default_source (source_list);
-	if (!source) {
-		g_set_error_literal (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR, _("Calendar does not exist"));
-		g_object_unref (source_list);
-
-		return NULL;
-	}
-
-	client = e_cal_client_new (source, source_type, error);
-
-	g_object_unref (source_list);
-
-	return client;
-}
-
-/**
- * e_cal_client_set_default:
- * @client: An #ECalClient pointer
- * @error: A #GError pointer
- *
- * Sets the #ESource of the #ECalClient as the "default" calendar.  This is the source
- * that will be loaded in the e_cal_client_get_default_calendar() call.
- *
- * Returns: %TRUE if the setting was stored in libecal's ESourceList, otherwise %FALSE.
- *
- * Since: 3.2
- **/
-gboolean
-e_cal_client_set_default (ECalClient *client,
-                          GError **error)
-{
-	ESource *source;
-
-	g_return_val_if_fail (E_IS_CAL_CLIENT (client), FALSE);
-
-	source = e_client_get_source (E_CLIENT (client));
-	g_return_val_if_fail (source != NULL, FALSE);
-
-	return e_cal_client_set_default_source (source, e_cal_client_get_source_type (client), error);
-}
-
-/**
- * e_cal_client_set_default_source:
- * @source: An #ESource pointer
- * @source_type: source type of the calendar
- * @error: A #GError pointer
- *
- * Sets @source as the "default" calendar.  This is the source that
- * will be loaded in the e_cal_client_get_default_calendar() call.
- *
- * Returns: %TRUE if the setting was stored in libecal's ESourceList, otherwise %FALSE.
- *
- * Since: 3.2
- **/
-gboolean
-e_cal_client_set_default_source (ESource *source,
-                                 ECalClientSourceType source_type,
-                                 GError **error)
-{
-	ESourceList *source_list = NULL;
-	gboolean res = FALSE;
-
-	g_return_val_if_fail (E_IS_SOURCE (source), FALSE);
-
-	if (!e_cal_client_get_sources (&source_list, source_type, error))
-		return FALSE;
-
-	res = e_client_util_set_default (source_list, source);
-
-	if (res)
-		res = e_source_list_sync (source_list, error);
-	else
-		g_set_error (error, E_CLIENT_ERROR, E_CLIENT_ERROR_INVALID_ARG,
-			_("There was no source for UID '%s' stored in a source list."), e_source_peek_uid (source));
-
-	g_object_unref (source_list);
-
-	return res;
-}
-
-/**
- * e_cal_client_get_sources:
- * @sources: (out): A pointer to an #ESourceList to set
- * @source_type: source type of calendars
- * @error: A pointer to a GError to set on error
- *
- * Populate @*sources with the list of all sources which have been
- * added to Evolution.
- *
- * Returns: %TRUE if @sources was set, otherwise %FALSE.
- *
- * Since: 3.2
- **/
-gboolean
-e_cal_client_get_sources (ESourceList **sources,
-                          ECalClientSourceType source_type,
-                          GError **error)
-{
-	GConfClient *gconf;
-	const gchar *key = NULL;
-
-	g_return_val_if_fail (sources != NULL, FALSE);
-
-	switch (source_type) {
-	case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
-		key = "/apps/evolution/calendar/sources";
-		break;
-	case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
-		key = "/apps/evolution/tasks/sources";
-		break;
-	case E_CAL_CLIENT_SOURCE_TYPE_MEMOS:
-		key = "/apps/evolution/memos/sources";
-		break;
-	default:
-		g_set_error_literal (error, E_CLIENT_ERROR, E_CLIENT_ERROR_INVALID_ARG, _("Invalid source type"));
-		return FALSE;
-	}
-
-	g_return_val_if_fail (key != NULL, FALSE);
-
-	gconf = gconf_client_get_default ();
-	*sources = e_source_list_new_for_gconf (gconf, key);
-	g_object_unref (gconf);
-
-	return TRUE;
-}
-
-/**
  * e_cal_client_get_source_type:
  * @client: A calendar client.
  *
@@ -5364,35 +5091,6 @@ cal_client_unwrap_dbus_error (EClient *client,
 }
 
 static void
-cal_client_handle_authentication (EClient *client,
-                                  const ECredentials *credentials)
-{
-	ECalClient *cal_client;
-	GError *error = NULL;
-	gchar **strv;
-
-	g_return_if_fail (E_IS_CAL_CLIENT (client));
-	g_return_if_fail (credentials != NULL);
-
-	cal_client = E_CAL_CLIENT (client);
-
-	if (!cal_client->priv->gdbus_cal)
-		return;
-
-	strv = e_credentials_to_strv (credentials);
-	g_return_if_fail (strv != NULL);
-
-	e_gdbus_cal_call_authenticate_user_sync (cal_client->priv->gdbus_cal, (const gchar * const *) strv, NULL, &error);
-
-	g_strfreev (strv);
-
-	if (error) {
-		g_debug ("%s: Failed to authenticate user: %s", G_STRFUNC, error->message);
-		g_error_free (error);
-	}
-}
-
-static void
 cal_client_retrieve_capabilities (EClient *client,
                                   GCancellable *cancellable,
                                   GAsyncReadyCallback callback,
@@ -5510,7 +5208,6 @@ e_cal_client_class_init (ECalClientClass *class)
 	client_class = E_CLIENT_CLASS (class);
 	client_class->get_dbus_proxy			= cal_client_get_dbus_proxy;
 	client_class->unwrap_dbus_error			= cal_client_unwrap_dbus_error;
-	client_class->handle_authentication		= cal_client_handle_authentication;
 	client_class->retrieve_capabilities		= cal_client_retrieve_capabilities;
 	client_class->retrieve_capabilities_finish	= cal_client_retrieve_capabilities_finish;
 	client_class->retrieve_capabilities_sync	= cal_client_retrieve_capabilities_sync;
diff --git a/calendar/libecal/e-cal-client.h b/calendar/libecal/e-cal-client.h
index a4c4f80..4349e11 100644
--- a/calendar/libecal/e-cal-client.h
+++ b/calendar/libecal/e-cal-client.h
@@ -144,14 +144,6 @@ GType			e_cal_client_get_type			(void);
 
 /* Creating a new calendar */
 ECalClient *		e_cal_client_new			(ESource *source, ECalClientSourceType source_type, GError **error);
-ECalClient *		e_cal_client_new_from_uri		(const gchar *uri, ECalClientSourceType source_type, GError **error);
-ECalClient *		e_cal_client_new_system			(ECalClientSourceType source_type, GError **error);
-ECalClient *		e_cal_client_new_default		(ECalClientSourceType source_type, GError **error);
-
-/* Calendar discovery */
-gboolean		e_cal_client_set_default		(ECalClient *client, GError **error);
-gboolean		e_cal_client_set_default_source		(ESource *source, ECalClientSourceType source_type, GError **error);
-gboolean		e_cal_client_get_sources		(ESourceList **sources, ECalClientSourceType source_type, GError **error);
 
 /* Calendar properties not managed by EClient */
 ECalClientSourceType	e_cal_client_get_source_type		(ECalClient *client);
diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c
index b04d9c6..c30646d 100644
--- a/calendar/libecal/e-cal.c
+++ b/calendar/libecal/e-cal.c
@@ -42,8 +42,9 @@
 
 #include <libical/ical.h>
 #include <libedataserver/e-url.h>
-#include <libedataserver/e-credentials.h>
 #include <libedataserver/e-data-server-util.h>
+#include <libedataserver/e-source-calendar.h>
+#include <libedataserver/e-source-registry.h>
 
 #include "libedata-cal/e-data-cal-types.h"
 
@@ -52,7 +53,6 @@
 #include "e-cal-time-util.h"
 #include "e-cal-view-private.h"
 #include "e-cal.h"
-#include "e-source-calendar.h"
 
 #include "e-gdbus-cal.h"
 #include "e-gdbus-cal-view.h"
@@ -81,7 +81,7 @@ G_DEFINE_TYPE (ECal, e_cal, G_TYPE_OBJECT)
 
 static gboolean open_calendar (ECal *ecal, gboolean only_if_exists, GError **error,
 	ECalendarStatus *status,
-	gboolean needs_auth, gboolean async);
+	gboolean async);
 static void e_cal_dispose (GObject *object);
 static void e_cal_finalize (GObject *object);
 
@@ -93,11 +93,7 @@ struct _ECalPrivate {
 	/* Load state to avoid multiple loads */
 	ECalLoadState load_state;
 
-	/* URI of the calendar that is being loaded or is already loaded, or
-	 * NULL if we are not loaded.
-	 */
 	ESource *source;
-	gchar *uri;
 	ECalSourceType type;
 
 	/* Email address associated with this calendar, or NULL */
@@ -109,14 +105,9 @@ struct _ECalPrivate {
 	gchar *capabilities;
 
 	gint mode;
-	gboolean requires_auth;
 
 	gboolean read_only;
 
-	/* The authentication function */
-	ECalAuthFunc auth_func;
-	gpointer auth_user_data;
-
 	/* A cache of timezones retrieved from the server, to avoid getting
 	 * them repeatedly for each get_object () call. */
 	GHashTable *timezones;
@@ -429,7 +420,6 @@ e_cal_init (ECal *ecal)
 	ecal->priv = E_CAL_GET_PRIVATE (ecal);
 
 	ecal->priv->load_state = E_CAL_LOAD_NOT_LOADED;
-	ecal->priv->uri = NULL;
 	ecal->priv->local_attachment_store = NULL;
 
 	ecal->priv->cal_address = NULL;
@@ -560,11 +550,6 @@ e_cal_finalize (GObject *object)
 		priv->source = NULL;
 	}
 
-	if (priv->uri) {
-		g_free (priv->uri);
-		priv->uri = NULL;
-	}
-
 	if (priv->local_attachment_store) {
 		g_free (priv->local_attachment_store);
 		priv->local_attachment_store = NULL;
@@ -777,233 +762,9 @@ e_cal_activate (GError **error)
 	return TRUE;
 }
 
-static gchar *
-build_proxy_pass_key (ECal *ecal,
-                      const gchar *parent_user)
-{
-	gchar *euri_str;
-	const gchar *uri;
-	EUri *euri;
-
-	uri = e_cal_get_uri (ecal);
-
-	euri = e_uri_new (uri);
-	g_free (euri->user);
-	euri->user = g_strdup (parent_user);
-
-	euri_str = e_uri_to_string (euri, FALSE);
-
-	e_uri_free (euri);
-	return euri_str;
-}
-
-static gchar *
-build_pass_key (ECal *ecal)
-{
-	gchar *euri_str;
-	const gchar *uri;
-	EUri *euri;
-
-	uri = e_cal_get_uri (ecal);
-
-	euri = e_uri_new (uri);
-	euri_str = e_uri_to_string (euri, FALSE);
-
-	e_uri_free (euri);
-	return euri_str;
-}
-
 static void async_open_report_result (ECal *ecal, const GError *error);
 
 static void
-authenticate_user_ready_cb (GObject *source_object,
-                            GAsyncResult *result,
-                            gpointer user_data)
-{
-	ECal *cal = user_data;
-	GError *error = NULL;
-
-	g_return_if_fail (cal != NULL);
-
-	if (!e_gdbus_cal_call_authenticate_user_finish (G_DBUS_PROXY (source_object), result, &error))
-		cal->priv->load_state = E_CAL_LOAD_NOT_LOADED;
-	else
-		cal->priv->load_state = E_CAL_LOAD_LOADED;
-
-	if (cal->priv->requires_auth && !error) {
-		cal->priv->load_state = E_CAL_LOAD_NOT_LOADED;
-		g_set_error_literal (&error, E_CALENDAR_ERROR, E_CALENDAR_STATUS_AUTHENTICATION_FAILED, e_cal_get_error_message (E_CALENDAR_STATUS_AUTHENTICATION_FAILED));
-	}
-
-	unwrap_gerror (&error);
-	async_open_report_result (cal, error);
-
-	if (error)
-		g_error_free (error);
-}
-
-static void
-finish_backend_opening_phase (ECal *cal)
-{
-	const gchar *strv[2];
-
-	g_return_if_fail (cal != NULL);
-	g_return_if_fail (E_IS_CAL (cal));
-
-	strv[0] = "";
-	strv[1] = NULL;
-
-	e_gdbus_cal_call_authenticate_user_sync (cal->priv->gdbus_cal, (const gchar * const *) strv, NULL, NULL);
-}
-
-static gboolean
-call_authenticate_user (ECal *cal,
-                        gboolean async,
-                        GError **error)
-{
-	gchar *username = NULL, *password = NULL;
-	ECredentials *credentials = NULL;
-	ECalPrivate *priv;
-
-	g_return_val_if_fail (cal != NULL, FALSE);
-	g_return_val_if_fail (E_IS_CAL (cal), FALSE);
-
-	priv = cal->priv;
-
-	if (!priv->gdbus_cal) {
-		E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_DBUS_EXCEPTION, error);
-	}
-
-	/* see if the backend needs authentication */
-	if ((priv->mode != CAL_MODE_LOCAL) && (e_source_get_property (priv->source, "auth") || priv->requires_auth)) {
-		gchar *prompt, *key, *auth_type = NULL;
-		gchar *parent_user;
-
-		priv->load_state = E_CAL_LOAD_AUTHENTICATING;
-
-		if (priv->auth_func == NULL) {
-			priv->load_state = E_CAL_LOAD_NOT_LOADED;
-			finish_backend_opening_phase (cal);
-			E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED, error);
-		}
-
-		username = e_source_get_duped_property (priv->source, "username");
-		if (!username) {
-			priv->load_state = E_CAL_LOAD_NOT_LOADED;
-			finish_backend_opening_phase (cal);
-			E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED, error);
-		}
-
-		prompt = g_strdup_printf (_("Enter password for %s (user %s)"),
-				e_source_peek_name (priv->source), username);
-
-		auth_type = e_source_get_duped_property (priv->source, "auth-type");
-		if (auth_type)
-			key = build_pass_key (cal);
-		else {
-			parent_user = e_source_get_duped_property (priv->source, "parent_id_name");
-			if (parent_user) {
-				key = build_proxy_pass_key (cal, parent_user);
-				/*
-				 * This password prompt will be prompted rarely. Since the key that is passed to
-				 * the auth_func corresponds to the parent user.
-				 */
-				prompt = g_strdup_printf (_("Enter password for %s to enable proxy for user %s"), e_source_peek_name (priv->source), parent_user);
-				g_free (parent_user);
-			} else
-				key = g_strdup (e_cal_get_uri (cal));
-		}
-		g_free (auth_type);
-
-		if (!key) {
-			priv->load_state = E_CAL_LOAD_NOT_LOADED;
-			g_free (username);
-			finish_backend_opening_phase (cal);
-			E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED, error);
-		}
-
-		password = priv->auth_func (cal, prompt, key, priv->auth_user_data);
-
-		if (!password) {
-			priv->load_state = E_CAL_LOAD_NOT_LOADED;
-			g_free (username);
-			finish_backend_opening_phase (cal);
-			E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED, error);
-		}
-
-		g_free (prompt);
-		g_free (key);
-	}
-
-	if (username)
-		credentials = e_credentials_new_args (
-			E_CREDENTIALS_KEY_USERNAME, username,
-			E_CREDENTIALS_KEY_PASSWORD, password,
-			NULL);
-	else
-		priv->load_state = E_CAL_LOAD_NOT_LOADED;
-
-	g_free (username);
-	e_credentials_util_safe_free_string (password);
-
-	if (credentials) {
-		gchar **strv = e_credentials_to_strv (credentials);
-
-		if (async) {
-			cal->priv->requires_auth = FALSE;
-			e_gdbus_cal_call_authenticate_user (cal->priv->gdbus_cal, (const gchar * const *) strv, NULL, authenticate_user_ready_cb, cal);
-		} else if (e_gdbus_cal_call_authenticate_user_sync (cal->priv->gdbus_cal, (const gchar * const *) strv, NULL, error))
-			priv->load_state = E_CAL_LOAD_LOADED;
-		else
-			priv->load_state = E_CAL_LOAD_NOT_LOADED;
-
-		g_strfreev (strv);
-		e_credentials_free (credentials);
-
-		if (error && *error)
-			unwrap_gerror (error);
-	} else if (priv->requires_auth) {
-		priv->load_state = E_CAL_LOAD_NOT_LOADED;
-		finish_backend_opening_phase (cal);
-		g_set_error_literal (error, E_CALENDAR_ERROR, E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED, e_cal_get_error_message (E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED));
-	}
-
-	return credentials && (!error || !*error);
-}
-
-static gboolean
-reopen_with_auth (gpointer data)
-{
-	ECalendarStatus status;
-	GError *error = NULL;
-
-	open_calendar (E_CAL (data), TRUE, &error,
-		&status,
-		TRUE, FALSE);
-
-	if (error)
-		g_error_free (error);
-
-	return FALSE;
-}
-
-static void
-auth_required_cb (EGdbusCal *gdbus_cal,
-                  const gchar * const *credentials_strv,
-                  ECal *cal)
-{
-	ECalPrivate *priv;
-	g_return_if_fail (E_IS_CAL (cal));
-
-	priv = cal->priv;
-
-	priv->requires_auth = TRUE;
-
-	if (priv->load_state != E_CAL_LOAD_AUTHENTICATING)
-		g_idle_add (reopen_with_auth, (gpointer) cal);
-}
-
-static void
 free_busy_data_cb (EGdbusCal *gdbus_cal,
                    const gchar * const *free_busy_strv,
                    ECal *cal)
@@ -1163,8 +924,8 @@ e_cal_new (ESource *source,
 	ECal *ecal;
 	ECalPrivate *priv;
 	gchar *path;
-	gchar *xml;
 	gchar **strv;
+	const gchar *uid;
 	GError *error = NULL;
 	GDBusConnection *connection;
 
@@ -1183,14 +944,13 @@ e_cal_new (ESource *source,
 	priv = ecal->priv;
 
 	priv->source = g_object_ref (source);
-	priv->uri = e_source_get_uri (source);
 	priv->type = type;
 
-	xml = e_source_to_standalone_xml (priv->source);
-	strv = e_gdbus_cal_factory_encode_get_cal (xml, convert_type (priv->type));
+	uid = e_source_get_uid (source);
+	strv = e_gdbus_cal_factory_encode_get_cal (uid, convert_type (priv->type));
+
 	if (!e_gdbus_cal_factory_call_get_cal_sync (G_DBUS_PROXY (cal_factory_proxy), (const gchar * const *) strv, &path, NULL, &error)) {
 		g_strfreev (strv);
-		g_free (xml);
 		unwrap_gerror (&error);
 		g_warning ("Cannot get cal from factory: %s", error ? error->message : "Unknown error");
 		if (error)
@@ -1199,7 +959,6 @@ e_cal_new (ESource *source,
 		return NULL;
 	}
 	g_strfreev (strv);
-	g_free (xml);
 
 	priv->gdbus_cal = G_DBUS_PROXY (e_gdbus_cal_proxy_new_sync (g_dbus_proxy_get_connection (G_DBUS_PROXY (cal_factory_proxy)),
 						      G_DBUS_PROXY_FLAGS_NONE,
@@ -1229,7 +988,6 @@ e_cal_new (ESource *source,
 		gdbus_cal_connection_gone_cb, ecal, NULL);
 	g_signal_connect (connection, "closed", G_CALLBACK (gdbus_cal_closed_cb), ecal);
 
-	g_signal_connect (priv->gdbus_cal, "auth-required", G_CALLBACK (auth_required_cb), ecal);
 	g_signal_connect (priv->gdbus_cal, "backend-error", G_CALLBACK (backend_error_cb), ecal);
 	g_signal_connect (priv->gdbus_cal, "readonly", G_CALLBACK (readonly_cb), ecal);
 	g_signal_connect (priv->gdbus_cal, "online", G_CALLBACK (online_cb), ecal);
@@ -1243,255 +1001,6 @@ e_cal_new (ESource *source,
 	return ecal;
 }
 
-/* for each known source calls check_func, which should return TRUE if the required
- * source have been found. Function returns NULL or the source on which was returned
- * TRUE by the check_func. Non-NULL pointer should be unreffed by g_object_unref.
- *
- * 'sources' is an output parameter and cannot be NULL. When returned non-NULL, then
- * should be freed with g_object_unref function. */
-static ESource *
-search_known_sources (ECalSourceType type,
-                      gboolean (*check_func) (ESource *source,
-                                              gpointer user_data),
-                      gpointer user_data,
-                      ESourceList **sources,
-                      GError **error)
-{
-	ESource *res = NULL;
-	GSList *g;
-	GError *err = NULL;
-
-	g_return_val_if_fail (sources != NULL, NULL);
-	g_return_val_if_fail (check_func != NULL, NULL);
-
-	*sources = NULL;
-
-	if (!e_cal_get_sources (sources, type, &err)) {
-		g_propagate_error (error, err);
-		return NULL;
-	}
-
-	for (g = e_source_list_peek_groups (*sources); g; g = g->next) {
-		ESourceGroup *group = E_SOURCE_GROUP (g->data);
-		GSList *s;
-
-		for (s = e_source_group_peek_sources (group); s; s = s->next) {
-			ESource *source = E_SOURCE (s->data);
-
-			if (check_func (source, user_data)) {
-				res = g_object_ref (source);
-				break;
-			}
-		}
-
-		if (res)
-			break;
-	}
-
-	return res;
-}
-
-static gboolean
-check_uri (ESource *source,
-           gpointer uri)
-{
-	const gchar *suri;
-
-	g_return_val_if_fail (source != NULL, FALSE);
-	g_return_val_if_fail (uri != NULL, FALSE);
-
-	suri = e_source_peek_absolute_uri (source);
-	if (suri)
-		return !g_ascii_strcasecmp (suri, uri);
-	else {
-		gboolean ret;
-		gchar *suri2;
-
-		suri2 = e_source_get_uri (source);
-		ret = !g_ascii_strcasecmp (suri2, uri);
-		g_free (suri2);
-		return ret;
-	}
-}
-
-/**
- * e_cal_new_from_uri:
- * @uri: The URI pointing to the calendar to open.
- * @type: Type of the client.
- *
- * Creates a new calendar client. This does not open the calendar itself,
- * for that, #e_cal_open or #e_cal_open_async needs to be called.
- *
- * Returns: A newly-created calendar client, or NULL if the client could
- * not be constructed because it could not contact the calendar server.
- *
- * Deprecated: 3.2: Use e_cal_client_new_from_uri() instead.
- **/
-ECal *
-e_cal_new_from_uri (const gchar *uri,
-                    ECalSourceType type)
-{
-	ESourceList *sources = NULL;
-	ESource *source;
-	ECal *cal;
-
-	source = search_known_sources (type, check_uri, (gpointer) uri, &sources, NULL);
-	if (!source)
-		source = e_source_new_with_absolute_uri ("", uri);
-
-	cal = e_cal_new (source, type);
-
-	g_object_unref (source);
-	if (sources)
-		g_object_unref (sources);
-
-	return cal;
-}
-
-static ECal *
-get_local_source (ECalSourceType type)
-{
-	ESourceList *sources;
-	ESourceGroup *on_this_computer;
-	GSList *local_sources, *iter;
-	gchar *source_uri = NULL;
-	ECal *ecal;
-
-	if (!e_cal_get_sources (&sources, type, NULL)) {
-		g_warning ("Could not get task sources from GConf!");
-		goto out;
-	}
-
-	on_this_computer = e_source_list_ensure_group (sources,
-						       _("On This Computer"),
-						       "local:", TRUE);
-	if (!on_this_computer) {
-		g_object_unref (sources);
-		goto out;
-	}
-
-	local_sources = e_source_group_peek_sources (on_this_computer);
-	for (iter = local_sources; !source_uri && iter != NULL; iter = iter->next) {
-		ESource *source = iter->data;
-		gchar *uri;
-
-		uri = e_source_get_uri (source);
-		if (g_strcmp0 (uri, "local:system") == 0)
-			source_uri = uri;
-		else
-			g_free (uri);
-	}
-	if (!source_uri) {
-		ESource *source;
-		source = e_source_new (_("Personal"), "system");
-		e_source_set_color_spec (source, "#BECEDD");
-		e_source_group_add_source (on_this_computer, source, -1);
-		g_object_unref (source);
-
-		if (!e_source_list_sync (sources, NULL))
-			g_warning ("Cannot add system source to GConf!");
-	}
-	g_object_unref (on_this_computer);
-	g_object_unref (sources);
- out:
-	ecal = e_cal_new_from_uri (source_uri?:"local:system", type);
-	g_free (source_uri);
-	return ecal;
-}
-/**
- * e_cal_new_system_calendar:
- *
- * Create a calendar client for the system calendar, which should always be
- * present in all Evolution installations. This does not open the calendar
- * itself -- for that use e_cal_open() or e_cal_open_async().
- *
- * Returns: A newly-created calendar client, or %NULL if the client could
- * not be constructed.
- *
- * Deprecated: 3.2: Use e_cal_client_new_system() instead.
- */
-ECal *
-e_cal_new_system_calendar (void)
-{
-	return get_local_source (E_CAL_SOURCE_TYPE_EVENT);
-}
-
-/**
- * e_cal_new_system_tasks:
- *
- * Create a calendar client for the system task list, which should always
- * be present in all Evolution installations. This does not open the task
- * list itself -- for that use e_cal_open() or e_cal_open_async().
- *
- * Returns: A newly-created calendar client, or %NULL if the client could
- * not be constructed.
- *
- * Deprecated: 3.2: Use e_cal_client_new_system() instead.
- */
-ECal *
-e_cal_new_system_tasks (void)
-{
-	return get_local_source (E_CAL_SOURCE_TYPE_TODO);
-}
-
-/**
- * e_cal_new_system_memos:
- *
- * Create a calendar client for the system memo list, which should always
- * be present in all Evolution installations. This does not open the memo
- * list itself -- for that use e_cal_open() or e_cal_open_async().
- *
- * Returns: A newly-created calendar client, or %NULL if the client could
- * not be constructed.
- *
- * Deprecated: 3.2: Use e_cal_client_new_system() instead.
- */
-ECal *
-e_cal_new_system_memos (void)
-{
-	return get_local_source (E_CAL_SOURCE_TYPE_JOURNAL);
-}
-
-/**
- * e_cal_set_auth_func
- * @ecal: A calendar client.
- * @func: The authentication function
- * @data: User data to be used when calling the authentication function
- *
- * Sets the given authentication function on the calendar client. This
- * function will be called any time the calendar server needs a
- * password for an operation associated with the calendar and should
- * be supplied before any calendar is opened.
- *
- * When a calendar is opened asynchronously, the open function is
- * processed in a concurrent thread.  This means that the
- * authentication function will also be called from this thread.  As
- * such, the authentication callback cannot directly call any
- * functions that must be called from the main thread.  For example
- * any Gtk+ related functions, which must be proxied synchronously to
- * the main thread by the callback.
- *
- * The authentication function has the following signature
- * (ECalAuthFunc):
- *	gchar * auth_func (ECal *ecal,
- *			  const gchar *prompt,
- *			  const gchar *key,
- *			  gpointer user_data)
- *
- * Deprecated: 3.2: Use EClient::authenticate() signal on an #ECalClient instead.
- */
-void
-e_cal_set_auth_func (ECal *ecal,
-                     ECalAuthFunc func,
-                     gpointer data)
-{
-	g_return_if_fail (ecal != NULL);
-	g_return_if_fail (E_IS_CAL (ecal));
-
-	ecal->priv->auth_func = func;
-	ecal->priv->auth_user_data = data;
-}
-
 static void
 async_open_report_result (ECal *ecal,
                           const GError *error)
@@ -1513,29 +1022,6 @@ async_open_report_result (ECal *ecal,
 	g_signal_emit (G_OBJECT (ecal), e_cal_signals[CAL_OPENED_EX], 0, error);
 }
 
-static gboolean
-reschedule_authenticate_cb (gpointer user_data)
-{
-	GError *error = NULL;
-	ECal *ecal = user_data;
-
-	g_return_val_if_fail (ecal && E_IS_CAL (ecal), FALSE);
-
-	if (g_main_depth () > 1)
-		return TRUE;
-
-	if (call_authenticate_user (ecal, TRUE, &error))
-		return FALSE;
-
-	unwrap_gerror (&error);
-	async_open_report_result (ecal, error);
-
-	if (error)
-		g_error_free (error);
-
-	return FALSE;
-}
-
 static void
 async_open_ready_cb (GDBusProxy *gdbus_cal,
                      GAsyncResult *res,
@@ -1545,13 +1031,7 @@ async_open_ready_cb (GDBusProxy *gdbus_cal,
 
 	g_return_if_fail (ecal && E_IS_CAL (ecal));
 
-	if (e_gdbus_cal_call_open_finish (gdbus_cal, res, &error)) {
-		if (g_main_depth () > 1) {
-			g_idle_add (reschedule_authenticate_cb, ecal);
-			return;
-		} else if (call_authenticate_user (ecal, TRUE, &error))
-			return;
-	}
+	e_gdbus_cal_call_open_finish (gdbus_cal, res, &error);
 
 	unwrap_gerror (&error);
 
@@ -1566,7 +1046,6 @@ open_calendar (ECal *ecal,
                gboolean only_if_exists,
                GError **error,
                ECalendarStatus *status,
-               gboolean needs_auth,
                gboolean async)
 {
 	ECalPrivate *priv;
@@ -1578,36 +1057,15 @@ open_calendar (ECal *ecal,
 	priv = ecal->priv;
 	e_return_error_if_fail (priv->gdbus_cal, E_CALENDAR_STATUS_REPOSITORY_OFFLINE);
 
-	if (!needs_auth && priv->load_state == E_CAL_LOAD_LOADED) {
+	if (priv->load_state == E_CAL_LOAD_LOADED)
 		return TRUE;
-	}
 
 	priv->load_state = E_CAL_LOAD_LOADING;
 
-	if ((priv->mode != CAL_MODE_LOCAL) && e_source_get_property (priv->source, "auth")) {
-		priv->load_state = E_CAL_LOAD_AUTHENTICATING;
-
-		if (priv->auth_func == NULL) {
-			priv->load_state = E_CAL_LOAD_NOT_LOADED;
-			*status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED;
-			E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED, error);
-		}
-
-		if (!e_source_get_property (priv->source, "username")) {
-			priv->load_state = E_CAL_LOAD_NOT_LOADED;
-			*status = E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED;
-			E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED, error);
-		}
-
-		needs_auth = TRUE;
-	}
-
 	*status = E_CALENDAR_STATUS_OK;
 	if (!async) {
 		if (!e_gdbus_cal_call_open_sync (priv->gdbus_cal, only_if_exists, NULL, error)) {
 			*status = E_CALENDAR_STATUS_DBUS_EXCEPTION;
-		} else if (needs_auth && !call_authenticate_user (ecal, FALSE, error)) {
-			*status = error && *error ? (*error)->code : E_CALENDAR_STATUS_AUTHENTICATION_FAILED;
 		}
 		if (!*error)
 			priv->load_state = E_CAL_LOAD_LOADED;
@@ -1651,9 +1109,7 @@ e_cal_open (ECal *ecal,
 	GError *err = NULL;
 	gboolean result;
 
-	result = open_calendar (ecal, only_if_exists, &err,
-		&status,
-		FALSE, FALSE);
+	result = open_calendar (ecal, only_if_exists, &err, &status, FALSE);
 	g_signal_emit (G_OBJECT (ecal), e_cal_signals[CAL_OPENED], 0, status);
 	g_signal_emit (G_OBJECT (ecal), e_cal_signals[CAL_OPENED_EX], 0, err);
 
@@ -1716,10 +1172,6 @@ async_report_idle (ECal *ecal,
  * a GError pointer from the open operation (NULL when no error occurred).
  * New signal deprecates the old "cal_opened" signal.
  *
- * Because this operation runs in another thread, any authentication
- * callback set on the calendar will be called from this other thread.
- * See #e_cal_set_auth_func() for details.
- *
  * Deprecated: 3.2: Use e_client_open()/e_client_open_finish()
  * on an #ECalClient object instead.
  **/
@@ -1737,7 +1189,6 @@ e_cal_open_async (ECal *ecal,
 	priv = ecal->priv;
 
 	switch (priv->load_state) {
-	case E_CAL_LOAD_AUTHENTICATING :
 	case E_CAL_LOAD_LOADING :
 		async_report_idle (ecal, g_error_new_literal (E_CALENDAR_ERROR, E_CALENDAR_STATUS_BUSY, e_cal_get_error_message (E_CALENDAR_STATUS_BUSY)));
 		return;
@@ -1749,9 +1200,7 @@ e_cal_open_async (ECal *ecal,
 		break;
 	}
 
-	open_calendar (ecal, only_if_exists, &error,
-		&status,
-		FALSE, TRUE);
+	open_calendar (ecal, only_if_exists, &error, &status, TRUE);
 
 	if (error)
 		async_report_idle (ecal, error);
@@ -1956,29 +1405,6 @@ e_cal_get_source (ECal *ecal)
 }
 
 /**
- * e_cal_get_uri:
- * @ecal: A calendar client.
- *
- * Queries the URI that is open in a calendar client.
- *
- * Returns: The URI of the calendar that is already loaded or is being
- * loaded, or NULL if the client has not started a load request yet.
- *
- * Deprecated: 3.2: Use e_client_get_uri() on an #ECalClient object instead.
- **/
-const gchar *
-e_cal_get_uri (ECal *ecal)
-{
-	ECalPrivate *priv;
-
-	g_return_val_if_fail (ecal != NULL, NULL);
-	g_return_val_if_fail (E_IS_CAL (ecal), NULL);
-
-	priv = ecal->priv;
-	return priv->uri;
-}
-
-/**
  * e_cal_get_local_attachment_store
  * @ecal: A calendar client.
  *
@@ -4625,224 +4051,3 @@ e_cal_get_error_message (ECalendarStatus status)
 	return NULL;
 }
 
-/**
- * e_cal_open_default:
- * @ecal: A calendar client.
- * @type: Type of the calendar.
- * @func: Authentication function.
- * @data: Closure data for the authentication function.
- * @error: Placeholder for error information.
- *
- * Opens the default calendar.
- *
- * Returns: TRUE if it opened correctly, FALSE otherwise.
- *
- * Deprecated: 3.2: Use e_cal_client_new_default_calendar() instead
- * and open it on your own.
- */
-gboolean
-e_cal_open_default (ECal **ecal,
-                    ECalSourceType type,
-                    ECalAuthFunc func,
-                    gpointer data,
-                    GError **error)
-{
-	ESourceList *source_list;
-	ESource *source;
-	ECal *client;
-
-	g_return_val_if_fail (ecal != NULL, FALSE);
-
-	/* In case something goes wrong... */
-	*ecal = NULL;
-
-	if (!e_cal_get_sources (&source_list, type, error))
-		return FALSE;
-
-	source = e_source_list_peek_default_source (source_list);
-	if (!source) {
-		g_set_error_literal (error, E_CALENDAR_ERROR,
-			     E_CALENDAR_STATUS_NO_SUCH_CALENDAR,
-			     e_cal_get_error_message (E_CALENDAR_STATUS_NO_SUCH_CALENDAR));
-		g_object_unref (source_list);
-		return FALSE;
-	}
-
-	/* XXX So this can fail, but doesn't take a GError!? */
-	client = e_cal_new (source, type);
-
-	if (client == NULL) {
-		g_set_error_literal (
-			error, E_CALENDAR_ERROR,
-			E_CALENDAR_STATUS_OTHER_ERROR,
-			e_cal_get_error_message (E_CALENDAR_STATUS_OTHER_ERROR));
-		g_object_unref (source_list);
-		return FALSE;
-	}
-
-	e_cal_set_auth_func (client, func, data);
-	if (!e_cal_open (client, TRUE, error)) {
-		g_object_unref (client);
-		g_object_unref (source_list);
-		return FALSE;
-	}
-
-	*ecal = client;
-
-	g_object_unref (source_list);
-
-	return TRUE;
-}
-
-/**
- * e_cal_set_default:
- * @ecal: an #ECal
- * @error: return location for a #GError, or %NULL
- *
- * Sets the #ESource in @ecal as default.
- *
- * Returns: TRUE if the operation was successful, FALSE otherwise.
- *
- * Deprecated: 3.2: Use e_cal_client_set_default() instead.
- */
-gboolean
-e_cal_set_default (ECal *ecal,
-                   GError **error)
-{
-	ESource *source;
-	ECalSourceType source_type;
-
-	g_return_val_if_fail (E_IS_CAL (ecal), FALSE);
-
-	source = e_cal_get_source (ecal);
-	source_type = e_cal_get_source_type (ecal);
-
-	return e_cal_set_default_source (source, source_type, error);
-}
-
-static gboolean
-set_default_source (ESourceList *sources,
-                    ESource *source,
-                    GError **error)
-{
-	const gchar *uid;
-	GError *err = NULL;
-	GSList *g;
-
-	uid = e_source_peek_uid (source);
-
-	/* make sure the source is actually in the ESourceList.  if
-	 * it's not we don't bother adding it, just return an error */
-	source = e_source_list_peek_source_by_uid (sources, uid);
-	if (!source) {
-		g_set_error_literal (error, E_CALENDAR_ERROR,
-			     E_CALENDAR_STATUS_NO_SUCH_CALENDAR,
-			     e_cal_get_error_message (E_CALENDAR_STATUS_NO_SUCH_CALENDAR));
-		g_object_unref (sources);
-		return FALSE;
-	}
-
-	/* loop over all the sources clearing out any "default"
-	 * properties we find */
-	for (g = e_source_list_peek_groups (sources); g; g = g->next) {
-		GSList *s;
-		for (s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data));
-		     s; s = s->next) {
-			e_source_set_property (E_SOURCE (s->data), "default", NULL);
-		}
-	}
-
-	/* set the "default" property on the source */
-	e_source_set_property (source, "default", "true");
-
-	if (!e_source_list_sync (sources, &err)) {
-		g_propagate_error (error, err);
-		return FALSE;
-	}
-
-	return TRUE;
-}
-
-/**
- * e_cal_set_default_source:
- * @source: an #ESource
- * @type: type of the source
- * @error: return location for a #GError, or %NULL
- *
- * Sets @source as the default source for the specified @type.
- *
- * Returns: TRUE if the operation was successful, FALSE otherwise.
- *
- * Deprecated: 3.2: Use e_cal_client_set_default_source() instead.
- */
-gboolean
-e_cal_set_default_source (ESource *source,
-                          ECalSourceType type,
-                          GError **error)
-{
-	ESourceList *sources;
-	GError *err = NULL;
-
-	if (!e_cal_get_sources (&sources, type, &err)) {
-		g_propagate_error (error, err);
-		return FALSE;
-	}
-
-	return set_default_source (sources, source, error);
-}
-
-static gboolean
-get_sources (ESourceList **sources,
-             const gchar *key,
-             GError **error)
-{
-	GConfClient *gconf = gconf_client_get_default ();
-
-	*sources = e_source_list_new_for_gconf (gconf, key);
-	g_object_unref (gconf);
-
-	return TRUE;
-}
-
-/**
- * e_cal_get_sources:
- * @sources: Return value for list of sources.
- * @type: Type of the sources to get.
- * @error: Placeholder for error information.
- *
- * Gets the list of sources defined in the configuration for the given @type.
- *
- * Returns: TRUE if the operation was successful, FALSE otherwise.
- *
- * Deprecated: 3.2: Use e_cal_client_get_sources() instead.
- */
-gboolean
-e_cal_get_sources (ESourceList **sources,
-                   ECalSourceType type,
-                   GError **error)
-{
-	e_return_error_if_fail (sources != NULL, E_CALENDAR_STATUS_INVALID_ARG);
-	*sources = NULL;
-
-	switch (type) {
-	case E_CAL_SOURCE_TYPE_EVENT:
-		return get_sources (sources, "/apps/evolution/calendar/sources", error);
-		break;
-	case E_CAL_SOURCE_TYPE_TODO:
-		return get_sources (sources, "/apps/evolution/tasks/sources", error);
-		break;
-	case E_CAL_SOURCE_TYPE_JOURNAL:
-		return get_sources (sources, "/apps/evolution/memos/sources", error);
-		break;
-	default:
-		g_set_error_literal (error, E_CALENDAR_ERROR,
-			     E_CALENDAR_STATUS_NO_SUCH_CALENDAR,
-			     e_cal_get_error_message (E_CALENDAR_STATUS_NO_SUCH_CALENDAR));
-		return FALSE;
-	}
-
-	g_set_error_literal (error, E_CALENDAR_ERROR,
-		     E_CALENDAR_STATUS_NO_SUCH_CALENDAR,
-		     e_cal_get_error_message (E_CALENDAR_STATUS_NO_SUCH_CALENDAR));
-	return FALSE;
-}
diff --git a/calendar/libecal/e-cal.h b/calendar/libecal/e-cal.h
index 3f68394..f2b6150 100644
--- a/calendar/libecal/e-cal.h
+++ b/calendar/libecal/e-cal.h
@@ -24,7 +24,6 @@
 
 #ifndef E_CAL_DISABLE_DEPRECATED
 
-#include <libedataserver/e-source-list.h>
 #include <libedataserver/e-source.h>
 #include <libecal/e-cal-recur.h>
 #include <libecal/e-cal-util.h>
@@ -66,7 +65,6 @@ typedef enum {
 /* Whether the ecal is not loaded, is being loaded, or is already loaded */
 typedef enum {
 	E_CAL_LOAD_NOT_LOADED,
-	E_CAL_LOAD_AUTHENTICATING,
 	E_CAL_LOAD_LOADING,
 	E_CAL_LOAD_LOADED
 } ECalLoadState;
@@ -106,11 +104,6 @@ struct _ECalClass {
 	void (* backend_died) (ECal *ecal);
 };
 
-typedef gchar * (* ECalAuthFunc) (ECal *ecal,
-				 const gchar *prompt,
-				 const gchar *key,
-				 gpointer user_data);
-
 GType e_cal_get_type (void);
 
 GType e_cal_source_type_enum_get_type (void);
@@ -118,12 +111,6 @@ GType e_cal_set_mode_status_enum_get_type (void);
 GType cal_mode_enum_get_type (void);
 
 ECal *e_cal_new (ESource *source, ECalSourceType type);
-ECal *e_cal_new_from_uri (const gchar *uri, ECalSourceType type);
-ECal *e_cal_new_system_calendar (void);
-ECal *e_cal_new_system_tasks (void);
-ECal *e_cal_new_system_memos (void);
-
-void e_cal_set_auth_func (ECal *ecal, ECalAuthFunc func, gpointer data);
 
 gboolean e_cal_open (ECal *ecal, gboolean only_if_exists, GError **error);
 void e_cal_open_async (ECal *ecal, gboolean only_if_exists);
@@ -136,7 +123,6 @@ ECalSourceType e_cal_get_source_type (ECal *ecal);
 ECalLoadState e_cal_get_load_state (ECal *ecal);
 
 ESource *e_cal_get_source (ECal *ecal);
-const gchar *e_cal_get_uri (ECal *ecal);
 
 gboolean e_cal_is_read_only (ECal *ecal, gboolean *read_only, GError **error);
 gboolean e_cal_get_cal_address (ECal *ecal, gchar **cal_address, GError **error);
@@ -219,10 +205,6 @@ gchar * e_cal_get_component_as_string (ECal *ecal, icalcomponent *icalcomp);
 const gchar * e_cal_get_error_message (ECalendarStatus status);
 
 /* Calendar/Tasks Discovery */
-gboolean    e_cal_open_default (ECal **ecal, ECalSourceType type, ECalAuthFunc func, gpointer data, GError **error);
-gboolean    e_cal_set_default (ECal  *ecal, GError **error);
-gboolean    e_cal_set_default_source (ESource *source, ECalSourceType type, GError **error);
-gboolean    e_cal_get_sources (ESourceList **sources, ECalSourceType type, GError **error);
 const gchar * e_cal_get_local_attachment_store (ECal *ecal);
 gboolean e_cal_get_recurrences_no_master (ECal *ecal);
 gboolean e_cal_get_attachments_for_comp (ECal *ecal, const gchar *uid, const gchar *rid, GSList **list, GError **error);
diff --git a/calendar/libegdbus/e-gdbus-cal-factory.c b/calendar/libegdbus/e-gdbus-cal-factory.c
index 9211e33..7a80d61 100644
--- a/calendar/libegdbus/e-gdbus-cal-factory.c
+++ b/calendar/libegdbus/e-gdbus-cal-factory.c
@@ -76,15 +76,15 @@ e_gdbus_cal_factory_default_init (EGdbusCalFactoryIface *iface)
 /* encodes source and source type into a strv usable for a wire transfer;
  * Free returned pointer with g_strfreev () */
 gchar **
-e_gdbus_cal_factory_encode_get_cal (const gchar *in_source,
+e_gdbus_cal_factory_encode_get_cal (const gchar *in_uid,
                                     guint in_type)
 {
 	gchar **strv;
 
-	g_return_val_if_fail (in_source != NULL, NULL);
+	g_return_val_if_fail (in_uid != NULL, NULL);
 
 	strv = g_new0 (gchar *, 3);
-	strv[0] = g_strdup (in_source);
+	strv[0] = g_strdup (in_uid);
 	strv[1] = g_strdup_printf ("%u", (guint32) in_type);
 	strv[2] = NULL;
 
@@ -120,7 +120,8 @@ e_gdbus_cal_factory_call_get_cal (GDBusProxy *proxy,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data)
 {
-	/* in_source_type has only two items, the first is ESource, the second is source type */
+	/* in_source_type has only two items, the first is the
+	 * ESource UID, the second is source type */
 	/* use e_gdbus_cal_factory_encode_get_cal() to encode them */
 
 	g_return_if_fail (in_source_type != NULL);
@@ -147,7 +148,8 @@ e_gdbus_cal_factory_call_get_cal_sync (GDBusProxy *proxy,
                                        GCancellable *cancellable,
                                        GError **error)
 {
-	/* in_source_type has only two items, the first is ESource, the second is source type */
+	/* in_source_type has only two items, the first is the
+	 * ESource UID, the second is source type */
 	/* use e_gdbus_cal_factory_encode_get_cal() to encode them */
 
 	g_return_val_if_fail (in_source_type != NULL, FALSE);
diff --git a/docs/reference/calendar/libecal/libecal-docs.sgml b/docs/reference/calendar/libecal/libecal-docs.sgml
index 819cf0c..bcf23c0 100644
--- a/docs/reference/calendar/libecal/libecal-docs.sgml
+++ b/docs/reference/calendar/libecal/libecal-docs.sgml
@@ -19,9 +19,6 @@
     <xi:include href="xml/e-cal-util.xml"/>
     <xi:include href="xml/e-cal-system-timezone.xml"/>
     <xi:include href="xml/e-cal-check-timezones.xml"/>
-    <xi:include href="xml/e-source-calendar.xml"/>
-    <xi:include href="xml/e-source-memo-list.xml"/>
-    <xi:include href="xml/e-source-task-list.xml"/>
   </chapter>
 
   <chapter>
diff --git a/docs/reference/calendar/libecal/libecal-sections.txt b/docs/reference/calendar/libecal/libecal-sections.txt
index 497e627..528c102 100644
--- a/docs/reference/calendar/libecal/libecal-sections.txt
+++ b/docs/reference/calendar/libecal/libecal-sections.txt
@@ -6,13 +6,7 @@ ECalSourceType
 ECalSetModeStatus
 ECalLoadState
 EDataCalMode
-ECalAuthFunc
 e_cal_new
-e_cal_new_from_uri
-e_cal_new_system_calendar
-e_cal_new_system_tasks
-e_cal_new_system_memos
-e_cal_set_auth_func
 e_cal_open
 e_cal_open_async
 e_cal_refresh
@@ -21,7 +15,6 @@ e_cal_uri_list
 e_cal_get_source_type
 e_cal_get_load_state
 e_cal_get_source
-e_cal_get_uri
 e_cal_is_read_only
 e_cal_get_cal_address
 e_cal_get_alarm_email_address
@@ -61,10 +54,6 @@ e_cal_get_query
 e_cal_resolve_tzid_cb
 e_cal_get_component_as_string
 e_cal_get_error_message
-e_cal_open_default
-e_cal_set_default
-e_cal_set_default_source
-e_cal_get_sources
 e_cal_get_local_attachment_store
 e_cal_get_recurrences_no_master
 e_cal_get_attachments_for_comp
@@ -110,12 +99,6 @@ ECalClientError
 e_cal_client_error_to_string
 e_cal_client_error_create
 e_cal_client_new
-e_cal_client_new_from_uri
-e_cal_client_new_system
-e_cal_client_new_default
-e_cal_client_set_default
-e_cal_client_set_default_source
-e_cal_client_get_sources
 e_cal_client_get_source_type
 e_cal_client_get_local_attachment_store
 e_cal_client_set_default_timezone
@@ -407,22 +390,14 @@ ECal
 ECalSourceType
 ECalSetModeStatus
 ECalLoadState
-ECalAuthFunc
 e_cal_new
-e_cal_new_from_uri
-e_cal_new_system_calendar
-e_cal_new_system_tasks
-e_cal_new_system_memos
-e_cal_set_auth_func
 e_cal_open
 e_cal_open_async
 e_cal_refresh
-e_cal_remove
 e_cal_uri_list
 e_cal_get_source_type
 e_cal_get_load_state
 e_cal_get_source
-e_cal_get_uri
 e_cal_is_read_only
 e_cal_get_cal_address
 e_cal_get_alarm_email_address
@@ -462,9 +437,6 @@ e_cal_get_query
 e_cal_resolve_tzid_cb
 e_cal_get_component_as_string
 e_cal_get_error_message
-e_cal_open_default
-e_cal_set_default
-e_cal_set_default_source
 e_cal_get_local_attachment_store
 e_cal_get_recurrences_no_master
 e_cal_get_attachments_for_comp
@@ -628,56 +600,3 @@ e_cal_tzlookup_icomp
 e_cal_match_tzid
 </SECTION>
 
-<SECTION>
-<FILE>e-source-calendar</FILE>
-<TITLE>ESourceCalendar</TITLE>
-ESourceCalendar
-E_SOURCE_EXTENSION_CALENDAR
-<SUBSECTION Standard>
-E_SOURCE_CALENDAR
-E_IS_SOURCE_CALENDAR
-E_TYPE_SOURCE_CALENDAR
-E_SOURCE_CALENDAR_CLASS
-E_IS_SOURCE_CALENDAR_CLASS
-E_SOURCE_CALENDAR_GET_CLASS
-ESourceCalendarClass
-<SUBSECTION Private>
-ESourceCalendarPrivate
-e_source_calendar_get_type
-</SECTION>
-
-<SECTION>
-<FILE>e-source-memo-list</FILE>
-<TITLE>ESourceMemoList</TITLE>
-ESourceMemoList
-E_SOURCE_EXTENSION_MEMO_LIST
-<SUBSECTION Standard>
-E_SOURCE_MEMO_LIST
-E_IS_SOURCE_MEMO_LIST
-E_TYPE_SOURCE_MEMO_LIST
-E_SOURCE_MEMO_LIST_CLASS
-E_IS_SOURCE_MEMO_LIST_CLASS
-E_SOURCE_MEMO_LIST_GET_CLASS
-ESourceMemoListClass
-<SUBSECTION Private>
-ESourceMemoListPrivate
-e_source_memo_list_get_type
-</SECTION>
-
-<SECTION>
-<FILE>e-source-task-list</FILE>
-<TITLE>ESourceTaskList</TITLE>
-ESourceTaskList
-E_SOURCE_EXTENSION_TASK_LIST
-<SUBSECTION Standard>
-E_SOURCE_TASK_LIST
-E_IS_SOURCE_TASK_LIST
-E_TYPE_SOURCE_TASK_LIST
-E_SOURCE_TASK_LIST_CLASS
-E_IS_SOURCE_TASK_LIST_CLASS
-E_SOURCE_TASK_LIST_GET_CLASS
-ESourceTaskListClass
-<SUBSECTION Private>
-ESourceTaskListPrivate
-e_source_task_list_get_type
-</SECTION>
diff --git a/docs/reference/calendar/libecal/libecal.types b/docs/reference/calendar/libecal/libecal.types
index a1f72d9..62b32cc 100644
--- a/docs/reference/calendar/libecal/libecal.types
+++ b/docs/reference/calendar/libecal/libecal.types
@@ -3,13 +3,9 @@
 #include <libecal/e-cal-client-view.h>
 #include <libecal/e-cal-component.h>
 #include <libecal/e-cal-view.h>
-#include <libecal/e-source-calendar.h>
 
 e_cal_get_type
 e_cal_client_get_type
 e_cal_client_view_get_type
 e_cal_component_get_type
 e_cal_view_get_type
-e_source_calendar_get_type
-e_source_memo_list_get_type
-e_source_task_list_get_type
diff --git a/tests/libecal/Makefile.am b/tests/libecal/Makefile.am
index 0e38d33..1b8db9a 100644
--- a/tests/libecal/Makefile.am
+++ b/tests/libecal/Makefile.am
@@ -28,7 +28,6 @@ TEST_ECAL_LIBS = \
 
 # ordered by relative complexity
 TESTS = \
-	test-ecal-remove			\
 	test-ecal-open				\
 	test-ecal-get-free-busy			\
 	test-ecal-get-timezone			\
@@ -95,8 +94,6 @@ test_ecal_open_LDADD=$(TEST_ECAL_LIBS)
 test_ecal_open_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
 test_ecal_receive_objects_LDADD=$(TEST_ECAL_LIBS)
 test_ecal_receive_objects_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
-test_ecal_remove_LDADD=$(TEST_ECAL_LIBS)
-test_ecal_remove_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
 test_ecal_remove_object_LDADD=$(TEST_ECAL_LIBS)
 test_ecal_remove_object_CPPFLAGS=$(TEST_ECAL_CPPFLAGS)
 test_ecal_send_objects_LDADD=$(TEST_ECAL_LIBS)
diff --git a/tests/libecal/client/client-test-utils.c b/tests/libecal/client/client-test-utils.c
index 322120d..44eacde 100644
--- a/tests/libecal/client/client-test-utils.c
+++ b/tests/libecal/client/client-test-utils.c
@@ -1,6 +1,8 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdio.h>
+#include <libedataserver/e-source-registry.h>
+#include <libedataserver/e-source-calendar.h>
 
 #include <libedataserver/e-gdbus-templates.h>
 
@@ -204,7 +206,8 @@ get_main_loop_stop_result (void)
 }
 
 void
-foreach_configured_source (ECalClientSourceType source_type,
+foreach_configured_source (ESourceRegistry *registry,
+                           ECalClientSourceType source_type,
                            void (*func) (ESource *source,
                            ECalClientSourceType source_type))
 {
@@ -215,7 +218,7 @@ foreach_configured_source (ECalClientSourceType source_type,
 
 	main_initialize ();
 
-	foreach_async_data = foreach_configured_source_async_start (source_type, &source);
+	foreach_async_data = foreach_configured_source_async_start (registry, source_type, &source);
 	if (!foreach_async_data)
 		return;
 
@@ -224,55 +227,45 @@ foreach_configured_source (ECalClientSourceType source_type,
 	} while (foreach_configured_source_async_next (&foreach_async_data, &source));
 }
 
-struct ForeachConfiguredData
-{
+struct ForeachConfiguredData {
 	ECalClientSourceType source_type;
-	ESourceList *source_list;
-	GSList *current_group;
-	GSList *current_source;
+	GList *list;
 };
 
 gpointer
-foreach_configured_source_async_start (ECalClientSourceType source_type,
+foreach_configured_source_async_start (ESourceRegistry *registry,
+                                       ECalClientSourceType source_type,
                                        ESource **source)
 {
 	struct ForeachConfiguredData *async_data;
-	ESourceList *source_list = NULL;
-	GError *error = NULL;
+	const gchar *extension_name;
+	GList *list;
 
 	g_return_val_if_fail (source != NULL, NULL);
 
 	main_initialize ();
 
-	if (!e_cal_client_get_sources (&source_list, source_type, &error)) {
-		report_error ("get addressbooks", &error);
-		return NULL;
+	switch (source_type) {
+		case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
+			extension_name = E_SOURCE_EXTENSION_CALENDAR;
+			break;
+		case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
+			extension_name = E_SOURCE_EXTENSION_TASK_LIST;
+			break;
+		case E_CAL_CLIENT_SOURCE_TYPE_MEMOS:
+			extension_name = E_SOURCE_EXTENSION_MEMO_LIST;
+			break;
+		default:
+			g_assert_not_reached ();
 	}
 
-	g_return_val_if_fail (source_list != NULL, NULL);
+	list = e_source_registry_list_sources (registry, extension_name);
 
 	async_data = g_new0 (struct ForeachConfiguredData, 1);
 	async_data->source_type = source_type;
-	async_data->source_list = source_list;
-	async_data->current_group = e_source_list_peek_groups (source_list);
-	if (!async_data->current_group) {
-		gpointer ad = async_data;
-
-		foreach_configured_source_async_next (&ad, source);
-		return ad;
-	}
-
-	async_data->current_source = e_source_group_peek_sources (async_data->current_group->data);
-	if (!async_data->current_source) {
-		gpointer ad = async_data;
-
-		if (foreach_configured_source_async_next (&ad, source))
-			return ad;
-
-		return NULL;
-	}
+	async_data->list = list;
 
-	*source = async_data->current_source->data;
+	*source = async_data->list->data;
 
 	return async_data;
 }
@@ -288,29 +281,16 @@ foreach_configured_source_async_next (gpointer *foreach_async_data,
 
 	async_data = *foreach_async_data;
 	g_return_val_if_fail (async_data != NULL, FALSE);
-	g_return_val_if_fail (async_data->source_list != NULL, FALSE);
-	g_return_val_if_fail (async_data->current_group != NULL, FALSE);
 
-	if (async_data->current_source)
-		async_data->current_source = async_data->current_source->next;
-	if (async_data->current_source) {
-		*source = async_data->current_source->data;
-		return TRUE;
+	if (async_data->list) {
+		g_object_unref (async_data->list->data);
+		async_data->list = async_data->list->next;
 	}
-
-	do {
-		async_data->current_group = async_data->current_group->next;
-		if (async_data->current_group) {
-			async_data->current_source = e_source_group_peek_sources (async_data->current_group->data);
-		}
-	} while (async_data->current_group && !async_data->current_source);
-
-	if (async_data->current_source) {
-		*source = async_data->current_source->data;
+	if (async_data->list) {
+		*source = async_data->list->data;
 		return TRUE;
 	}
 
-	g_object_unref (async_data->source_list);
 	g_free (async_data);
 
 	*foreach_async_data = NULL;
@@ -332,6 +312,7 @@ ECalClient *
 new_temp_client (ECalClientSourceType source_type,
                  gchar **uri)
 {
+#if 0  /* ACCOUNT_MGMT */
 	ECalClient *cal_client;
 	ESource *source;
 	gchar *abs_uri, *filename;
@@ -356,4 +337,7 @@ new_temp_client (ECalClientSourceType source_type,
 		report_error ("new temp client", &error);
 
 	return cal_client;
+#endif /* ACCOUNT_MGMT */
+
+	return NULL;
 }
diff --git a/tests/libecal/client/client-test-utils.h b/tests/libecal/client/client-test-utils.h
index e985819..9c10538 100644
--- a/tests/libecal/client/client-test-utils.h
+++ b/tests/libecal/client/client-test-utils.h
@@ -2,6 +2,7 @@
 #define CLIENT_TEST_UTILS_H
 
 #include <libecal/e-cal-client.h>
+#include <libedataserver/e-source-registry.h>
 
 void print_ecomp (ECalComponent *ecalcomp);
 void print_icomp (icalcomponent *icalcomp);
@@ -14,8 +15,8 @@ void start_in_idle_with_main_loop (GThreadFunc func, gpointer data);
 void stop_main_loop (gint stop_result);
 gint get_main_loop_stop_result (void);
 
-void foreach_configured_source (ECalClientSourceType source_type, void (*func) (ESource *source, ECalClientSourceType source_type));
-gpointer foreach_configured_source_async_start (ECalClientSourceType source_type, ESource **source);
+void foreach_configured_source (ESourceRegistry *registry, ECalClientSourceType source_type, void (*func) (ESource *source, ECalClientSourceType source_type));
+gpointer foreach_configured_source_async_start (ESourceRegistry *registry, ECalClientSourceType source_type, ESource **source);
 gboolean foreach_configured_source_async_next (gpointer *foreach_async_data, ESource **source);
 ECalClientSourceType foreach_configured_source_async_get_source_type (gpointer foreach_async_data);
 
diff --git a/tests/libecal/client/test-client-examine.c b/tests/libecal/client/test-client-examine.c
index 8151ffe..2875d39 100644
--- a/tests/libecal/client/test-client-examine.c
+++ b/tests/libecal/client/test-client-examine.c
@@ -3,7 +3,6 @@
 #include <stdlib.h>
 #include <string.h>
 #include <libecal/e-cal-client.h>
-#include <libedataserver/e-source-group.h>
 
 #include "client-test-utils.h"
 
@@ -149,8 +148,7 @@ static void
 identify_source (ESource *source,
                  ECalClientSourceType source_type)
 {
-	const gchar *name, *uri, *type;
-	gchar *abs_uri = NULL;
+	const gchar *name, *type, *uid;
 
 	g_return_if_fail (source != NULL);
 
@@ -169,23 +167,10 @@ identify_source (ESource *source,
 		break;
 	}
 
-	name = e_source_peek_name (source);
-	if (!name)
-		name = "Unknown name";
+	uid = e_source_get_uid (source);
+	name = e_source_get_display_name (source);
 
-	uri = e_source_peek_absolute_uri (source);
-	if (!uri) {
-		abs_uri = e_source_build_absolute_uri (source);
-		uri = abs_uri;
-	}
-	if (!uri)
-		uri = e_source_peek_relative_uri (source);
-	if (!uri)
-		uri = "Unknown uri";
-
-	g_print ("\n   Checking %s source '%s' (%s)\n", type, name, uri);
-
-	g_free (abs_uri);
+	g_print ("\n   Checking %s source '%s' (%s)\n", type, name, uid);
 }
 
 static void
@@ -412,14 +397,15 @@ check_source_sync (ESource *source,
 }
 
 static gboolean
-foreach_async (ECalClientSourceType source_type)
+foreach_async (ESourceRegistry *registry,
+               ECalClientSourceType source_type)
 {
 	gpointer async_data;
 	ESource *source = NULL;
 	ECalClient *cal_client;
 	GError *error = NULL;
 
-	async_data = foreach_configured_source_async_start (source_type, &source);
+	async_data = foreach_configured_source_async_start (registry, source_type, &source);
 	if (!async_data) {
 		stop_main_loop (1);
 		return FALSE;
@@ -447,38 +433,38 @@ foreach_async (ECalClientSourceType source_type)
 }
 
 static gboolean
-in_main_thread_idle_cb (gpointer unused)
+in_main_thread_idle_cb (ESourceRegistry *registry)
 {
 	g_print ("* run in main thread with mainloop running\n");
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_EVENTS, check_source_sync);
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_TASKS, check_source_sync);
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_MEMOS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_EVENTS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_TASKS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_MEMOS, check_source_sync);
 	g_print ("---------------------------------------------------------\n\n");
 
 	g_print ("* run in main thread async\n");
 
-	if (!foreach_async (E_CAL_CLIENT_SOURCE_TYPE_EVENTS))
+	if (!foreach_async (registry, E_CAL_CLIENT_SOURCE_TYPE_EVENTS))
 		return FALSE;
 
-	if (!foreach_async (E_CAL_CLIENT_SOURCE_TYPE_TASKS))
+	if (!foreach_async (registry, E_CAL_CLIENT_SOURCE_TYPE_TASKS))
 		return FALSE;
 
-	if (!foreach_async (E_CAL_CLIENT_SOURCE_TYPE_MEMOS))
+	if (!foreach_async (registry, E_CAL_CLIENT_SOURCE_TYPE_MEMOS))
 		return FALSE;
 
 	return FALSE;
 }
 
 static gpointer
-worker_thread (gpointer unused)
+worker_thread (ESourceRegistry *registry)
 {
 	g_print ("* run in dedicated thread with mainloop running\n");
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_EVENTS, check_source_sync);
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_TASKS, check_source_sync);
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_MEMOS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_EVENTS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_TASKS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_MEMOS, check_source_sync);
 	g_print ("---------------------------------------------------------\n\n");
 
-	g_idle_add (in_main_thread_idle_cb, NULL);
+	g_idle_add ((GSourceFunc) in_main_thread_idle_cb, registry);
 
 	return NULL;
 }
@@ -487,15 +473,22 @@ gint
 main (gint argc,
       gchar **argv)
 {
+	ESourceRegistry *registry;
+	GError *error = NULL;
+
 	main_initialize ();
 
+	registry = e_source_registry_new_sync (NULL, &error);
+	if (error != NULL)
+		g_error ("%s", error->message);
+
 	g_print ("* run in main thread without mainloop\n");
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_EVENTS, check_source_sync);
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_TASKS, check_source_sync);
-	foreach_configured_source (E_CAL_CLIENT_SOURCE_TYPE_MEMOS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_EVENTS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_TASKS, check_source_sync);
+	foreach_configured_source (registry, E_CAL_CLIENT_SOURCE_TYPE_MEMOS, check_source_sync);
 	g_print ("---------------------------------------------------------\n\n");
 
-	start_in_thread_with_main_loop (worker_thread, NULL);
+	start_in_thread_with_main_loop ((GThreadFunc) worker_thread, registry);
 
 	return get_main_loop_stop_result ();
 }
diff --git a/tests/libecal/client/test-client-stress-factory--single-cal.c b/tests/libecal/client/test-client-stress-factory--single-cal.c
index 9cb80a8..bdc173b 100644
--- a/tests/libecal/client/test-client-stress-factory--single-cal.c
+++ b/tests/libecal/client/test-client-stress-factory--single-cal.c
@@ -11,6 +11,7 @@ gint
 main (gint argc,
       gchar **argv)
 {
+#if 0  /* ACCOUNT_MGMT */
 	ECalClientSourceType source_type = E_CAL_CLIENT_SOURCE_TYPE_EVENTS;
 	gchar *uri = NULL;
 	ECalClient *cal_client;
@@ -61,4 +62,7 @@ main (gint argc,
 	g_object_unref (cal_client);
 
 	return ii == NUM_OPENS ? 0 : 1;
+#endif /* ACCOUNT_MGMT */
+
+	return 0;
 }
diff --git a/tests/libecal/client/test-client-stress-views.c b/tests/libecal/client/test-client-stress-views.c
index b79e21f..716b270 100644
--- a/tests/libecal/client/test-client-stress-views.c
+++ b/tests/libecal/client/test-client-stress-views.c
@@ -92,6 +92,7 @@ gint
 main (gint argc,
       gchar **argv)
 {
+#if 0  /* ACCOUNT_MGMT */
 	ECalClient *cal_client;
 	GError *error = NULL;
 
@@ -118,4 +119,7 @@ main (gint argc,
 	g_object_unref (cal_client);
 
 	return get_main_loop_stop_result ();
+#endif /* ACCOUNT_MGMT */
+
+	return 0;
 }
diff --git a/tests/libecal/ecal-test-utils.c b/tests/libecal/ecal-test-utils.c
index c3e7f55..e42d8c3 100644
--- a/tests/libecal/ecal-test-utils.c
+++ b/tests/libecal/ecal-test-utils.c
@@ -50,20 +50,6 @@ test_print (const gchar *format,
 }
 
 ECal *
-ecal_test_utils_cal_new_from_uri (const gchar *uri,
-                                  ECalSourceType type)
-{
-	ECal *cal;
-
-        test_print ("loading calendar '%s'\n", uri);
-	cal = e_cal_new_from_uri (uri, type);
-	if (!cal)
-                g_error ("failed to create calendar: `%s'", uri);
-
-	return cal;
-}
-
-ECal *
 ecal_test_utils_cal_new_temp (gchar **uri,
                               ECalSourceType type)
 {
@@ -72,19 +58,21 @@ ecal_test_utils_cal_new_temp (gchar **uri,
 	gchar *uri_result;
 
 	file_template = g_build_filename (g_get_tmp_dir (),
-                        "ecal-test-XXXXXX/", NULL);
+			"ecal-test-XXXXXX/", NULL);
 	g_mkstemp (file_template);
 
-        uri_result = g_strconcat ("local:", file_template, NULL);
+	uri_result = g_strconcat ("local:", file_template, NULL);
 	if (!uri_result) {
-                g_error ("failed to convert %s to a 'local:' URI", file_template);
+		g_error ("failed to convert %s to a 'local:' URI", file_template);
 	}
 	g_free (file_template);
 
-	cal = ecal_test_utils_cal_new_from_uri (uri_result, type);
+	/* FIXME We don't build ECals from URIs anymore. */
+	/* cal = ecal_test_utils_cal_new_from_uri (uri_result, type); */
+	cal = NULL;
 
 	if (uri)
-                *uri = g_strdup (uri_result);
+		*uri = g_strdup (uri_result);
 
 	g_free (uri_result);
 
@@ -98,11 +86,13 @@ ecal_test_utils_cal_open (ECal *cal,
 	GError *error = NULL;
 
 	if (!e_cal_open (cal, only_if_exists, &error)) {
-		const gchar *uri;
+		ESource *source;
+		const gchar *uid;
 
-		uri = e_cal_get_uri (cal);
+		source = e_cal_get_source (cal);
+		uid = e_source_get_uid (source);
 
-                g_warning ("failed to open calendar: `%s': %s", uri,
+		g_warning ("failed to open calendar: `%s': %s", uid,
 				error->message);
 		exit (1);
 	}
@@ -150,20 +140,6 @@ ecal_test_utils_cal_async_open (ECal *cal,
 	e_cal_open_async (cal, only_if_exists);
 }
 
-void
-ecal_test_utils_cal_remove (ECal *cal)
-{
-	GError *error = NULL;
-
-	if (!e_cal_remove (cal, &error)) {
-                g_warning ("failed to remove calendar; %s\n", error->message);
-		exit (1);
-	}
-        test_print ("successfully removed the temporary calendar\n");
-
-	g_object_unref (cal);
-}
-
 gchar *
 ecal_test_utils_cal_get_alarm_email_address (ECal *cal)
 {
diff --git a/tests/libecal/ecal-test-utils.h b/tests/libecal/ecal-test-utils.h
index b70b28e..2d440cc 100644
--- a/tests/libecal/ecal-test-utils.h
+++ b/tests/libecal/ecal-test-utils.h
@@ -36,10 +36,6 @@ test_print (const gchar *format,
             ...);
 
 ECal *
-ecal_test_utils_cal_new_from_uri (const gchar     *uri,
-				  ECalSourceType  type);
-
-ECal *
 ecal_test_utils_cal_new_temp (gchar           **uri,
 			      ECalSourceType   type);
 
@@ -53,9 +49,6 @@ ecal_test_utils_cal_async_open (ECal        *cal,
                                 GSourceFunc  callback,
                                 gpointer     user_data);
 
-void
-ecal_test_utils_cal_remove (ECal *cal);
-
 gchar *
 ecal_test_utils_cal_get_alarm_email_address (ECal *cal);
 
diff --git a/tests/libecal/test-ecal-add-timezone.c b/tests/libecal/test-ecal-add-timezone.c
index fcd58e6..488ffb5 100644
--- a/tests/libecal/test-ecal-add-timezone.c
+++ b/tests/libecal/test-ecal-add-timezone.c
@@ -44,7 +44,6 @@ main (gint argc,
 	g_assert (!g_strcmp0 (icaltimezone_get_tznames (zone),
 			icaltimezone_get_tznames (zone_final)));
 
-	ecal_test_utils_cal_remove (cal);
 	icaltimezone_free (zone, TRUE);
 
 	return 0;
diff --git a/tests/libecal/test-ecal-create-object.c b/tests/libecal/test-ecal-create-object.c
index d1c1a2d..db997c1 100644
--- a/tests/libecal/test-ecal-create-object.c
+++ b/tests/libecal/test-ecal-create-object.c
@@ -27,8 +27,6 @@ main (gint argc,
 	component_final = ecal_test_utils_cal_get_object (cal, uid);
 	ecal_test_utils_cal_assert_objects_equal_shallow (component, component_final);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_free (uid);
 	icalcomponent_free (component);
 	icalcomponent_free (component_final);
diff --git a/tests/libecal/test-ecal-get-alarm-email-address.c b/tests/libecal/test-ecal-get-alarm-email-address.c
index ab69c3f..cb033de 100644
--- a/tests/libecal/test-ecal-get-alarm-email-address.c
+++ b/tests/libecal/test-ecal-get-alarm-email-address.c
@@ -21,8 +21,6 @@ main (gint argc,
 	address = ecal_test_utils_cal_get_alarm_email_address (cal);
 	test_print ("alarm email address: '%s'\n", address);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_free (address);
 
 	return 0;
diff --git a/tests/libecal/test-ecal-get-cal-address.c b/tests/libecal/test-ecal-get-cal-address.c
index c20aa29..0e3285c 100644
--- a/tests/libecal/test-ecal-get-cal-address.c
+++ b/tests/libecal/test-ecal-get-cal-address.c
@@ -21,8 +21,6 @@ main (gint argc,
 	address = ecal_test_utils_cal_get_cal_address (cal);
 	test_print ("calendar address: '%s'\n", address);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_free (address);
 
 	return 0;
diff --git a/tests/libecal/test-ecal-get-capabilities.c b/tests/libecal/test-ecal-get-capabilities.c
index 6303ef7..ff4d257 100644
--- a/tests/libecal/test-ecal-get-capabilities.c
+++ b/tests/libecal/test-ecal-get-capabilities.c
@@ -17,7 +17,6 @@ main (gint argc,
 	cal = ecal_test_utils_cal_new_temp (&uri, E_CAL_SOURCE_TYPE_EVENT);
 	ecal_test_utils_cal_open (cal, FALSE);
 	ecal_test_utils_cal_get_capabilities (cal);
-	ecal_test_utils_cal_remove (cal);
 
 	return 0;
 }
diff --git a/tests/libecal/test-ecal-get-default-object.c b/tests/libecal/test-ecal-get-default-object.c
index 1acb9e3..d506565 100644
--- a/tests/libecal/test-ecal-get-default-object.c
+++ b/tests/libecal/test-ecal-get-default-object.c
@@ -24,8 +24,6 @@ main (gint argc,
 	component_string = icalcomponent_as_ical_string (component);
 	test_print ("default object:\n%s", component_string);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_free (component_string);
 
 	return 0;
diff --git a/tests/libecal/test-ecal-get-free-busy.c b/tests/libecal/test-ecal-get-free-busy.c
index e18fbc6..2f90401 100644
--- a/tests/libecal/test-ecal-get-free-busy.c
+++ b/tests/libecal/test-ecal-get-free-busy.c
@@ -30,8 +30,6 @@ main (gint argc,
 
 	free_busy = ecal_test_utils_cal_get_free_busy (cal, users, start, end);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_list_foreach (free_busy, (GFunc) g_object_unref, NULL);
 	g_list_free (free_busy);
 
diff --git a/tests/libecal/test-ecal-get-ldap-attribute.c b/tests/libecal/test-ecal-get-ldap-attribute.c
index 56cdb3f..d67cc55 100644
--- a/tests/libecal/test-ecal-get-ldap-attribute.c
+++ b/tests/libecal/test-ecal-get-ldap-attribute.c
@@ -21,8 +21,6 @@ main (gint argc,
 	attr = ecal_test_utils_cal_get_ldap_attribute (cal);
 	test_print ("LDAP attribute: '%s'\n", attr);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_free (attr);
 
 	return 0;
diff --git a/tests/libecal/test-ecal-get-object-list.c b/tests/libecal/test-ecal-get-object-list.c
index 9629975..7c86cf0 100644
--- a/tests/libecal/test-ecal-get-object-list.c
+++ b/tests/libecal/test-ecal-get-object-list.c
@@ -42,8 +42,6 @@ main (gint argc,
 	ecal_test_utils_cal_assert_objects_equal_shallow (component,
 			component_final);
 
-	ecal_test_utils_cal_remove (cal);
-
 	e_cal_free_object_list (components);
 	g_free (uid);
 	icalcomponent_free (component);
diff --git a/tests/libecal/test-ecal-get-objects-for-uid.c b/tests/libecal/test-ecal-get-objects-for-uid.c
index 291fc80..3c2242f 100644
--- a/tests/libecal/test-ecal-get-objects-for-uid.c
+++ b/tests/libecal/test-ecal-get-objects-for-uid.c
@@ -38,8 +38,6 @@ main (gint argc,
 	component_final = e_cal_component_get_icalcomponent (e_component_final);
 	ecal_test_utils_cal_assert_objects_equal_shallow (component, component_final);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_list_foreach (components, (GFunc) g_object_unref, NULL);
 	g_list_free (components);
 	g_free (uid);
diff --git a/tests/libecal/test-ecal-get-query.c b/tests/libecal/test-ecal-get-query.c
index cbcf433..2c74418 100644
--- a/tests/libecal/test-ecal-get-query.c
+++ b/tests/libecal/test-ecal-get-query.c
@@ -144,9 +144,6 @@ alter_cal_cb (ECal *cal)
 	/* remove the object */
 	ecal_test_utils_cal_remove_object (cal, uid);
 
-	/* Clean-up */
-	ecal_test_utils_cal_remove (cal);
-
 	g_object_unref (e_component_final);
 	g_free (uid);
 	icalcomponent_free (component);
diff --git a/tests/libecal/test-ecal-get-timezone.c b/tests/libecal/test-ecal-get-timezone.c
index 564772a..08128d4 100644
--- a/tests/libecal/test-ecal-get-timezone.c
+++ b/tests/libecal/test-ecal-get-timezone.c
@@ -26,7 +26,5 @@ main (gint argc,
 	g_assert (!g_strcmp0 (icaltimezone_get_tzid (zone),
 			icaltimezone_get_tzid (utc_zone)));
 
-	ecal_test_utils_cal_remove (cal);
-
 	return 0;
 }
diff --git a/tests/libecal/test-ecal-modify-object.c b/tests/libecal/test-ecal-modify-object.c
index ca7cd36..ae7477a 100644
--- a/tests/libecal/test-ecal-modify-object.c
+++ b/tests/libecal/test-ecal-modify-object.c
@@ -59,9 +59,6 @@ main (gint argc,
 	ecal_test_utils_cal_assert_e_cal_components_equal (e_component,
 			e_component_final);
 
-	/* Clean-up */
-	ecal_test_utils_cal_remove (cal);
-
 	g_object_unref (e_component_final);
 	g_free (uid);
 	icalcomponent_free (component);
diff --git a/tests/libecal/test-ecal-open.c b/tests/libecal/test-ecal-open.c
index 32cbd94..ec41405 100644
--- a/tests/libecal/test-ecal-open.c
+++ b/tests/libecal/test-ecal-open.c
@@ -40,7 +40,6 @@ main (gint argc,
 	/* Sync version */
 	cal = ecal_test_utils_cal_new_temp (&uri, E_CAL_SOURCE_TYPE_EVENT);
 	ecal_test_utils_cal_open (cal, FALSE);
-	ecal_test_utils_cal_remove (cal);
 
 	/* Async version */
 	cal = ecal_test_utils_cal_new_temp (&uri, E_CAL_SOURCE_TYPE_EVENT);
@@ -52,7 +51,5 @@ main (gint argc,
 			(GSourceFunc) open_complete_cb, loop);
 	g_main_loop_run (loop);
 
-	ecal_test_utils_cal_remove (cal);
-
 	return 0;
 }
diff --git a/tests/libecal/test-ecal-receive-objects.c b/tests/libecal/test-ecal-receive-objects.c
index f96c7b4..3438f92 100644
--- a/tests/libecal/test-ecal-receive-objects.c
+++ b/tests/libecal/test-ecal-receive-objects.c
@@ -28,8 +28,6 @@ main (gint argc,
 	component = e_cal_component_get_icalcomponent (e_component);
 	ecal_test_utils_cal_receive_objects (cal, component);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_object_unref (e_component);
 	g_free (uid);
 
diff --git a/tests/libecal/test-ecal-remove-object.c b/tests/libecal/test-ecal-remove-object.c
index ffec38f..4b376d6 100644
--- a/tests/libecal/test-ecal-remove-object.c
+++ b/tests/libecal/test-ecal-remove-object.c
@@ -27,7 +27,6 @@ main (gint argc,
 	component_final = ecal_test_utils_cal_get_object (cal, uid);
 	ecal_test_utils_cal_assert_objects_equal_shallow (component, component_final);
 	ecal_test_utils_cal_remove_object (cal, uid);
-	ecal_test_utils_cal_remove (cal);
 
 	g_free (uid);
 	icalcomponent_free (component);
diff --git a/tests/libecal/test-ecal-send-objects.c b/tests/libecal/test-ecal-send-objects.c
index a5011ca..5df5329 100644
--- a/tests/libecal/test-ecal-send-objects.c
+++ b/tests/libecal/test-ecal-send-objects.c
@@ -30,8 +30,6 @@ main (gint argc,
 	component = e_cal_component_get_icalcomponent (e_component);
 	ecal_test_utils_cal_send_objects (cal, component, &users, &modified_component);
 
-	ecal_test_utils_cal_remove (cal);
-
 	g_list_foreach (users, (GFunc) g_free, NULL);
 	g_list_free (users);
 
diff --git a/tests/libecal/test-ecal-set-default-timezone.c b/tests/libecal/test-ecal-set-default-timezone.c
index 1cd1d20..637e37e 100644
--- a/tests/libecal/test-ecal-set-default-timezone.c
+++ b/tests/libecal/test-ecal-set-default-timezone.c
@@ -48,7 +48,6 @@ main (gint argc,
 	g_assert (!g_strcmp0 (icaltimezone_get_tznames (zone),
 			icaltimezone_get_tznames (zone_final)));
 
-	ecal_test_utils_cal_remove (cal);
 	icaltimezone_free (zone, TRUE);
 
 	return 0;
diff --git a/tests/libecal/test-ecal-set-mode.c b/tests/libecal/test-ecal-set-mode.c
index 503af5a..ae22f09 100644
--- a/tests/libecal/test-ecal-set-mode.c
+++ b/tests/libecal/test-ecal-set-mode.c
@@ -55,7 +55,5 @@ main (gint argc,
 
 	g_main_loop_run (loop);
 
-	ecal_test_utils_cal_remove (cal);
-
 	return 0;
 }
diff --git a/tests/libecal/test-ecal-stress-factory--fifo.c b/tests/libecal/test-ecal-stress-factory--fifo.c
index 4d75a22..9040b80 100644
--- a/tests/libecal/test-ecal-stress-factory--fifo.c
+++ b/tests/libecal/test-ecal-stress-factory--fifo.c
@@ -27,9 +27,5 @@ main (gint argc,
 		g_free (uri);
 	}
 
-	for (i = 0; i < NUM_CALS; i++) {
-		ecal_test_utils_cal_remove (cals[i]);
-	}
-
 	return 0;
 }
diff --git a/tests/libecal/test-ecal-stress-factory--open-async.c b/tests/libecal/test-ecal-stress-factory--open-async.c
index 2eb656b..a01f8c5 100644
--- a/tests/libecal/test-ecal-stress-factory--open-async.c
+++ b/tests/libecal/test-ecal-stress-factory--open-async.c
@@ -18,7 +18,6 @@ static void
 open_complete_cb (ECalTestClosure *closure)
 {
 	g_source_remove (open_timeout_id);
-	ecal_test_utils_cal_remove (closure->cal);
 
 	cals_processed++;
 
diff --git a/tests/libecal/test-ecal-stress-factory--serial.c b/tests/libecal/test-ecal-stress-factory--serial.c
index 97011c1..c9f90cb 100644
--- a/tests/libecal/test-ecal-stress-factory--serial.c
+++ b/tests/libecal/test-ecal-stress-factory--serial.c
@@ -23,7 +23,6 @@ main (gint argc,
 		cal = ecal_test_utils_cal_new_temp (&uri,
 				E_CAL_SOURCE_TYPE_EVENT);
 		ecal_test_utils_cal_open (cal, FALSE);
-		ecal_test_utils_cal_remove (cal);
 
 		g_free (uri);
 	}
diff --git a/tests/libecal/test-ecal-stress-factory--single-cal.c b/tests/libecal/test-ecal-stress-factory--single-cal.c
index 8193eb5..f8c87f7 100644
--- a/tests/libecal/test-ecal-stress-factory--single-cal.c
+++ b/tests/libecal/test-ecal-stress-factory--single-cal.c
@@ -20,6 +20,9 @@ main (gint argc,
 	cal = ecal_test_utils_cal_new_temp (&uri, E_CAL_SOURCE_TYPE_EVENT);
 	g_object_unref (cal);
 
+	/* FIXME We don't build ECals from URIs anymore. */
+
+#if 0
 	/* open and close the same calendar repeatedly */
 	for (i = 0; i < NUM_OPENS - 1; i++) {
 		cal = ecal_test_utils_cal_new_from_uri (uri,
@@ -29,7 +32,7 @@ main (gint argc,
 	}
 
 	cal = ecal_test_utils_cal_new_from_uri (uri, E_CAL_SOURCE_TYPE_EVENT);
-	ecal_test_utils_cal_remove (cal);
+#endif
 
 	g_free (uri);
 
diff --git a/tests/libecal/test-ecal.c b/tests/libecal/test-ecal.c
index 423ceb6..c4b1fb7 100644
--- a/tests/libecal/test-ecal.c
+++ b/tests/libecal/test-ecal.c
@@ -335,24 +335,6 @@ test_get_alarms_in_range (ECal *client)
 }
 
 static const gchar *
-test_set_uri (ECal *client,
-              const gchar *uri)
-{
-	/* The uri is set as part of create_client call. This method merely
-	 * verifies it was done correctly.
-	 */
-	gchar *cal_uri;
-	gboolean compare = 0;
-	cal_uri = g_strconcat ("file://", uri, NULL);
-	compare = !strcmp (e_cal_get_uri (client), cal_uri);
-
-	g_free (cal_uri);
-	mu_assert ("Test set_uri : uri was not set correctly\n", compare);
-
-	return NULL;
-}
-
-static const gchar *
 test_cal_loaded (ECal *client)
 {
 	/* Test one loaded calendar and another that is not loaded. */
@@ -367,13 +349,13 @@ static const gchar *
 test_get_source (ECal *client,
                  const gchar *expected)
 {
-	ESource *source;
-	gchar *uri;
+	const gchar *uri;
 	gchar *cal_uri;
 	gboolean compare = 0;
 
-	source = e_cal_get_source (client);
-	uri = e_source_get_uri (source);
+	/* FIXME ESources no longer have built-in URIs. */
+	/* uri = e_source_get_uri (source); */
+	uri = "";
 	cal_uri = g_strconcat ("file://", expected, NULL);
 	compare = !strcmp (expected, uri);
 
@@ -466,6 +448,7 @@ test_e_cal_remove (ECal *ecal,
 static const gchar *
 test_new_system_calendar (void)
 {
+#if 0  /* ACCOUNT_MGMT */
 	const gchar *user_data_dir;
 	gchar *filename;
 	gboolean created;
@@ -479,6 +462,7 @@ test_new_system_calendar (void)
 	g_free (filename);
 
 	mu_assert ("Test creation of default system calendar : Failed", created);
+#endif /* ACCOUNT_MGMT */
 
 	return NULL;
 }
@@ -486,6 +470,7 @@ test_new_system_calendar (void)
 static const gchar *
 test_new_system_tasks (void)
 {
+#if 0  /* ACCOUNT_MGMT */
 	const gchar *user_data_dir;
 	gchar *filename;
 	gboolean created;
@@ -499,6 +484,7 @@ test_new_system_tasks (void)
 	g_free (filename);
 
 	mu_assert ("Test creation of default system tasks : Failed", created);
+#endif /* ACCOUNT_MGMT */
 
 	return NULL;
 }
@@ -506,6 +492,7 @@ test_new_system_tasks (void)
 static const gchar *
 test_new_system_memos (void)
 {
+#if 0  /* ACCOUNT_MGMT */
 	const gchar *user_data_dir;
 	gchar *filename;
 	gboolean created;
@@ -519,6 +506,7 @@ test_new_system_memos (void)
 	g_free (filename);
 
 	mu_assert ("Test creation of default system memos : Failed", created);
+#endif /* ACCOUNT_MGMT */
 
 	return NULL;
 }
@@ -655,7 +643,6 @@ all_tests (ECal *client,
 	mu_run_test (test_new_system_calendar ());
 	mu_run_test (test_new_system_tasks ());
 	mu_run_test (test_new_system_memos ());
-	mu_run_test (test_set_uri (client, uri));
 	mu_run_test (test_get_source (client, uri));
 	mu_run_test (test_cal_loaded (client));
 
@@ -698,7 +685,9 @@ create_client (ECal **client,
 	GError *error = NULL;
 
 	cal_uri = g_strconcat ("file://", uri, NULL);
-	*client = e_cal_new_from_uri (cal_uri, type);
+	/* FIXME We don't build ECals from URIs anymore. */
+	/* *client = e_cal_new_from_uri (cal_uri, type); */
+	*client = NULL;
 	if (!*client) {
 		g_message (G_STRLOC ": could not create the client");
 		exit (1);
diff --git a/tests/libecal/test-recur.c b/tests/libecal/test-recur.c
index 3e3f29f..ea261e1 100644
--- a/tests/libecal/test-recur.c
+++ b/tests/libecal/test-recur.c
@@ -16,7 +16,9 @@ main (gint argc,
 		exit (0);
 	}
 
-	ecal = e_cal_new_from_uri (argv[1], E_CAL_SOURCE_TYPE_EVENT);
+	/* FIXME We don't build ECals from URIs anymore. */
+	/* ecal = e_cal_new_from_uri (argv[1], E_CAL_SOURCE_TYPE_EVENT); */
+	ecal = NULL;
 
 	if (!e_cal_open (ecal, TRUE, NULL)) {
 		printf ("failed to open calendar\n");
diff --git a/tests/libecal/test-search.c b/tests/libecal/test-search.c
index e20496c..1b561ec 100644
--- a/tests/libecal/test-search.c
+++ b/tests/libecal/test-search.c
@@ -17,7 +17,9 @@ main (gint argc,
 		exit (0);
 	}
 
-	ecal = e_cal_new_from_uri (argv[1], E_CAL_SOURCE_TYPE_EVENT);
+	/* FIXME We don't build ECals from URIs anymore. */
+	/* ecal = e_cal_new_from_uri (argv[1], E_CAL_SOURCE_TYPE_EVENT); */
+	ecal = NULL;
 
 	if (!e_cal_open (ecal, TRUE, NULL)) {
 		printf ("failed to open calendar\n");



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]