[evolution-data-server/wip/mcrha/libical-glib] Replace EDataCalCallStatus with EClientError/ECalClientError



commit f72eb2aa3f231d495e591e364ae0b876ab0d9fdf
Author: Milan Crha <mcrha redhat com>
Date:   Wed Apr 3 15:01:28 2019 +0200

    Replace EDataCalCallStatus with EClientError/ECalClientError
    
    It had been transformed into the EClientError/ECalClientError anyway,
    not talking that the enum values were not with the correct syntax.

 .../backends/caldav/e-cal-backend-caldav.c         |  32 +--
 .../backends/contacts/e-cal-backend-contacts.c     |  25 +-
 src/calendar/backends/file/e-cal-backend-file.c    |  84 +++---
 .../backends/gtasks/e-cal-backend-gtasks.c         |  20 +-
 src/calendar/backends/http/e-cal-backend-http.c    |  13 +-
 .../backends/weather/e-cal-backend-weather.c       |  19 +-
 src/calendar/libecal/e-cal-client.c                |  61 +++++
 src/calendar/libecal/e-cal-client.h                |  11 +-
 src/calendar/libedata-cal/e-cal-backend-sync.c     |   4 +-
 src/calendar/libedata-cal/e-cal-meta-backend.c     |  80 +++---
 src/calendar/libedata-cal/e-data-cal.c             | 286 ---------------------
 src/calendar/libedata-cal/e-data-cal.h             |  85 ------
 src/libedataserver/e-client.c                      |  55 +++-
 src/libedataserver/e-client.h                      |  12 +-
 tests/libedata-cal/test-cal-meta-backend.c         |  32 +--
 15 files changed, 278 insertions(+), 541 deletions(-)
---
diff --git a/src/calendar/backends/caldav/e-cal-backend-caldav.c 
b/src/calendar/backends/caldav/e-cal-backend-caldav.c
index 614eed834..7ce3b611f 100644
--- a/src/calendar/backends/caldav/e-cal-backend-caldav.c
+++ b/src/calendar/backends/caldav/e-cal-backend-caldav.c
@@ -30,8 +30,8 @@
 
 #define E_CALDAV_X_ETAG "X-EVOLUTION-CALDAV-ETAG"
 
-#define EDC_ERROR(_code) e_data_cal_create_error (_code, NULL)
-#define EDC_ERROR_EX(_code, _msg) e_data_cal_create_error (_code, _msg)
+#define ECC_ERROR(_code) e_cal_client_error_create (_code, NULL)
+#define ECC_ERROR_EX(_code, _msg) e_cal_client_error_create (_code, _msg)
 
 struct _ECalBackendCalDAVPrivate {
        /* The main WebDAV session  */
@@ -662,19 +662,19 @@ ecb_caldav_check_credentials_error (ECalBackendCalDAV *cbdav,
        g_return_if_fail (E_IS_CAL_BACKEND_CALDAV (cbdav));
 
        if (g_error_matches (op_error, SOUP_HTTP_ERROR, SOUP_STATUS_SSL_FAILED) && webdav) {
-               op_error->domain = E_DATA_CAL_ERROR;
-               op_error->code = TLSNotAvailable;
+               op_error->domain = E_CLIENT_ERROR;
+               op_error->code = E_CLIENT_ERROR_TLS_NOT_AVAILABLE;
        } else if (g_error_matches (op_error, SOUP_HTTP_ERROR, SOUP_STATUS_UNAUTHORIZED) ||
                   g_error_matches (op_error, SOUP_HTTP_ERROR, SOUP_STATUS_FORBIDDEN)) {
-               op_error->domain = E_DATA_CAL_ERROR;
-               op_error->code = AuthenticationRequired;
+               op_error->domain = E_CLIENT_ERROR;
+               op_error->code = E_CLIENT_ERROR_AUTHENTICATION_REQUIRED;
 
                if (webdav) {
                        ENamedParameters *credentials;
 
                        credentials = e_soup_session_dup_credentials (E_SOUP_SESSION (webdav));
                        if (credentials && e_named_parameters_count (credentials) > 0)
-                               op_error->code = AuthenticationFailed;
+                               op_error->code = E_CLIENT_ERROR_AUTHENTICATION_FAILED;
 
                        e_named_parameters_free (credentials);
                }
@@ -1138,7 +1138,7 @@ ecb_caldav_load_component_sync (ECalMetaBackend *meta_backend,
                                g_free (last_sync_tag);
                                g_free (new_sync_tag);
 
-                               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
 
                                return FALSE;
                        }
@@ -1191,11 +1191,11 @@ ecb_caldav_load_component_sync (ECalMetaBackend *meta_backend,
                        success = FALSE;
 
                        if (!href)
-                               g_propagate_error (&local_error, EDC_ERROR_EX (InvalidObject, _("Server 
didn’t return object’s href")));
+                               g_propagate_error (&local_error, ECC_ERROR_EX 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, _("Server didn’t return object’s href")));
                        else if (!etag)
-                               g_propagate_error (&local_error, EDC_ERROR_EX (InvalidObject, _("Server 
didn’t return object’s ETag")));
+                               g_propagate_error (&local_error, ECC_ERROR_EX 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, _("Server didn’t return object’s ETag")));
                        else
-                               g_propagate_error (&local_error, EDC_ERROR (InvalidObject));
+                               g_propagate_error (&local_error, ECC_ERROR 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                } else if (out_extra) {
                        *out_extra = g_strdup (href);
                }
@@ -1322,10 +1322,10 @@ ecb_caldav_save_component_sync (ECalMetaBackend *meta_backend,
                g_free (new_etag);
        } else if (uid && ical_string) {
                success = FALSE;
-               g_propagate_error (error, EDC_ERROR_EX (InvalidObject, _("Missing information about component 
URL, local cache is possibly incomplete or broken. Remove it, please.")));
+               g_propagate_error (error, ECC_ERROR_EX (E_CAL_CLIENT_ERROR_INVALID_OBJECT, _("Missing 
information about component URL, local cache is possibly incomplete or broken. Remove it, please.")));
        } else {
                success = FALSE;
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
        }
 
        g_object_unref (vcalendar);
@@ -1368,13 +1368,13 @@ ecb_caldav_remove_component_sync (ECalMetaBackend *meta_backend,
        cbdav = E_CAL_BACKEND_CALDAV (meta_backend);
 
        if (!extra || !*extra) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return FALSE;
        }
 
        icomp = i_cal_component_new_from_string (object);
        if (!icomp) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return FALSE;
        }
 
@@ -1600,7 +1600,7 @@ ecb_caldav_extract_objects (ICalComponent *icomp,
        }
 
        if (kind != I_CAL_VCALENDAR_COMPONENT) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return;
        }
 
diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c 
b/src/calendar/backends/contacts/e-cal-backend-contacts.c
index 03d69c8ea..d9cff70ef 100644
--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c
+++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c
@@ -36,7 +36,8 @@
        (G_TYPE_INSTANCE_GET_PRIVATE \
        ((obj), E_TYPE_CAL_BACKEND_CONTACTS, ECalBackendContactsPrivate))
 
-#define EDC_ERROR(_code) e_data_cal_create_error (_code, NULL)
+#define EC_ERROR(_code) e_client_error_create (_code, NULL)
+#define ECC_ERROR(_code) e_cal_client_error_create (_code, NULL)
 
 G_DEFINE_TYPE (
        ECalBackendContacts,
@@ -1082,14 +1083,14 @@ e_cal_backend_contacts_get_object (ECalBackendSync *backend,
        gchar *real_uid;
 
        if (!uid) {
-               g_propagate_error (perror, EDC_ERROR (ObjectNotFound));
+               g_propagate_error (perror, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                return;
        } else if (g_str_has_suffix (uid, ANNIVERSARY_UID_EXT))
                real_uid = g_strndup (uid, strlen (uid) - strlen (ANNIVERSARY_UID_EXT));
        else if (g_str_has_suffix (uid, BIRTHDAY_UID_EXT))
                real_uid = g_strndup (uid, strlen (uid) - strlen (BIRTHDAY_UID_EXT));
        else {
-               g_propagate_error (perror, EDC_ERROR (ObjectNotFound));
+               g_propagate_error (perror, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                return;
        }
 
@@ -1099,7 +1100,7 @@ e_cal_backend_contacts_get_object (ECalBackendSync *backend,
 
        if (!record) {
                g_rec_mutex_unlock (&priv->tracked_contacts_lock);
-               g_propagate_error (perror, EDC_ERROR (ObjectNotFound));
+               g_propagate_error (perror, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                return;
        }
 
@@ -1123,7 +1124,7 @@ e_cal_backend_contacts_get_object (ECalBackendSync *backend,
 
        d (g_message ("Returning nothing for uid: %s", uid));
 
-       g_propagate_error (perror, EDC_ERROR (ObjectNotFound));
+       g_propagate_error (perror, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
 }
 
 static void
@@ -1164,7 +1165,7 @@ e_cal_backend_contacts_receive_objects (ECalBackendSync *backend,
                                        guint32 opflags,
                                         GError **perror)
 {
-       g_propagate_error (perror, EDC_ERROR (PermissionDenied));
+       g_propagate_error (perror, EC_ERROR (E_CLIENT_ERROR_PERMISSION_DENIED));
 }
 
 static void
@@ -1180,7 +1181,7 @@ e_cal_backend_contacts_send_objects (ECalBackendSync *backend,
        *users = NULL;
        *modified_calobj = NULL;
        /* TODO: Investigate this */
-       g_propagate_error (perror, EDC_ERROR (PermissionDenied));
+       g_propagate_error (perror, EC_ERROR (E_CLIENT_ERROR_PERMISSION_DENIED));
 }
 
 /* Then the real implementations */
@@ -1227,13 +1228,13 @@ e_cal_backend_contacts_add_timezone (ECalBackendSync *backend,
 
        tz_comp = i_cal_parser_parse_string (tzobj);
        if (!tz_comp) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return;
        }
 
        if (i_cal_component_isa (tz_comp) != I_CAL_VTIMEZONE_COMPONENT) {
                g_object_unref (tz_comp);
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return;
        }
 
@@ -1259,7 +1260,7 @@ e_cal_backend_contacts_get_object_list (ECalBackendSync *backend,
        ContactRecordCB *cb_data;
 
        if (!sexp) {
-               g_propagate_error (perror, EDC_ERROR (InvalidQuery));
+               g_propagate_error (perror, EC_ERROR (E_CLIENT_ERROR_INVALID_QUERY));
                return;
        }
 
@@ -1285,7 +1286,7 @@ e_cal_backend_contacts_start_view (ECalBackend *backend,
 
        sexp = e_data_cal_view_get_sexp (query);
        if (!sexp) {
-               GError *error = EDC_ERROR (InvalidQuery);
+               GError *error = ECC_ERROR (E_CLIENT_ERROR_INVALID_QUERY);
                e_data_cal_view_notify_complete (query, error);
                g_error_free (error);
                return;
@@ -1414,7 +1415,7 @@ e_cal_backend_contacts_create_objects (ECalBackendSync *backend,
                                        GSList **new_components,
                                        GError **perror)
 {
-       g_propagate_error (perror, EDC_ERROR (PermissionDenied));
+       g_propagate_error (perror, EC_ERROR (E_CLIENT_ERROR_PERMISSION_DENIED));
 }
 
 /* Class initialization function for the contacts backend */
diff --git a/src/calendar/backends/file/e-cal-backend-file.c b/src/calendar/backends/file/e-cal-backend-file.c
index 466988773..7505d5006 100644
--- a/src/calendar/backends/file/e-cal-backend-file.c
+++ b/src/calendar/backends/file/e-cal-backend-file.c
@@ -42,8 +42,10 @@
        (G_TYPE_INSTANCE_GET_PRIVATE \
        ((obj), E_TYPE_CAL_BACKEND_FILE, ECalBackendFilePrivate))
 
-#define EDC_ERROR(_code) e_data_cal_create_error (_code, NULL)
-#define EDC_ERROR_NO_URI() e_data_cal_create_error (OtherError, "Cannot get URI")
+#define EC_ERROR(_code) e_client_error_create (_code, NULL)
+#define EC_ERROR_EX(_code, _msg) e_client_error_create (_code, _msg)
+#define EC_ERROR_NO_URI() e_client_error_create (E_CLIENT_ERROR_OTHER_ERROR, _("Cannot get URI"))
+#define ECC_ERROR(_code) e_cal_client_error_create (_code, NULL)
 
 #define ECAL_REVISION_X_PROP  "X-EVOLUTION-DATA-REVISION"
 
@@ -1167,7 +1169,7 @@ open_cal (ECalBackendFile *cbfile,
 
        icomp = e_cal_util_parse_ics_file (uristr);
        if (!icomp) {
-               g_propagate_error (perror, e_data_cal_create_error_fmt (OtherError, "Cannot parse ISC file 
'%s'", uristr));
+               g_propagate_error (perror, e_client_error_create_fmt (E_CLIENT_ERROR_OTHER_ERROR, _("Cannot 
parse ISC file “%s”"), uristr));
                return;
        }
 
@@ -1178,7 +1180,7 @@ open_cal (ECalBackendFile *cbfile,
        if (i_cal_component_isa (icomp) != I_CAL_VCALENDAR_COMPONENT) {
                g_object_unref (icomp);
 
-               g_propagate_error (perror, e_data_cal_create_error_fmt (OtherError, "File '%s' is not v 
VCALENDAR component", uristr));
+               g_propagate_error (perror, e_client_error_create_fmt (E_CLIENT_ERROR_OTHER_ERROR, _("File 
“%s” is not a VCALENDAR component"), uristr));
                return;
        }
 
@@ -1296,7 +1298,7 @@ reload_cal (ECalBackendFile *cbfile,
 
        icomp = e_cal_util_parse_ics_file (uristr);
        if (!icomp) {
-               g_propagate_error (perror, e_data_cal_create_error_fmt (OtherError, "Cannot parse ISC file 
'%s'", uristr));
+               g_propagate_error (perror, e_client_error_create_fmt (E_CLIENT_ERROR_OTHER_ERROR, _("Cannot 
parse ISC file “%s”"), uristr));
                return;
        }
 
@@ -1307,7 +1309,7 @@ reload_cal (ECalBackendFile *cbfile,
        if (i_cal_component_isa (icomp) != I_CAL_VCALENDAR_COMPONENT) {
                g_object_unref (icomp);
 
-               g_propagate_error (perror, e_data_cal_create_error_fmt (OtherError, "File '%s' is not v 
VCALENDAR component", uristr));
+               g_propagate_error (perror, e_client_error_create_fmt (E_CLIENT_ERROR_OTHER_ERROR, _("File 
“%s” is not a VCALENDAR component"), uristr));
                return;
        }
 
@@ -1361,7 +1363,7 @@ create_cal (ECalBackendFile *cbfile,
        dirname = g_path_get_dirname (uristr);
        if (g_mkdir_with_parents (dirname, 0700) != 0) {
                g_free (dirname);
-               g_propagate_error (perror, EDC_ERROR (NoSuchCal));
+               g_propagate_error (perror, ECC_ERROR (E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR));
                return;
        }
 
@@ -1465,7 +1467,7 @@ e_cal_backend_file_open (ECalBackendSync *backend,
 
        str_uri = get_uri_string (E_CAL_BACKEND (backend));
        if (!str_uri) {
-               err = EDC_ERROR_NO_URI ();
+               err = EC_ERROR_NO_URI ();
                goto done;
        }
 
@@ -1476,7 +1478,7 @@ e_cal_backend_file_open (ECalBackendSync *backend,
                        writable = FALSE;
        } else {
                if (only_if_exists)
-                       err = EDC_ERROR (NoSuchCal);
+                       err = ECC_ERROR (E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR);
                else
                        create_cal (cbfile, str_uri, &err);
        }
@@ -1554,7 +1556,7 @@ e_cal_backend_file_get_object (ECalBackendSync *backend,
        obj_data = g_hash_table_lookup (priv->comp_uid_hash, uid);
        if (!obj_data) {
                g_rec_mutex_unlock (&priv->idle_save_rmutex);
-               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                return;
        }
 
@@ -1570,7 +1572,7 @@ e_cal_backend_file_get_object (ECalBackendSync *backend,
 
                        if (!obj_data->full_object) {
                                g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                                return;
                        }
 
@@ -1582,7 +1584,7 @@ e_cal_backend_file_get_object (ECalBackendSync *backend,
 
                        if (!icomp) {
                                g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                                return;
                        }
 
@@ -1631,7 +1633,7 @@ e_cal_backend_file_add_timezone (ECalBackendSync *backend,
 
        tz_comp = i_cal_parser_parse_string (tzobj);
        if (!tz_comp) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return;
        }
 
@@ -1759,7 +1761,7 @@ e_cal_backend_file_get_object_list (ECalBackendSync *backend,
 
        match_data.obj_sexp = e_cal_backend_sexp_new (sexp);
        if (!match_data.obj_sexp) {
-               g_propagate_error (perror, EDC_ERROR (InvalidQuery));
+               g_propagate_error (perror, EC_ERROR (E_CLIENT_ERROR_INVALID_QUERY));
                return;
        }
 
@@ -1864,7 +1866,7 @@ e_cal_backend_file_get_attachment_uris (ECalBackendSync *backend,
        obj_data = g_hash_table_lookup (priv->comp_uid_hash, uid);
        if (!obj_data) {
                g_rec_mutex_unlock (&priv->idle_save_rmutex);
-               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                return;
        }
 
@@ -1880,7 +1882,7 @@ e_cal_backend_file_get_attachment_uris (ECalBackendSync *backend,
 
                        if (!obj_data->full_object) {
                                g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                                return;
                        }
 
@@ -1891,7 +1893,7 @@ e_cal_backend_file_get_attachment_uris (ECalBackendSync *backend,
                        g_object_unref (itt);
                        if (!icomp) {
                                g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                                return;
                        }
 
@@ -1948,7 +1950,7 @@ e_cal_backend_file_start_view (ECalBackend *backend,
                match_data.search_needed = FALSE;
 
        if (!match_data.obj_sexp) {
-               GError *error = EDC_ERROR (InvalidQuery);
+               GError *error = EC_ERROR (E_CLIENT_ERROR_INVALID_QUERY);
                e_data_cal_view_notify_complete (query, error);
                g_error_free (error);
                return;
@@ -2296,7 +2298,7 @@ e_cal_backend_file_create_objects (ECalBackendSync *backend,
                if (!icomp) {
                        g_slist_free_full (icomps, g_object_unref);
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (InvalidObject));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                        return;
                }
 
@@ -2307,7 +2309,7 @@ e_cal_backend_file_create_objects (ECalBackendSync *backend,
                if (i_cal_component_isa (icomp) != e_cal_backend_get_kind (E_CAL_BACKEND (backend))) {
                        g_slist_free_full (icomps, g_object_unref);
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (InvalidObject));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                        return;
                }
 
@@ -2320,7 +2322,7 @@ e_cal_backend_file_create_objects (ECalBackendSync *backend,
                        if (!new_uid) {
                                g_slist_free_full (icomps, g_object_unref);
                                g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                               g_propagate_error (error, EDC_ERROR (InvalidObject));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                                return;
                        }
 
@@ -2334,7 +2336,7 @@ e_cal_backend_file_create_objects (ECalBackendSync *backend,
                if (uid_in_use (cbfile, comp_uid)) {
                        g_slist_free_full (icomps, g_object_unref);
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (ObjectIdAlreadyExists));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_ID_ALREADY_EXISTS));
                        return;
                }
        }
@@ -2471,7 +2473,7 @@ e_cal_backend_file_modify_objects (ECalBackendSync *backend,
        case E_CAL_OBJ_MOD_ALL:
                break;
        default:
-               g_propagate_error (error, EDC_ERROR (NotSupported));
+               g_propagate_error (error, EC_ERROR (E_CLIENT_ERROR_NOT_SUPPORTED));
                return;
        }
 
@@ -2492,7 +2494,7 @@ e_cal_backend_file_modify_objects (ECalBackendSync *backend,
                if (!icomp) {
                        g_slist_free_full (icomps, g_object_unref);
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (InvalidObject));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                        return;
                }
 
@@ -2502,7 +2504,7 @@ e_cal_backend_file_modify_objects (ECalBackendSync *backend,
                if (i_cal_component_isa (icomp) != e_cal_backend_get_kind (E_CAL_BACKEND (backend))) {
                        g_slist_free_full (icomps, g_object_unref);
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (InvalidObject));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                        return;
                }
 
@@ -2513,7 +2515,7 @@ e_cal_backend_file_modify_objects (ECalBackendSync *backend,
                if (!g_hash_table_lookup (priv->comp_uid_hash, comp_uid)) {
                        g_slist_free_full (icomps, g_object_unref);
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                        return;
                }
        }
@@ -2878,7 +2880,7 @@ remove_instance (ECalBackendFile *cbfile,
                        g_hash_table_remove (obj_data->recurrences, rid);
                } else if (mod == E_CAL_OBJ_MOD_ONLY_THIS) {
                        if (error)
-                               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                        return obj_data;
                } else {
                        /* not an error, only add EXDATE */
@@ -2950,7 +2952,7 @@ remove_instance (ECalBackendFile *cbfile,
                         * caller about this? Not an error with
                         * E_CAL_OBJ_MOD_THIS. */
                        if (mod == E_CAL_OBJ_MOD_ONLY_THIS && error)
-                               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                        return obj_data;
                }
 
@@ -3062,7 +3064,7 @@ e_cal_backend_file_remove_objects (ECalBackendSync *backend,
        case E_CAL_OBJ_MOD_ALL:
                break;
        default:
-               g_propagate_error (error, EDC_ERROR (NotSupported));
+               g_propagate_error (error, EC_ERROR (E_CLIENT_ERROR_NOT_SUPPORTED));
                return;
        }
 
@@ -3076,7 +3078,7 @@ e_cal_backend_file_remove_objects (ECalBackendSync *backend,
                /* Make the ID contains a uid */
                if (!id || !e_cal_component_id_get_uid (id)) {
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                        return;
                }
                                /* Check that it has a recurrence id if mod is E_CAL_OBJ_MOD_THIS_AND_PRIOR
@@ -3084,13 +3086,13 @@ e_cal_backend_file_remove_objects (ECalBackendSync *backend,
                if ((mod == E_CAL_OBJ_MOD_THIS_AND_PRIOR || mod == E_CAL_OBJ_MOD_THIS_AND_FUTURE) &&
                    !e_cal_component_id_get_rid (id)) {
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                        return;
                }
                                /* Make sure the uid exists in the local hash table */
                if (!g_hash_table_lookup (priv->comp_uid_hash, e_cal_component_id_get_uid (id))) {
                        g_rec_mutex_unlock (&priv->idle_save_rmutex);
-                       g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+                       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                        return;
                }
        }
@@ -3385,7 +3387,7 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
        /* Pull the component from the string and ensure that it is sane */
        toplevel_comp = i_cal_parser_parse_string (calobj);
        if (!toplevel_comp) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return;
        }
 
@@ -3443,7 +3445,7 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
                i_cal_component_foreach_tzid (subcomp, check_tzids, &tzdata);
 
                if (!tzdata.found) {
-                       err = EDC_ERROR (InvalidObject);
+                       err = ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT);
                        g_object_unref (subcomp);
                        goto error;
                }
@@ -3456,7 +3458,7 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
                                i_cal_component_set_uid (subcomp, new_uid);
                                g_free (new_uid);
                        } else {
-                               err = EDC_ERROR (InvalidObject);
+                               err = ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT);
                                g_object_unref (subcomp);
                                goto error;
                        }
@@ -3598,19 +3600,19 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
                        break;
                case ICAL_METHOD_ADD:
                        /* FIXME This should be doable once all the recurid stuff is done */
-                       err = EDC_ERROR (UnsupportedMethod);
+                       err = EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR, _("Unsupported method"));
                        g_object_unref (comp);
                        g_free (rid);
                        goto error;
                        break;
                case ICAL_METHOD_COUNTER:
-                       err = EDC_ERROR (UnsupportedMethod);
+                       err = EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR, _("Unsupported method"));
                        g_object_unref (comp);
                        g_free (rid);
                        goto error;
                        break;
                case ICAL_METHOD_DECLINECOUNTER:
-                       err = EDC_ERROR (UnsupportedMethod);
+                       err = EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR, _("Unsupported method"));
                        g_object_unref (comp);
                        g_free (rid);
                        goto error;
@@ -3637,7 +3639,7 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
                        g_free (rid);
                        break;
                default:
-                       err = EDC_ERROR (UnsupportedMethod);
+                       err = EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR, _("Unsupported method"));
                        g_object_unref (comp);
                        g_free (rid);
                        goto error;
@@ -3914,7 +3916,7 @@ e_cal_backend_file_reload (ECalBackendFile *cbfile,
 
        str_uri = get_uri_string (E_CAL_BACKEND (cbfile));
        if (!str_uri) {
-               err = EDC_ERROR_NO_URI ();
+               err = EC_ERROR_NO_URI ();
                goto done;
        }
 
@@ -3925,7 +3927,7 @@ e_cal_backend_file_reload (ECalBackendFile *cbfile,
                if (g_access (str_uri, W_OK) != 0)
                        writable = FALSE;
        } else {
-               err = EDC_ERROR (NoSuchCal);
+               err = ECC_ERROR (E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR);
        }
 
        g_free (str_uri);
diff --git a/src/calendar/backends/gtasks/e-cal-backend-gtasks.c 
b/src/calendar/backends/gtasks/e-cal-backend-gtasks.c
index 6b92f257f..c1d7c0ff2 100644
--- a/src/calendar/backends/gtasks/e-cal-backend-gtasks.c
+++ b/src/calendar/backends/gtasks/e-cal-backend-gtasks.c
@@ -27,8 +27,8 @@
 
 #define d(x)
 
-#define EDC_ERROR(_code) e_data_cal_create_error (_code, NULL)
-#define EDC_ERROR_EX(_code, _msg) e_data_cal_create_error (_code, _msg)
+#define ECC_ERROR(_code) e_cal_client_error_create (_code, NULL)
+#define ECC_ERROR_EX(_code, _msg) e_cal_client_error_create (_code, _msg)
 
 #define GTASKS_DEFAULT_TASKLIST_NAME "@default"
 #define X_EVO_GTASKS_SELF_LINK "X-EVOLUTION-GTASKS-SELF-LINK"
@@ -856,7 +856,7 @@ ecb_gtasks_load_component_sync (ECalMetaBackend *meta_backend,
                }
        }
 
-       g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+       g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
 
        return FALSE;
 }
@@ -888,7 +888,7 @@ ecb_gtasks_save_component_sync (ECalMetaBackend *meta_backend,
        cbgtasks = E_CAL_BACKEND_GTASKS (meta_backend);
 
        if (g_slist_length ((GSList *) instances) != 1) {
-               g_propagate_error (error, EDC_ERROR (InvalidArg));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_INVALID_ARG, NULL));
                g_clear_object (&cal_cache);
                return FALSE;
        }
@@ -896,7 +896,7 @@ ecb_gtasks_save_component_sync (ECalMetaBackend *meta_backend,
        comp = instances->data;
 
        if (!comp) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                g_clear_object (&cal_cache);
                return FALSE;
        }
@@ -912,7 +912,7 @@ ecb_gtasks_save_component_sync (ECalMetaBackend *meta_backend,
        g_clear_object (&cal_cache);
 
        if (!comp_task) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return FALSE;
        }
 
@@ -934,7 +934,7 @@ ecb_gtasks_save_component_sync (ECalMetaBackend *meta_backend,
        g_object_unref (new_task);
 
        if (!comp) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return FALSE;
        }
 
@@ -942,7 +942,7 @@ ecb_gtasks_save_component_sync (ECalMetaBackend *meta_backend,
 
        if (!uid) {
                g_object_unref (comp);
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return FALSE;
        }
 
@@ -977,7 +977,7 @@ ecb_gtasks_remove_component_sync (ECalMetaBackend *meta_backend,
 
        cached_comp = e_cal_component_new_from_string (object);
        if (!cached_comp) {
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return FALSE;
        }
 
@@ -986,7 +986,7 @@ ecb_gtasks_remove_component_sync (ECalMetaBackend *meta_backend,
        task = ecb_gtasks_comp_to_gdata (cached_comp, NULL, FALSE);
        if (!task) {
                g_object_unref (cached_comp);
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
 
                return FALSE;
        }
diff --git a/src/calendar/backends/http/e-cal-backend-http.c b/src/calendar/backends/http/e-cal-backend-http.c
index 4491a2626..6b722be15 100644
--- a/src/calendar/backends/http/e-cal-backend-http.c
+++ b/src/calendar/backends/http/e-cal-backend-http.c
@@ -29,8 +29,9 @@
 
 #include "e-cal-backend-http.h"
 
-#define EDC_ERROR(_code) e_data_cal_create_error (_code, NULL)
-#define EDC_ERROR_EX(_code, _msg) e_data_cal_create_error (_code, _msg)
+#define EC_ERROR(_code) e_client_error_create (_code, NULL)
+#define EC_ERROR_EX(_code, _msg) e_client_error_create (_code, _msg)
+#define ECC_ERROR(_code) e_cal_client_error_create (_code, NULL)
 
 G_DEFINE_TYPE (ECalBackendHttp, e_cal_backend_http, E_TYPE_CAL_META_BACKEND)
 
@@ -165,7 +166,7 @@ ecb_http_connect_sync (ECalMetaBackend *meta_backend,
                g_rec_mutex_unlock (&cbhttp->priv->conn_lock);
                g_free (uri);
 
-               g_propagate_error (error, EDC_ERROR_EX (OtherError, _("URI not set")));
+               g_propagate_error (error, EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR, _("URI not set")));
                return FALSE;
        }
 
@@ -244,7 +245,7 @@ ecb_http_connect_sync (ECalMetaBackend *meta_backend,
        } else {
                e_source_set_connection_status (source, E_SOURCE_CONNECTION_STATUS_DISCONNECTED);
 
-               g_set_error (error, E_DATA_CAL_ERROR, OtherError, _("Malformed URI “%s”: %s"),
+               g_set_error (error, E_CLIENT_ERROR, E_CLIENT_ERROR_OTHER_ERROR, _("Malformed URI “%s”: %s"),
                        uri, local_error ? local_error->message : _("Unknown error"));
        }
 
@@ -332,7 +333,7 @@ ecb_http_get_changes_sync (ECalMetaBackend *meta_backend,
 
        if (!cbhttp->priv->request || !cbhttp->priv->input_stream) {
                g_rec_mutex_unlock (&cbhttp->priv->conn_lock);
-               g_propagate_error (error, EDC_ERROR (RepositoryOffline));
+               g_propagate_error (error, EC_ERROR (E_CLIENT_ERROR_REPOSITORY_OFFLINE));
                return FALSE;
        }
 
@@ -576,7 +577,7 @@ ecb_http_load_component_sync (ECalMetaBackend *meta_backend,
 
        if (!cbhttp->priv->components ||
            !g_hash_table_contains (cbhttp->priv->components, uid)) {
-               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                return FALSE;
        }
 
diff --git a/src/calendar/backends/weather/e-cal-backend-weather.c 
b/src/calendar/backends/weather/e-cal-backend-weather.c
index 5ccff4cac..0fa5513f1 100644
--- a/src/calendar/backends/weather/e-cal-backend-weather.c
+++ b/src/calendar/backends/weather/e-cal-backend-weather.c
@@ -33,8 +33,9 @@
        (G_TYPE_INSTANCE_GET_PRIVATE \
        ((obj), E_TYPE_CAL_BACKEND_WEATHER, ECalBackendWeatherPrivate))
 
-#define EDC_ERROR(_code) e_data_cal_create_error (_code, NULL)
-#define EDC_ERROR_EX(_code, _msg) e_data_cal_create_error (_code, _msg)
+#define EC_ERROR(_code) e_client_error_create (_code, NULL)
+#define EC_ERROR_EX(_code, _msg) e_client_error_create (_code, _msg)
+#define ECC_ERROR(_code) e_cal_client_error_create (_code, NULL)
 
 G_DEFINE_TYPE (ECalBackendWeather, e_cal_backend_weather, E_TYPE_CAL_BACKEND_SYNC)
 
@@ -684,7 +685,7 @@ e_cal_backend_weather_open (ECalBackendSync *backend,
 
                if (!priv->cache) {
                        if (!local_error)
-                               local_error = EDC_ERROR_EX (OtherError, _("Could not create cache file"));
+                               local_error = EC_ERROR_EX (E_CLIENT_ERROR_OTHER_ERROR, _("Could not create 
cache file"));
                        else
                                g_prefix_error (&local_error, _("Could not create cache file: "));
 
@@ -735,7 +736,7 @@ e_cal_backend_weather_receive_objects (ECalBackendSync *backend,
                                       guint32 opflags,
                                        GError **perror)
 {
-       g_propagate_error (perror, EDC_ERROR (PermissionDenied));
+       g_propagate_error (perror, EC_ERROR (E_CLIENT_ERROR_PERMISSION_DENIED));
 }
 
 static void
@@ -755,7 +756,7 @@ e_cal_backend_weather_get_object (ECalBackendSync *backend,
                comp = NULL;
 
        if (!comp) {
-               g_propagate_error (error, EDC_ERROR (ObjectNotFound));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND));
                return;
        }
 
@@ -781,7 +782,7 @@ e_cal_backend_weather_get_object_list (ECalBackendSync *backend,
 
        sexp = e_cal_backend_sexp_new (sexp_string);
        if (sexp == NULL) {
-               g_propagate_error (perror, EDC_ERROR (InvalidQuery));
+               g_propagate_error (perror, EC_ERROR (E_CLIENT_ERROR_INVALID_QUERY));
                return;
        }
 
@@ -833,7 +834,7 @@ e_cal_backend_weather_add_timezone (ECalBackendSync *backend,
 
        if (i_cal_component_isa (tz_comp) != I_CAL_VTIMEZONE_COMPONENT) {
                g_object_unref (tz_comp);
-               g_propagate_error (error, EDC_ERROR (InvalidObject));
+               g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
                return;
        }
 
@@ -891,7 +892,7 @@ e_cal_backend_weather_start_view (ECalBackend *backend,
        priv = cbw->priv;
 
        if (!priv->cache) {
-               error = EDC_ERROR (NoSuchCal);
+               error = ECC_ERROR (E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR);
                e_data_cal_view_notify_complete (query, error);
                g_error_free (error);
                return;
@@ -899,7 +900,7 @@ e_cal_backend_weather_start_view (ECalBackend *backend,
 
        sexp = e_data_cal_view_get_sexp (query);
        if (!sexp) {
-               error = EDC_ERROR (InvalidQuery);
+               error = EC_ERROR (E_CLIENT_ERROR_INVALID_QUERY);
                e_data_cal_view_notify_complete (query, error);
                g_error_free (error);
                return;
diff --git a/src/calendar/libecal/e-cal-client.c b/src/calendar/libecal/e-cal-client.c
index c2375aa68..46f639f9c 100644
--- a/src/calendar/libecal/e-cal-client.c
+++ b/src/calendar/libecal/e-cal-client.c
@@ -260,6 +260,67 @@ e_cal_client_error_to_string (ECalClientError code)
        return _("Unknown error");
 }
 
+/**
+ * e_cal_client_error_create:
+ * @code: an #ECalClientError code to create
+ * @custom_msg: (nullable): custom message to use for the error; can be %NULL
+ *
+ * Returns: (transfer full): a new #GError containing an #E_CAL_CLIENT_ERROR of the given
+ *    @code. If the @custom_msg is NULL, then the error message is the one returned
+ *    from e_cal_client_error_to_string() for the @code, otherwise the given message is used.
+ *    Returned pointer should be freed with g_error_free().
+ *
+ * Since: 3.2
+ **/
+GError *
+e_cal_client_error_create (ECalClientError code,
+                          const gchar *custom_msg)
+{
+       if (!custom_msg)
+               custom_msg = e_cal_client_error_to_string (code);
+
+       return g_error_new_literal (E_CAL_CLIENT_ERROR, code, custom_msg);
+}
+
+/**
+ * e_cal_client_error_create_fmt:
+ * @code: an #ECalClientError
+ * @format: (nullable): message format, or %NULL to use the default message for the @code
+ * @...: arguments for the format
+ *
+ * Similar as e_cal_client_error_create(), only here, instead of custom_msg,
+ * is used a printf() format to create a custom message for the error.
+ *
+ * Returns: (transfer full): a newly allocated #GError, which should be
+ *   freed with g_error_free(), when no longer needed.
+ *   The #GError has set the custom message, or the default message for
+ *   @code, when @format is %NULL.
+ *
+ * Since: 3.36
+ **/
+GError *
+e_cal_client_error_create_fmt (ECalClientError code,
+                              const gchar *format,
+                              ...)
+{
+       GError *error;
+       gchar *custom_msg;
+       va_list ap;
+
+       if (!format)
+               return e_cal_client_error_create (code, NULL);
+
+       va_start (ap, format);
+       custom_msg = g_strdup_vprintf (format, ap);
+       va_end (ap);
+
+       error = e_cal_client_error_create (code, custom_msg);
+
+       g_free (custom_msg);
+
+       return error;
+}
+
 static gpointer
 cal_client_dbus_thread (gpointer user_data)
 {
diff --git a/src/calendar/libecal/e-cal-client.h b/src/calendar/libecal/e-cal-client.h
index 6893c3eb7..d6498f322 100644
--- a/src/calendar/libecal/e-cal-client.h
+++ b/src/calendar/libecal/e-cal-client.h
@@ -121,6 +121,14 @@ typedef enum {
        E_CAL_CLIENT_ERROR_INVALID_RANGE
 } ECalClientError;
 
+GQuark         e_cal_client_error_quark        (void) G_GNUC_CONST;
+const gchar *  e_cal_client_error_to_string    (ECalClientError code);
+GError *       e_cal_client_error_create       (ECalClientError code,
+                                                const gchar *custom_msg);
+GError *       e_cal_client_error_create_fmt   (ECalClientError code,
+                                                const gchar *format,
+                                                ...) G_GNUC_PRINTF (2, 3);
+
 typedef struct _ECalClient ECalClient;
 typedef struct _ECalClientClass ECalClientClass;
 typedef struct _ECalClientPrivate ECalClientPrivate;
@@ -156,9 +164,6 @@ struct _ECalClientClass {
                                                 const GSList *free_busy_ecalcomps); /* ECalComponent * */
 };
 
-GQuark         e_cal_client_error_quark        (void) G_GNUC_CONST;
-const gchar *  e_cal_client_error_to_string    (ECalClientError code);
-
 GType          e_cal_client_get_type           (void) G_GNUC_CONST;
 EClient *      e_cal_client_connect_sync       (ESource *source,
                                                 ECalClientSourceType source_type,
diff --git a/src/calendar/libedata-cal/e-cal-backend-sync.c b/src/calendar/libedata-cal/e-cal-backend-sync.c
index c3e4716ff..4bf602adf 100644
--- a/src/calendar/libedata-cal/e-cal-backend-sync.c
+++ b/src/calendar/libedata-cal/e-cal-backend-sync.c
@@ -594,7 +594,7 @@ e_cal_backend_sync_get_timezone (ECalBackendSync *backend,
 
                if (!zone) {
                        if (error && !*error)
-                               g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+                               g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL));
                } else {
                        ICalComponent *icomp;
 
@@ -602,7 +602,7 @@ e_cal_backend_sync_get_timezone (ECalBackendSync *backend,
 
                        if (!icomp) {
                                if (error && !*error)
-                                       g_propagate_error (error, e_data_cal_create_error (InvalidObject, 
NULL));
+                                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, NULL));
                        } else {
                                *tzobject = i_cal_component_as_ical_string_r (icomp);
 
diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
index fc7db4d10..94b069fea 100644
--- a/src/calendar/libedata-cal/e-cal-meta-backend.c
+++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
@@ -585,7 +585,7 @@ ecmb_upload_local_changes_sync (ECalMetaBackend *meta_backend,
                                change->uid, extra, change->object, opflags, cancellable, &local_error);
 
                        if (!success) {
-                               if (g_error_matches (local_error, E_DATA_CAL_ERROR, ObjectNotFound)) {
+                               if (g_error_matches (local_error, E_CAL_CLIENT_ERROR, 
E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND)) {
                                        g_clear_error (&local_error);
                                        success = TRUE;
                                } else if (local_error) {
@@ -1068,7 +1068,7 @@ ecmb_load_component_wrapper_sync (ECalMetaBackend *meta_backend,
        if (preloaded_object && *preloaded_object) {
                icomp = i_cal_component_new_from_string (preloaded_object);
                if (!icomp) {
-                       g_propagate_error (error, e_data_cal_create_error_fmt (InvalidObject, _("Preloaded 
object for UID “%s” is invalid"), uid));
+                       g_propagate_error (error, e_cal_client_error_create_fmt 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, _("Preloaded object for UID “%s” is invalid"), uid));
                        return FALSE;
                }
        } else if (!e_cal_meta_backend_ensure_connected_sync (meta_backend, cancellable, error) ||
@@ -1076,7 +1076,7 @@ ecmb_load_component_wrapper_sync (ECalMetaBackend *meta_backend,
                g_free (extra);
                return FALSE;
        } else if (!icomp) {
-               g_propagate_error (error, e_data_cal_create_error_fmt (InvalidObject, _("Received object for 
UID “%s” is invalid"), uid));
+               g_propagate_error (error, e_cal_client_error_create_fmt (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
_("Received object for UID “%s” is invalid"), uid));
                g_free (extra);
                return FALSE;
        }
@@ -1123,7 +1123,7 @@ ecmb_load_component_wrapper_sync (ECalMetaBackend *meta_backend,
                if (success && out_new_uid)
                        *out_new_uid = g_strdup (loaded_uid ? loaded_uid : uid);
        } else {
-               g_propagate_error (error, e_data_cal_create_error_fmt (InvalidObject, _("Received object for 
UID “%s” doesn’t contain any expected component"), uid));
+               g_propagate_error (error, e_cal_client_error_create_fmt (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
_("Received object for UID “%s” doesn’t contain any expected component"), uid));
                success = FALSE;
        }
 
@@ -1369,11 +1369,11 @@ ecmb_get_object_sync (ECalBackendSync *sync_backend,
                }
 
                if (!found)
-                       g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL));
 
                g_free (loaded_uid);
        } else if (local_error) {
-               g_propagate_error (error, e_data_cal_create_error (OtherError, local_error->message));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_OTHER_ERROR, 
local_error->message));
                g_clear_error (&local_error);
        }
 
@@ -1595,7 +1595,7 @@ ecmb_create_object_sync (ECalMetaBackend *meta_backend,
 
        icomp = e_cal_component_get_icalcomponent (comp);
        if (!icomp) {
-               g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
NULL));
                return FALSE;
        }
 
@@ -1605,7 +1605,7 @@ ecmb_create_object_sync (ECalMetaBackend *meta_backend,
 
                new_uid = e_util_generate_uid ();
                if (!new_uid) {
-                       g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, NULL));
                        return FALSE;
                }
 
@@ -1616,7 +1616,7 @@ ecmb_create_object_sync (ECalMetaBackend *meta_backend,
        }
 
        if (e_cal_cache_contains (cal_cache, uid, NULL, E_CACHE_EXCLUDE_DELETED)) {
-               g_propagate_error (error, e_data_cal_create_error (ObjectIdAlreadyExists, NULL));
+               g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_OBJECT_ID_ALREADY_EXISTS, NULL));
                return FALSE;
        }
 
@@ -1709,7 +1709,7 @@ ecmb_create_objects_sync (ECalBackendSync *sync_backend,
        g_return_if_fail (out_new_components != NULL);
 
        if (!e_cal_backend_get_writable (E_CAL_BACKEND (sync_backend))) {
-               g_propagate_error (error, e_data_cal_create_error (PermissionDenied, NULL));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_PERMISSION_DENIED, NULL));
                return;
        }
 
@@ -1732,7 +1732,7 @@ ecmb_create_objects_sync (ECalBackendSync *sync_backend,
                    backend_kind != i_cal_component_isa (e_cal_component_get_icalcomponent (comp))) {
                        g_clear_object (&comp);
 
-                       g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, NULL));
                        break;
                }
 
@@ -1778,14 +1778,14 @@ ecmb_modify_object_sync (ECalMetaBackend *meta_backend,
 
        id = e_cal_component_get_id (comp);
        if (!id) {
-               g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
NULL));
                return FALSE;
        }
 
        if (!e_cal_cache_get_components_by_uid (cal_cache, e_cal_component_id_get_uid (id), &instances, 
cancellable, &local_error)) {
                if (g_error_matches (local_error, E_CACHE_ERROR, E_CACHE_ERROR_NOT_FOUND)) {
                        g_clear_error (&local_error);
-                       local_error = e_data_cal_create_error (ObjectNotFound, NULL);
+                       local_error = e_cal_client_error_create (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL);
                }
 
                g_propagate_error (error, local_error);
@@ -1800,7 +1800,7 @@ ecmb_modify_object_sync (ECalMetaBackend *meta_backend,
                existing_comp = ecmb_find_in_instances (instances, e_cal_component_id_get_uid (id), 
e_cal_component_id_get_rid (id));
 
                if (!existing_comp && mod == E_CAL_OBJ_MOD_ONLY_THIS) {
-                       g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL));
 
                        g_slist_free_full (instances, g_object_unref);
                        e_cal_component_id_free (id);
@@ -2014,7 +2014,7 @@ ecmb_modify_objects_sync (ECalBackendSync *sync_backend,
        g_return_if_fail (out_new_components != NULL);
 
        if (!e_cal_backend_get_writable (E_CAL_BACKEND (sync_backend))) {
-               g_propagate_error (error, e_data_cal_create_error (PermissionDenied, NULL));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_PERMISSION_DENIED, NULL));
                return;
        }
 
@@ -2034,7 +2034,7 @@ ecmb_modify_objects_sync (ECalBackendSync *sync_backend,
                if (!comp ||
                    !e_cal_component_get_icalcomponent (comp) ||
                    backend_kind != i_cal_component_isa (e_cal_component_get_icalcomponent (comp))) {
-                       g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, NULL));
                        break;
                }
 
@@ -2083,14 +2083,14 @@ ecmb_remove_object_sync (ECalMetaBackend *meta_backend,
        if ((mod == E_CAL_OBJ_MOD_THIS_AND_PRIOR ||
            mod == E_CAL_OBJ_MOD_THIS_AND_FUTURE) && !rid) {
                /* Require Recurrence-ID for these types */
-               g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, 
NULL));
                return FALSE;
        }
 
        if (!e_cal_cache_get_components_by_uid (cal_cache, uid, &instances, cancellable, &local_error)) {
                if (g_error_matches (local_error, E_CACHE_ERROR, E_CACHE_ERROR_NOT_FOUND)) {
                        g_clear_error (&local_error);
-                       local_error = e_data_cal_create_error (ObjectNotFound, NULL);
+                       local_error = e_cal_client_error_create (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL);
                }
 
                g_propagate_error (error, local_error);
@@ -2144,7 +2144,7 @@ ecmb_remove_object_sync (ECalMetaBackend *meta_backend,
 
                        if (existing_comp == master_comp && master_comp && mod == E_CAL_OBJ_MOD_ONLY_THIS) {
                                success = FALSE;
-                               g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+                               g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL));
                        } else {
                                itt = i_cal_time_from_string (rid);
                                if (itt && !i_cal_time_get_timezone (itt)) {
@@ -2394,7 +2394,7 @@ ecmb_remove_objects_sync (ECalBackendSync *sync_backend,
        g_return_if_fail (out_new_components != NULL);
 
        if (!e_cal_backend_get_writable (E_CAL_BACKEND (sync_backend))) {
-               g_propagate_error (error, e_data_cal_create_error (PermissionDenied, NULL));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_PERMISSION_DENIED, NULL));
                return;
        }
 
@@ -2410,7 +2410,7 @@ ecmb_remove_objects_sync (ECalBackendSync *sync_backend,
                        break;
 
                if (!id) {
-                       g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_INVALID_OBJECT, NULL));
                        break;
                }
 
@@ -2462,7 +2462,7 @@ ecmb_receive_object_sync (ECalMetaBackend *meta_backend,
        }
 
        if (!id) {
-               g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
NULL));
                return FALSE;
        }
 
@@ -2508,12 +2508,12 @@ ecmb_receive_object_sync (ECalMetaBackend *meta_backend,
                        success = ecmb_remove_object_sync (meta_backend, cal_cache, offline_flag, 
conflict_resolution, E_CAL_OBJ_MOD_THIS, opflags,
                                e_cal_component_id_get_uid (id), e_cal_component_id_get_rid (id), NULL, NULL, 
cancellable, error);
                } else {
-                       g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+                       g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL));
                }
                break;
 
        default:
-               g_propagate_error (error, e_data_cal_create_error (UnsupportedMethod, NULL));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_OTHER_ERROR, _("Unsupported 
method")));
                break;
        }
 
@@ -2545,7 +2545,7 @@ ecmb_receive_objects_sync (ECalBackendSync *sync_backend,
        g_return_if_fail (calobj != NULL);
 
        if (!e_cal_backend_get_writable (E_CAL_BACKEND (sync_backend))) {
-               g_propagate_error (error, e_data_cal_create_error (PermissionDenied, NULL));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_PERMISSION_DENIED, NULL));
                return;
        }
 
@@ -2555,7 +2555,7 @@ ecmb_receive_objects_sync (ECalBackendSync *sync_backend,
 
        icomp = i_cal_parser_parse_string (calobj);
        if (!icomp) {
-               g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
NULL));
                g_object_unref (cal_cache);
                return;
        }
@@ -2579,7 +2579,7 @@ ecmb_receive_objects_sync (ECalBackendSync *sync_backend,
        }
 
        if (!comps) {
-               g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
NULL));
                g_object_unref (icomp);
                g_object_unref (cal_cache);
                return;
@@ -2722,7 +2722,7 @@ ecmb_get_attachment_uris_sync (ECalBackendSync *sync_backend,
        if (local_error) {
                if (g_error_matches (local_error, E_CACHE_ERROR, E_CACHE_ERROR_NOT_FOUND)) {
                        g_clear_error (&local_error);
-                       local_error = e_data_cal_create_error (ObjectNotFound, NULL);
+                       local_error = e_cal_client_error_create (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL);
                }
 
                g_propagate_error (error, local_error);
@@ -2775,7 +2775,7 @@ ecmb_get_timezone_sync (ECalBackendSync *sync_backend,
                icomp = i_cal_timezone_get_component (zone);
 
                if (!icomp) {
-                       local_error = e_data_cal_create_error (InvalidObject, NULL);
+                       local_error = e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, NULL);
                } else {
                        timezone_str = i_cal_component_as_ical_string_r (icomp);
                        g_object_unref (icomp);
@@ -2783,7 +2783,7 @@ ecmb_get_timezone_sync (ECalBackendSync *sync_backend,
        }
 
        if (!local_error && !timezone_str)
-               local_error = e_data_cal_create_error (ObjectNotFound, NULL);
+               local_error = e_cal_client_error_create (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, NULL);
 
        *tzobject = timezone_str;
 
@@ -2806,14 +2806,14 @@ ecmb_add_timezone_sync (ECalBackendSync *sync_backend,
                return;
 
        if (!tzobject || !*tzobject) {
-               g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
NULL));
                return;
        }
 
        tz_comp = i_cal_parser_parse_string (tzobject);
        if (!tz_comp ||
            i_cal_component_isa (tz_comp) != I_CAL_VTIMEZONE_COMPONENT) {
-               g_propagate_error (error, e_data_cal_create_error (InvalidObject, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_INVALID_OBJECT, 
NULL));
        } else {
                ICalTimezone *zone;
 
@@ -3120,12 +3120,12 @@ ecmb_maybe_wait_for_credentials (ECalMetaBackend *meta_backend,
        if (!op_error || g_cancellable_is_cancelled (cancellable))
                return FALSE;
 
-       if (g_error_matches (op_error, E_DATA_CAL_ERROR, TLSNotAvailable) &&
+       if (g_error_matches (op_error, E_CLIENT_ERROR, E_CLIENT_ERROR_TLS_NOT_AVAILABLE) &&
            e_cal_meta_backend_get_ssl_error_details (meta_backend, &certificate_pem, &certificate_errors)) {
                reason = E_SOURCE_CREDENTIALS_REASON_SSL_FAILED;
-       } else if (g_error_matches (op_error, E_DATA_CAL_ERROR, AuthenticationRequired)) {
+       } else if (g_error_matches (op_error, E_CLIENT_ERROR, E_CLIENT_ERROR_AUTHENTICATION_REQUIRED)) {
                reason = E_SOURCE_CREDENTIALS_REASON_REQUIRED;
-       } else if (g_error_matches (op_error, E_DATA_CAL_ERROR, AuthenticationFailed)) {
+       } else if (g_error_matches (op_error, E_CLIENT_ERROR, E_CLIENT_ERROR_AUTHENTICATION_FAILED)) {
                reason = E_SOURCE_CREDENTIALS_REASON_REJECTED;
        }
 
@@ -4676,7 +4676,7 @@ e_cal_meta_backend_process_changes_sync (ECalMetaBackend *meta_backend,
                success = ecmb_load_component_wrapper_sync (meta_backend, cal_cache, nfo->uid, nfo->object, 
nfo->extra, NULL, cancellable, &local_error);
 
                /* Do not stop on invalid objects, just notify about them later, and load as many as possible 
*/
-               if (!success && g_error_matches (local_error, E_DATA_CAL_ERROR, InvalidObject)) {
+               if (!success && g_error_matches (local_error, E_CAL_CLIENT_ERROR, 
E_CAL_CLIENT_ERROR_INVALID_OBJECT)) {
                        if (!invalid_objects) {
                                invalid_objects = g_string_new (local_error->message);
                        } else {
@@ -4708,7 +4708,7 @@ e_cal_meta_backend_process_changes_sync (ECalMetaBackend *meta_backend,
                success = ecmb_load_component_wrapper_sync (meta_backend, cal_cache, nfo->uid, nfo->object, 
nfo->extra, NULL, cancellable, &local_error);
 
                /* Do not stop on invalid objects, just notify about them later, and load as many as possible 
*/
-               if (!success && g_error_matches (local_error, E_DATA_CAL_ERROR, InvalidObject)) {
+               if (!success && g_error_matches (local_error, E_CAL_CLIENT_ERROR, 
E_CAL_CLIENT_ERROR_INVALID_OBJECT)) {
                        if (!invalid_objects) {
                                invalid_objects = g_string_new (local_error->message);
                        } else {
@@ -5155,7 +5155,7 @@ e_cal_meta_backend_save_component_sync (ECalMetaBackend *meta_backend,
        g_return_val_if_fail (klass != NULL, FALSE);
 
        if (!klass->save_component_sync) {
-               g_propagate_error (error, e_data_cal_create_error (NotSupported, NULL));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_NOT_SUPPORTED, NULL));
                return FALSE;
        }
 
@@ -5235,7 +5235,7 @@ e_cal_meta_backend_remove_component_sync (ECalMetaBackend *meta_backend,
        g_return_val_if_fail (klass != NULL, FALSE);
 
        if (!klass->remove_component_sync) {
-               g_propagate_error (error, e_data_cal_create_error (NotSupported, NULL));
+               g_propagate_error (error, e_client_error_create (E_CLIENT_ERROR_NOT_SUPPORTED, NULL));
                return FALSE;
        }
 
@@ -5386,7 +5386,7 @@ e_cal_meta_backend_requires_reconnect (ECalMetaBackend *meta_backend)
  *
  * It is optional to implement this virtual method by the descendants.
  * It is used to receive SSL error details when any online operation
- * returns E_DATA_CAL_ERROR, TLSNotAvailable error.
+ * returns E_CLIENT_ERROR, E_CLIENT_ERROR_TLS_NOT_AVAILABLE error.
  *
  * Returns: %TRUE, when the SSL error details had been available and
  *    the out parameters populated, %FALSE otherwise.
diff --git a/src/calendar/libedata-cal/e-data-cal.c b/src/calendar/libedata-cal/e-data-cal.c
index e7e13acb2..baccdfa2a 100644
--- a/src/calendar/libedata-cal/e-data-cal.c
+++ b/src/calendar/libedata-cal/e-data-cal.c
@@ -42,9 +42,6 @@
        (G_TYPE_INSTANCE_GET_PRIVATE \
        ((obj), E_TYPE_DATA_CAL, EDataCalPrivate))
 
-#define EDC_ERROR(_code) e_data_cal_create_error (_code, NULL)
-#define EDC_ERROR_EX(_code, _msg) e_data_cal_create_error (_code, _msg)
-
 typedef struct _AsyncContext AsyncContext;
 
 struct _EDataCalPrivate {
@@ -219,290 +216,7 @@ data_cal_convert_to_client_error (GError *error)
        if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) {
                error->domain = E_CAL_CLIENT_ERROR;
                error->code = E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR;
-
-               return;
-       }
-
-       if (error->domain != E_DATA_CAL_ERROR)
-               return;
-
-       switch (error->code) {
-               case RepositoryOffline:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_REPOSITORY_OFFLINE;
-                       break;
-
-               case PermissionDenied:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_PERMISSION_DENIED;
-                       break;
-
-               case InvalidRange:
-                       error->domain = E_CAL_CLIENT_ERROR;
-                       error->code = E_CAL_CLIENT_ERROR_INVALID_RANGE;
-                       break;
-
-               case ObjectNotFound:
-                       error->domain = E_CAL_CLIENT_ERROR;
-                       error->code = E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND;
-                       break;
-
-               case InvalidObject:
-                       error->domain = E_CAL_CLIENT_ERROR;
-                       error->code = E_CAL_CLIENT_ERROR_INVALID_OBJECT;
-                       break;
-
-               case ObjectIdAlreadyExists:
-                       error->domain = E_CAL_CLIENT_ERROR;
-                       error->code = E_CAL_CLIENT_ERROR_OBJECT_ID_ALREADY_EXISTS;
-                       break;
-
-               case AuthenticationFailed:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_AUTHENTICATION_FAILED;
-                       break;
-
-               case AuthenticationRequired:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_AUTHENTICATION_REQUIRED;
-                       break;
-
-               case UnsupportedAuthenticationMethod:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD;
-                       break;
-
-               case TLSNotAvailable:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_TLS_NOT_AVAILABLE;
-                       break;
-
-               case NoSuchCal:
-                       error->domain = E_CAL_CLIENT_ERROR;
-                       error->code = E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR;
-                       break;
-
-               case UnknownUser:
-                       error->domain = E_CAL_CLIENT_ERROR;
-                       error->code = E_CAL_CLIENT_ERROR_UNKNOWN_USER;
-                       break;
-
-               case OfflineUnavailable:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_OFFLINE_UNAVAILABLE;
-                       break;
-
-               case SearchSizeLimitExceeded:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_SEARCH_SIZE_LIMIT_EXCEEDED;
-                       break;
-
-               case SearchTimeLimitExceeded:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_SEARCH_TIME_LIMIT_EXCEEDED;
-                       break;
-
-               case InvalidQuery:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_INVALID_QUERY;
-                       break;
-
-               case QueryRefused:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_QUERY_REFUSED;
-                       break;
-
-               case CouldNotCancel:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_COULD_NOT_CANCEL;
-                       break;
-
-               case InvalidArg:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_INVALID_ARG;
-                       break;
-
-               case NotSupported:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_NOT_SUPPORTED;
-                       break;
-
-               case NotOpened:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_NOT_OPENED;
-                       break;
-
-               case UnsupportedField:
-               case UnsupportedMethod:
-               case OtherError:
-               case InvalidServerVersion:
-                       error->domain = E_CLIENT_ERROR;
-                       error->code = E_CLIENT_ERROR_OTHER_ERROR;
-                       break;
-
-               default:
-                       g_warn_if_reached ();
-       }
-}
-
-/* Create the EDataCal error quark */
-GQuark
-e_data_cal_error_quark (void)
-{
-       #define ERR_PREFIX "org.gnome.evolution.dataserver.Calendar."
-
-       static const GDBusErrorEntry entries[] = {
-               { Success,                              ERR_PREFIX "Success" },
-               { Busy,                                 ERR_PREFIX "Busy" },
-               { RepositoryOffline,                    ERR_PREFIX "RepositoryOffline" },
-               { PermissionDenied,                     ERR_PREFIX "PermissionDenied" },
-               { InvalidRange,                         ERR_PREFIX "InvalidRange" },
-               { ObjectNotFound,                       ERR_PREFIX "ObjectNotFound" },
-               { InvalidObject,                        ERR_PREFIX "InvalidObject" },
-               { ObjectIdAlreadyExists,                ERR_PREFIX "ObjectIdAlreadyExists" },
-               { AuthenticationFailed,                 ERR_PREFIX "AuthenticationFailed" },
-               { AuthenticationRequired,               ERR_PREFIX "AuthenticationRequired" },
-               { UnsupportedField,                     ERR_PREFIX "UnsupportedField" },
-               { UnsupportedMethod,                    ERR_PREFIX "UnsupportedMethod" },
-               { UnsupportedAuthenticationMethod,      ERR_PREFIX "UnsupportedAuthenticationMethod" },
-               { TLSNotAvailable,                      ERR_PREFIX "TLSNotAvailable" },
-               { NoSuchCal,                            ERR_PREFIX "NoSuchCal" },
-               { UnknownUser,                          ERR_PREFIX "UnknownUser" },
-               { OfflineUnavailable,                   ERR_PREFIX "OfflineUnavailable" },
-               { SearchSizeLimitExceeded,              ERR_PREFIX "SearchSizeLimitExceeded" },
-               { SearchTimeLimitExceeded,              ERR_PREFIX "SearchTimeLimitExceeded" },
-               { InvalidQuery,                         ERR_PREFIX "InvalidQuery" },
-               { QueryRefused,                         ERR_PREFIX "QueryRefused" },
-               { CouldNotCancel,                       ERR_PREFIX "CouldNotCancel" },
-               { OtherError,                           ERR_PREFIX "OtherError" },
-               { InvalidServerVersion,                 ERR_PREFIX "InvalidServerVersion" },
-               { InvalidArg,                           ERR_PREFIX "InvalidArg" },
-               { NotSupported,                         ERR_PREFIX "NotSupported" },
-               { NotOpened,                            ERR_PREFIX "NotOpened" }
-       };
-
-       #undef ERR_PREFIX
-
-       static volatile gsize quark_volatile = 0;
-
-       g_dbus_error_register_error_domain ("e-data-cal-error", &quark_volatile, entries, G_N_ELEMENTS 
(entries));
-
-       return (GQuark) quark_volatile;
-}
-
-/**
- * e_data_cal_status_to_string:
- * @status: an #EDataCalCallStatus
- *
- * Returns: A localized text representation of the @status.
- *
- * Since: 2.32
- **/
-const gchar *
-e_data_cal_status_to_string (EDataCalCallStatus status)
-{
-       gint i;
-       static struct _statuses {
-               EDataCalCallStatus status;
-               const gchar *msg;
-       } statuses[] = {
-               { Success,                              N_("Success") },
-               { Busy,                                 N_("Backend is busy") },
-               { RepositoryOffline,                    N_("Repository offline") },
-               { PermissionDenied,                     N_("Permission denied") },
-               { InvalidRange,                         N_("Invalid range") },
-               { ObjectNotFound,                       N_("Object not found") },
-               { InvalidObject,                        N_("Invalid object") },
-               { ObjectIdAlreadyExists,                N_("Object ID already exists") },
-               { AuthenticationFailed,                 N_("Authentication Failed") },
-               { AuthenticationRequired,               N_("Authentication Required") },
-               { UnsupportedField,                     N_("Unsupported field") },
-               { UnsupportedMethod,                    N_("Unsupported method") },
-               { UnsupportedAuthenticationMethod,      N_("Unsupported authentication method") },
-               { TLSNotAvailable,                      N_("TLS not available") },
-               { NoSuchCal,                            N_("Calendar does not exist") },
-               { UnknownUser,                          N_("Unknown user") },
-               { OfflineUnavailable,                   N_("Not available in offline mode") },
-               { SearchSizeLimitExceeded,              N_("Search size limit exceeded") },
-               { SearchTimeLimitExceeded,              N_("Search time limit exceeded") },
-               { InvalidQuery,                         N_("Invalid query") },
-               { QueryRefused,                         N_("Query refused") },
-               { CouldNotCancel,                       N_("Could not cancel") },
-               /* { OtherError,                        N_("Other error") }, */
-               { InvalidServerVersion,                 N_("Invalid server version") },
-               { InvalidArg,                           N_("Invalid argument") },
-               /* Translators: The string for NOT_SUPPORTED error */
-               { NotSupported,                         N_("Not supported") },
-               { NotOpened,                            N_("Backend is not opened yet") }
-       };
-
-       for (i = 0; i < G_N_ELEMENTS (statuses); i++) {
-               if (statuses[i].status == status)
-                       return _(statuses[i].msg);
        }
-
-       return _("Other error");
-}
-
-/**
- * e_data_cal_create_error:
- * @status: #EDataCalCallStatus code
- * @custom_msg: Custom message to use for the error. When NULL,
- *              then uses a default message based on the @status code.
- *
- * Returns: (nullable) (transfer full): %NULL, when the @status is Success,
- *          or a newly allocated GError, which should be freed
- *          with g_error_free() call.
- *
- * Since: 2.32
- **/
-GError *
-e_data_cal_create_error (EDataCalCallStatus status,
-                         const gchar *custom_msg)
-{
-       if (status == Success)
-               return NULL;
-
-       return g_error_new_literal (E_DATA_CAL_ERROR, status, custom_msg ? custom_msg : 
e_data_cal_status_to_string (status));
-}
-
-/**
- * e_data_cal_create_error_fmt:
- * @status: an #EDataCalCallStatus
- * @custom_msg_fmt: (nullable): message format, or %NULL to use the default message for the @status
- * @...: arguments for the format
- *
- * Similar as e_data_cal_create_error(), only here, instead of custom_msg,
- * is used a printf() format to create a custom message for the error.
- *
- * Returns: (nullable) (transfer full): %NULL, when the @status is Success,
- *   or a newly allocated #GError, which should be freed with g_error_free() call.
- *   The #GError has set the custom message, or the default message for
- *   @status, when @custom_msg_fmt is %NULL.
- *
- * Since: 2.32
- **/
-GError *
-e_data_cal_create_error_fmt (EDataCalCallStatus status,
-                             const gchar *custom_msg_fmt,
-                             ...)
-{
-       GError *error;
-       gchar *custom_msg;
-       va_list ap;
-
-       if (!custom_msg_fmt)
-               return e_data_cal_create_error (status, NULL);
-
-       va_start (ap, custom_msg_fmt);
-       custom_msg = g_strdup_vprintf (custom_msg_fmt, ap);
-       va_end (ap);
-
-       error = e_data_cal_create_error (status, custom_msg);
-
-       g_free (custom_msg);
-
-       return error;
 }
 
 static GPtrArray *
diff --git a/src/calendar/libedata-cal/e-data-cal.h b/src/calendar/libedata-cal/e-data-cal.h
index 4ec1b9573..a2ad31780 100644
--- a/src/calendar/libedata-cal/e-data-cal.h
+++ b/src/calendar/libedata-cal/e-data-cal.h
@@ -44,13 +44,6 @@
        (G_TYPE_INSTANCE_GET_CLASS \
        ((obj), E_TYPE_DATA_CAL, EDataCalClass))
 
-/**
- * E_DATA_CAL_ERROR:
- *
- * Since: 2.30
- **/
-#define E_DATA_CAL_ERROR e_data_cal_error_quark ()
-
 G_BEGIN_DECLS
 
 struct _ECalBackend;
@@ -68,84 +61,6 @@ struct _EDataCalClass {
        GObjectClass parent_class;
 };
 
-/**
- * EDataCalCallStatus:
- * @Success: call finished successfully
- * @Busy: the backend is busy
- * @RepositoryOffline: the backend is offline
- * @PermissionDenied: the call failed due to permission restrictions
- * @InvalidRange: the provided range for the call is invalid
- * @ObjectNotFound: the requested object could not be found
- * @InvalidObject: the provided object is invalid
- * @ObjectIdAlreadyExists: the provided object has an ID which already exists
- * @AuthenticationFailed: failed to authenticate with given credentials
- * @AuthenticationRequired: authentication credentials are required to connect to the calendar
- * @UnsupportedField: requested field is not supported
- * @UnsupportedMethod: requested method is not supported
- * @UnsupportedAuthenticationMethod: requested authentication method is not supported
- * @TLSNotAvailable: TLS for connection is not available for the calendar
- * @NoSuchCal: requested calendar does not exist
- * @UnknownUser: provided user is unknown
- * @OfflineUnavailable: requested data are not available in offline
- * @SearchSizeLimitExceeded: a successful search doesn't contain all responses due to size limit
- * @SearchTimeLimitExceeded: a successful search doesn't contain all responses due to time limit
- * @InvalidQuery: a requested search query is invalid
- * @QueryRefused: a requested search query had been refused, possibly by the server
- * @CouldNotCancel: an ongoing operation cannot be cancelled
- * @OtherError: a generic error happened
- * @InvalidServerVersion: server version is invalid
- * @InvalidArg: one of the arguments of the call was invalid
- * @NotSupported: the operation is not supported
- * @NotOpened: the calendar is not opened
- *
- * Response statuses of the calls.
- *
- * Since: 3.6
- **/
-typedef enum {
-       Success,
-       Busy,
-       RepositoryOffline,
-       PermissionDenied,
-       InvalidRange,
-       ObjectNotFound,
-       InvalidObject,
-       ObjectIdAlreadyExists,
-       AuthenticationFailed,
-       AuthenticationRequired,
-       UnsupportedField,
-       UnsupportedMethod,
-       UnsupportedAuthenticationMethod,
-       TLSNotAvailable,
-       NoSuchCal,
-       UnknownUser,
-       OfflineUnavailable,
-
-       /* These can be returned for successful searches, but
-               indicate the result set was truncated */
-       SearchSizeLimitExceeded,
-       SearchTimeLimitExceeded,
-
-       InvalidQuery,
-       QueryRefused,
-
-       CouldNotCancel,
-
-       OtherError,
-       InvalidServerVersion,
-       InvalidArg,
-       NotSupported,
-       NotOpened
-} EDataCalCallStatus;
-
-GQuark         e_data_cal_error_quark          (void);
-GError *       e_data_cal_create_error         (EDataCalCallStatus status,
-                                                const gchar *custom_msg);
-GError *       e_data_cal_create_error_fmt     (EDataCalCallStatus status,
-                                                const gchar *custom_msg_fmt,
-                                                ...) G_GNUC_PRINTF (2, 3);
-const gchar *  e_data_cal_status_to_string     (EDataCalCallStatus status);
-
 GType          e_data_cal_get_type             (void) G_GNUC_CONST;
 EDataCal *     e_data_cal_new                  (struct _ECalBackend *backend,
                                                 GDBusConnection *connection,
diff --git a/src/libedataserver/e-client.c b/src/libedataserver/e-client.c
index 23ae880b1..b85f99845 100644
--- a/src/libedataserver/e-client.c
+++ b/src/libedataserver/e-client.c
@@ -191,29 +191,64 @@ e_client_error_to_string (EClientError code)
 /**
  * e_client_error_create:
  * @code: an #EClientError code to create
- * @custom_msg: custom message to use for the error; can be %NULL
+ * @custom_msg: (nullable): custom message to use for the error; can be %NULL
  *
- * Returns: a new #GError containing an E_CLIENT_ERROR of the given
- * @code. If the @custom_msg is NULL, then the error message is
- * the one returned from e_client_error_to_string() for the @code,
- * otherwise the given message is used.
- *
- * Returned pointer should be freed with g_error_free().
+ * Returns: (transfer full): a new #GError containing an #E_CLIENT_ERROR of the given
+ *    @code. If the @custom_msg is NULL, then the error message is the one returned
+ *    from e_client_error_to_string() for the @code, otherwise the given message is used.
+ *    Returned pointer should be freed with g_error_free().
  *
  * Since: 3.2
- *
- * Deprecated: 3.8: Just use the #GError API directly.
  **/
 GError *
 e_client_error_create (EClientError code,
                        const gchar *custom_msg)
 {
-       if (custom_msg == NULL)
+       if (!custom_msg)
                custom_msg = e_client_error_to_string (code);
 
        return g_error_new_literal (E_CLIENT_ERROR, code, custom_msg);
 }
 
+/**
+ * e_client_error_create_fmt:
+ * @code: an #EClientError
+ * @format: (nullable): message format, or %NULL to use the default message for the @code
+ * @...: arguments for the format
+ *
+ * Similar as e_client_error_create(), only here, instead of custom_msg,
+ * is used a printf() format to create a custom message for the error.
+ *
+ * Returns: (transfer full): a newly allocated #GError, which should be
+ *   freed with g_error_free(), when no longer needed.
+ *   The #GError has set the custom message, or the default message for
+ *   @code, when @format is %NULL.
+ *
+ * Since: 3.36
+ **/
+GError *
+e_client_error_create_fmt (EClientError code,
+                          const gchar *format,
+                          ...)
+{
+       GError *error;
+       gchar *custom_msg;
+       va_list ap;
+
+       if (!format)
+               return e_client_error_create (code, NULL);
+
+       va_start (ap, format);
+       custom_msg = g_strdup_vprintf (format, ap);
+       va_end (ap);
+
+       error = e_client_error_create (code, custom_msg);
+
+       g_free (custom_msg);
+
+       return error;
+}
+
 static void
 client_set_source (EClient *client,
                    ESource *source)
diff --git a/src/libedataserver/e-client.h b/src/libedataserver/e-client.h
index 33fe2ebe6..8c8cba07a 100644
--- a/src/libedataserver/e-client.h
+++ b/src/libedataserver/e-client.h
@@ -114,8 +114,6 @@
 
 G_BEGIN_DECLS
 
-GQuark e_client_error_quark (void) G_GNUC_CONST;
-
 /**
  * EClientError:
  * @E_CLIENT_ERROR_INVALID_ARG: Invalid argument was used
@@ -139,7 +137,7 @@ GQuark e_client_error_quark (void) G_GNUC_CONST;
  * @E_CLIENT_ERROR_DBUS_ERROR: A D-Bus error occurred
  * @E_CLIENT_ERROR_OTHER_ERROR: Other error
  * @E_CLIENT_ERROR_NOT_OPENED: The client is not opened
- * @E_CLIENT_ERROR_OUT_OF_SYNC: The clien tis out of sync
+ * @E_CLIENT_ERROR_OUT_OF_SYNC: The client is out of sync with the server
  *
  * Error codes for #EClient operations.
  *
@@ -170,7 +168,13 @@ typedef enum {
        E_CLIENT_ERROR_OUT_OF_SYNC
 } EClientError;
 
+GQuark         e_client_error_quark            (void) G_GNUC_CONST;
 const gchar *  e_client_error_to_string        (EClientError code);
+GError *       e_client_error_create           (EClientError code,
+                                                const gchar *custom_msg);
+GError *       e_client_error_create_fmt       (EClientError code,
+                                                const gchar *format,
+                                                ...) G_GNUC_PRINTF (2, 3);
 
 /**
  * EClient:
@@ -388,8 +392,6 @@ GSList *    e_client_util_parse_comma_strings
  **/
 #define CLIENT_BACKEND_PROPERTY_OPENING                        "opening"
 
-GError *       e_client_error_create           (EClientError code,
-                                                const gchar *custom_msg);
 gboolean       e_client_is_opened              (EClient *client);
 void           e_client_cancel_all             (EClient *client);
 void           e_client_unwrap_dbus_error      (EClient *client,
diff --git a/tests/libedata-cal/test-cal-meta-backend.c b/tests/libedata-cal/test-cal-meta-backend.c
index 14bb61db1..abb9312ee 100644
--- a/tests/libedata-cal/test-cal-meta-backend.c
+++ b/tests/libedata-cal/test-cal-meta-backend.c
@@ -471,7 +471,7 @@ e_cal_meta_backend_test_save_component_sync (ECalMetaBackend *meta_backend,
 
                if (g_str_equal (server_uid, uid)) {
                        if (!overwrite_existing) {
-                               g_propagate_error (error, e_data_cal_create_error (ObjectIdAlreadyExists, 
NULL));
+                               g_propagate_error (error, e_cal_client_error_create 
(E_CAL_CLIENT_ERROR_OBJECT_ID_ALREADY_EXISTS, NULL));
                                return FALSE;
                        }
 
@@ -547,7 +547,7 @@ e_cal_meta_backend_test_load_component_sync (ECalMetaBackend *meta_backend,
                *out_extra = g_strconcat ("extra for ", uid, NULL);
                return TRUE;
        } else {
-               g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, 
NULL));
        }
 
        return FALSE;
@@ -605,7 +605,7 @@ e_cal_meta_backend_test_remove_component_sync (ECalMetaBackend *meta_backend,
        }
 
        if (!success)
-               g_propagate_error (error, e_data_cal_create_error (ObjectNotFound, NULL));
+               g_propagate_error (error, e_cal_client_error_create (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND, 
NULL));
 
        return success;
 }
@@ -1373,7 +1373,7 @@ test_get_attachment_uris (ECalMetaBackend *meta_backend)
        backend_class->get_attachment_uris_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, "unknown-event", NULL, &uris, &error);
 
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (uris);
 
        g_clear_error (&error);
@@ -1516,13 +1516,13 @@ test_timezones (ECalMetaBackend *meta_backend)
        /* Verify neither TZID, not LOCATION is in the timezone cache */
        backend_class->get_timezone_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, TZID1, &tzobj, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (tzobj);
        g_clear_error (&error);
 
        backend_class->get_timezone_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, TZLOC1, &tzobj, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (tzobj);
        g_clear_error (&error);
 
@@ -1542,7 +1542,7 @@ test_timezones (ECalMetaBackend *meta_backend)
        /* As a non-built-in timezone it cannot be read with location, only with TZID */
        backend_class->get_timezone_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, TZLOC1, &tzobj, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (tzobj);
        g_clear_error (&error);
 
@@ -1915,7 +1915,7 @@ test_create_objects (ECalMetaBackend *meta_backend)
 
        backend_class->create_objects_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, objects, 0, &uids, &new_components, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectIdAlreadyExists);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_ID_ALREADY_EXISTS);
        g_assert_null (uids);
        g_assert_null (new_components);
        g_clear_error (&error);
@@ -1955,7 +1955,7 @@ test_create_objects (ECalMetaBackend *meta_backend)
 
        backend_class->create_objects_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, objects, 0, &uids, &new_components, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectIdAlreadyExists);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_ID_ALREADY_EXISTS);
        g_assert_null (uids);
        g_assert_null (new_components);
        g_clear_error (&error);
@@ -2102,7 +2102,7 @@ test_modify_objects (ECalMetaBackend *meta_backend)
 
        backend_class->modify_objects_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, objects, E_CAL_OBJ_MOD_ALL, 0, &old_components, &new_components, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (old_components);
        g_assert_null (new_components);
        g_clear_error (&error);
@@ -2211,7 +2211,7 @@ test_modify_objects (ECalMetaBackend *meta_backend)
 
        backend_class->modify_objects_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, objects, E_CAL_OBJ_MOD_ONLY_THIS, 0, &old_components, &new_components, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (old_components);
        g_assert_null (new_components);
        g_assert_cmpint (test_backend->load_count, ==, 2);
@@ -2275,7 +2275,7 @@ test_remove_objects (ECalMetaBackend *meta_backend)
 
        backend_class->remove_objects_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, ids, E_CAL_OBJ_MOD_ALL, 0, &old_components, &new_components, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (old_components);
        g_assert_null (new_components);
        g_clear_error (&error);
@@ -2344,7 +2344,7 @@ test_remove_objects (ECalMetaBackend *meta_backend)
 
        backend_class->remove_objects_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, ids, E_CAL_OBJ_MOD_ONLY_THIS, 0, &old_components, &new_components, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (old_components);
        g_assert_null (new_components);
        g_clear_error (&error);
@@ -2862,13 +2862,13 @@ test_receive_and_remove (ECalMetaBackend *meta_backend)
        calobj = NULL;
        backend_class->get_object_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, "invite-detached", NULL, &calobj, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (calobj);
        g_clear_error (&error);
 
        backend_class->get_object_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, "invite-detached", "20180502T000000Z", &calobj, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (calobj);
        g_clear_error (&error);
 
@@ -3392,7 +3392,7 @@ test_get_object (ECalMetaBackend *meta_backend)
 
        backend_class->get_object_sync (E_CAL_BACKEND_SYNC (meta_backend),
                NULL, NULL, "event-7", NULL, &calobj, &error);
-       g_assert_error (error, E_DATA_CAL_ERROR, ObjectNotFound);
+       g_assert_error (error, E_CAL_CLIENT_ERROR, E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
        g_assert_null (calobj);
        g_clear_error (&error);
        g_assert_cmpint (test_backend->connect_count, ==, 0);


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