[evolution-data-server/wip/mcrha/libical-glib] Replace EDataCalCallStatus with EClientError/ECalClientError
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/wip/mcrha/libical-glib] Replace EDataCalCallStatus with EClientError/ECalClientError
- Date: Wed, 3 Apr 2019 13:01:01 +0000 (UTC)
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]