[evolution-data-server/account-mgmt: 12/28] Adapt libedata-cal to the new ESource API.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/account-mgmt: 12/28] Adapt libedata-cal to the new ESource API.
- Date: Wed, 2 Mar 2011 03:46:02 +0000 (UTC)
commit 02278ba0ca045e102b3da914b9abcf2cb59652ab
Author: Matthew Barnes <mbarnes redhat com>
Date: Sat Nov 13 15:02:02 2010 -0500
Adapt libedata-cal to the new ESource API.
calendar/libedata-cal/e-cal-backend-sync.c | 27 --
calendar/libedata-cal/e-cal-backend-sync.h | 4 -
calendar/libedata-cal/e-cal-backend.c | 142 +++--------
calendar/libedata-cal/e-cal-backend.h | 6 +-
calendar/libedata-cal/e-data-cal-factory.c | 280 +++++++++-----------
calendar/libedata-cal/e-data-cal.c | 39 ---
calendar/libedata-cal/e-data-cal.h | 1 -
calendar/libedata-cal/e-data-cal.xml | 11 -
calendar/libegdbus/e-gdbus-egdbuscal.c | 155 -----------
calendar/libegdbus/e-gdbus-egdbuscal.h | 28 +--
.../libedata-cal/libedata-cal-sections.txt | 3 -
.../libedata-cal/tmpl/e-cal-backend-sync.sgml | 10 -
.../calendar/libedata-cal/tmpl/e-cal-backend.sgml | 18 +--
.../calendar/libedata-cal/tmpl/e-data-cal.sgml | 10 -
14 files changed, 162 insertions(+), 572 deletions(-)
---
diff --git a/calendar/libedata-cal/e-cal-backend-sync.c b/calendar/libedata-cal/e-cal-backend-sync.c
index 8264719..b664ee3 100644
--- a/calendar/libedata-cal/e-cal-backend-sync.c
+++ b/calendar/libedata-cal/e-cal-backend-sync.c
@@ -161,22 +161,6 @@ e_cal_backend_sync_open (ECalBackendSync *backend, EDataCal *cal, gboolean only
}
/**
- * e_cal_backend_sync_remove:
- * @backend: An ECalBackendSync object.
- * @cal: An EDataCal object.
- * @error: Out parameter for a #GError.
- *
- * Calls the remove method on the given backend.
- */
-void
-e_cal_backend_sync_remove (ECalBackendSync *backend, EDataCal *cal, GError **error)
-{
- e_return_data_cal_error_if_fail (backend && E_IS_CAL_BACKEND_SYNC (backend), InvalidArg);
-
- LOCK_WRAPPER (remove_sync, (backend, cal, error));
-}
-
-/**
* e_cal_backend_sync_refresh:
* @backend: An ECalBackendSync object.
* @cal: An EDataCal object.
@@ -612,16 +596,6 @@ _e_cal_backend_refresh (ECalBackend *backend, EDataCal *cal, EServerMethodContex
}
static void
-_e_cal_backend_remove (ECalBackend *backend, EDataCal *cal, EServerMethodContext context)
-{
- GError *error = NULL;
-
- e_cal_backend_sync_remove (E_CAL_BACKEND_SYNC (backend), cal, &error);
-
- e_data_cal_notify_remove (cal, context, error);
-}
-
-static void
_e_cal_backend_create_object (ECalBackend *backend, EDataCal *cal, EServerMethodContext context, const gchar *calobj)
{
GError *error = NULL;
@@ -979,7 +953,6 @@ e_cal_backend_sync_class_init (ECalBackendSyncClass *klass)
backend_class->get_static_capabilities = _e_cal_backend_get_static_capabilities;
backend_class->open = _e_cal_backend_open;
backend_class->refresh = _e_cal_backend_refresh;
- backend_class->remove = _e_cal_backend_remove;
backend_class->create_object = _e_cal_backend_create_object;
backend_class->modify_object = _e_cal_backend_modify_object;
backend_class->remove_object = _e_cal_backend_remove_object;
diff --git a/calendar/libedata-cal/e-cal-backend-sync.h b/calendar/libedata-cal/e-cal-backend-sync.h
index 5080582..0304764 100644
--- a/calendar/libedata-cal/e-cal-backend-sync.h
+++ b/calendar/libedata-cal/e-cal-backend-sync.h
@@ -38,7 +38,6 @@ struct _ECalBackendSyncClass {
void (*open_sync) (ECalBackendSync *backend, EDataCal *cal, gboolean only_if_exists, const gchar *username, const gchar *password, GError **perror);
void (*refresh_sync) (ECalBackendSync *backend, EDataCal *cal, GError **perror);
- void (*remove_sync) (ECalBackendSync *backend, EDataCal *cal, GError **perror);
void (*create_object_sync) (ECalBackendSync *backend, EDataCal *cal, gchar **calobj, gchar **uid, GError **perror);
void (*modify_object_sync) (ECalBackendSync *backend, EDataCal *cal, const gchar *calobj, CalObjModType mod, gchar **old_object, gchar **new_object, GError **perror);
@@ -109,9 +108,6 @@ void e_cal_backend_sync_open (ECalBackendSync *backend,
void e_cal_backend_sync_refresh (ECalBackendSync *backend,
EDataCal *cal,
GError **error);
-void e_cal_backend_sync_remove (ECalBackendSync *backend,
- EDataCal *cal,
- GError **error);
void e_cal_backend_sync_create_object (ECalBackendSync *backend,
EDataCal *cal,
gchar **calobj,
diff --git a/calendar/libedata-cal/e-cal-backend.c b/calendar/libedata-cal/e-cal-backend.c
index bff4e62..3215170 100644
--- a/calendar/libedata-cal/e-cal-backend.c
+++ b/calendar/libedata-cal/e-cal-backend.c
@@ -45,9 +45,6 @@ struct _ECalBackendPrivate {
/* The source for this backend */
ESource *source;
- /* URI, from source. This is cached, since we return const. */
- gchar *uri;
-
gchar *cache_dir;
/* The kind of components for this backend */
@@ -74,8 +71,7 @@ enum {
PROP_0,
PROP_CACHE_DIR,
PROP_KIND,
- PROP_SOURCE,
- PROP_URI
+ PROP_SOURCE
};
/* Signal IDs */
@@ -91,43 +87,22 @@ static void e_cal_backend_remove_client_private (ECalBackend *backend, EDataCal
G_DEFINE_TYPE (ECalBackend, e_cal_backend, G_TYPE_OBJECT);
static void
-source_changed_cb (ESource *source, ECalBackend *backend)
-{
- ECalBackendPrivate *priv;
- gchar *suri;
-
- g_return_if_fail (source != NULL);
- g_return_if_fail (backend != NULL);
- g_return_if_fail (E_IS_CAL_BACKEND (backend));
-
- priv = backend->priv;
- g_return_if_fail (priv != NULL);
- g_return_if_fail (priv->source == source);
-
- suri = e_source_get_uri (priv->source);
- if (!priv->uri || (suri && !g_str_equal (priv->uri, suri))) {
- g_free (priv->uri);
- priv->uri = suri;
- } else {
- g_free (suri);
- }
-}
-
-static void
cal_backend_set_default_cache_dir (ECalBackend *backend)
{
ESource *source;
icalcomponent_kind kind;
const gchar *component_type;
const gchar *user_cache_dir;
- gchar *mangled_uri;
+ const gchar *uid;
gchar *filename;
user_cache_dir = e_get_user_cache_dir ();
kind = e_cal_backend_get_kind (backend);
source = e_cal_backend_get_source (backend);
- g_return_if_fail (source != NULL);
+
+ uid = e_source_get_uid (source);
+ g_return_if_fail (uid != NULL);
switch (kind) {
case ICAL_VEVENT_COMPONENT:
@@ -143,49 +118,20 @@ cal_backend_set_default_cache_dir (ECalBackend *backend)
g_return_if_reached ();
}
- /* Mangle the URI to not contain invalid characters. */
- mangled_uri = g_strdelimit (e_source_get_uri (source), ":/", '_');
-
filename = g_build_filename (
- user_cache_dir, component_type, mangled_uri, NULL);
+ user_cache_dir, component_type, uid, NULL);
e_cal_backend_set_cache_dir (backend, filename);
g_free (filename);
-
- g_free (mangled_uri);
}
static void
cal_backend_set_source (ECalBackend *backend,
ESource *source)
{
- if (backend->priv->source != NULL) {
- g_signal_handlers_disconnect_matched (backend->priv->source, G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, 0, 0, NULL, source_changed_cb, backend);
+ if (backend->priv->source != NULL)
g_object_unref (backend->priv->source);
- }
-
- if (source != NULL)
- g_signal_connect (
- g_object_ref (source), "changed",
- G_CALLBACK (source_changed_cb), backend);
backend->priv->source = source;
-
- /* Cache the URI */
- if (source != NULL) {
- g_free (backend->priv->uri);
- backend->priv->uri = e_source_get_uri (source);
- }
-}
-
-static void
-cal_backend_set_uri (ECalBackend *backend,
- const gchar *uri)
-{
- /* ESource's URI gets priority. */
- if (backend->priv->source == NULL) {
- g_free (backend->priv->uri);
- backend->priv->uri = g_strdup (uri);
- }
}
static void
@@ -217,11 +163,6 @@ cal_backend_set_property (GObject *object,
E_CAL_BACKEND (object),
g_value_get_object (value));
return;
- case PROP_URI:
- cal_backend_set_uri (
- E_CAL_BACKEND (object),
- g_value_get_string (value));
- return;
}
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -249,11 +190,6 @@ cal_backend_get_property (GObject *object,
value, e_cal_backend_get_source (
E_CAL_BACKEND (object)));
return;
- case PROP_URI:
- g_value_set_string (
- value, e_cal_backend_get_uri (
- E_CAL_BACKEND (object)));
- return;
}
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -273,13 +209,9 @@ cal_backend_finalize (GObject *object)
g_mutex_free (priv->clients_mutex);
g_mutex_free (priv->queries_mutex);
- g_free (priv->uri);
g_free (priv->cache_dir);
- if (priv->source) {
- g_signal_handlers_disconnect_matched (priv->source, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, object);
- g_object_unref (priv->source);
- }
+ g_object_unref (priv->source);
/* Chain up to parent's finalize() method. */
G_OBJECT_CLASS (e_cal_backend_parent_class)->finalize (object);
@@ -291,6 +223,14 @@ cal_backend_constructed (GObject *object)
cal_backend_set_default_cache_dir (E_CAL_BACKEND (object));
}
+static gboolean
+cal_backend_remove (ECalBackend *backend,
+ GError **error)
+{
+ /* Default implementation assumes no caching. */
+ return TRUE;
+}
+
static void
e_cal_backend_class_init (ECalBackendClass *class)
{
@@ -304,6 +244,8 @@ e_cal_backend_class_init (ECalBackendClass *class)
object_class->finalize = cal_backend_finalize;
object_class->constructed = cal_backend_constructed;
+ class->remove = cal_backend_remove;
+
g_object_class_install_property (
object_class,
PROP_CACHE_DIR,
@@ -338,17 +280,6 @@ e_cal_backend_class_init (ECalBackendClass *class)
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
- g_object_class_install_property (
- object_class,
- PROP_URI,
- g_param_spec_string (
- "uri",
- NULL,
- NULL,
- "",
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY));
-
signals[LAST_CLIENT_GONE] = g_signal_new (
"last_client_gone",
G_TYPE_FROM_CLASS (class),
@@ -449,23 +380,6 @@ e_cal_backend_get_source (ECalBackend *backend)
return backend->priv->source;
}
-/**
- * e_cal_backend_get_uri:
- * @backend: an #ECalBackend
- *
- * Queries the URI of a calendar backend, which must already have an open
- * calendar.
- *
- * Returns: The URI where the calendar is stored.
- **/
-const gchar *
-e_cal_backend_get_uri (ECalBackend *backend)
-{
- g_return_val_if_fail (E_IS_CAL_BACKEND (backend), NULL);
-
- return backend->priv->uri;
-}
-
static void
cal_destroy_cb (gpointer data, GObject *where_cal_was)
{
@@ -746,18 +660,24 @@ e_cal_backend_refresh (ECalBackend *backend, EDataCal *cal, EServerMethodContext
/**
* e_cal_backend_remove:
* @backend: an #ECalBackend
- * @cal: an #EDataCal
+ * @error: return location for a #GError, or %NULL
*
* Removes the calendar being accessed by the given backend.
+ *
+ * Returns: %TRUE on success, %FALSE on failure
*/
-void
-e_cal_backend_remove (ECalBackend *backend, EDataCal *cal, EServerMethodContext context)
+gboolean
+e_cal_backend_remove (ECalBackend *backend,
+ GError **error)
{
- g_return_if_fail (backend != NULL);
- g_return_if_fail (E_IS_CAL_BACKEND (backend));
+ ECalBackendClass *class;
+
+ g_return_val_if_fail (E_IS_CAL_BACKEND (backend), FALSE);
+
+ class = E_CAL_BACKEND_GET_CLASS (backend);
+ g_return_val_if_fail (class->remove != NULL, FALSE);
- g_assert (CLASS (backend)->remove != NULL);
- (* CLASS (backend)->remove) (backend, cal, context);
+ return class->remove (backend, error);
}
/**
diff --git a/calendar/libedata-cal/e-cal-backend.h b/calendar/libedata-cal/e-cal-backend.h
index d9fccf8..45516e9 100644
--- a/calendar/libedata-cal/e-cal-backend.h
+++ b/calendar/libedata-cal/e-cal-backend.h
@@ -63,6 +63,7 @@ struct _ECalBackendClass {
/* Virtual methods */
gboolean (* is_loaded) (ECalBackend *backend);
+ gboolean (* remove) (ECalBackend *backend, GError **error);
void (* is_read_only) (ECalBackend *backend, EDataCal *cal);
void (* get_cal_address) (ECalBackend *backend, EDataCal *cal, EServerMethodContext context);
void (* get_alarm_email_address) (ECalBackend *backend, EDataCal *cal, EServerMethodContext context);
@@ -71,7 +72,6 @@ struct _ECalBackendClass {
void (* open) (ECalBackend *backend, EDataCal *cal, EServerMethodContext context, gboolean only_if_exists, const gchar *username, const gchar *password);
void (* refresh) (ECalBackend *backend, EDataCal *cal, EServerMethodContext context);
- void (* remove) (ECalBackend *backend, EDataCal *cal, EServerMethodContext context);
/* Object related virtual methods */
void (* create_object) (ECalBackend *backend, EDataCal *cal, EServerMethodContext context, const gchar *calobj);
@@ -111,12 +111,13 @@ struct _ECalBackendClass {
GType e_cal_backend_get_type (void);
ESource *e_cal_backend_get_source (ECalBackend *backend);
-const gchar *e_cal_backend_get_uri (ECalBackend *backend);
icalcomponent_kind e_cal_backend_get_kind (ECalBackend *backend);
const gchar *e_cal_backend_get_cache_dir (ECalBackend *backend);
void e_cal_backend_set_cache_dir (ECalBackend *backend, const gchar *cache_dir);
+gboolean e_cal_backend_remove (ECalBackend *backend, GError **error);
+
void e_cal_backend_add_client (ECalBackend *backend, EDataCal *cal);
void e_cal_backend_remove_client (ECalBackend *backend, EDataCal *cal);
@@ -132,7 +133,6 @@ void e_cal_backend_get_static_capabilities (ECalBackend *backend, EDataCal *cal,
void e_cal_backend_open (ECalBackend *backend, EDataCal *cal, EServerMethodContext context, gboolean only_if_exists, const gchar *username, const gchar *password);
void e_cal_backend_refresh (ECalBackend *backend, EDataCal *cal, EServerMethodContext context);
-void e_cal_backend_remove (ECalBackend *backend, EDataCal *cal, EServerMethodContext context);
void e_cal_backend_create_object (ECalBackend *backend, EDataCal *cal, EServerMethodContext context, const gchar *calobj);
void e_cal_backend_modify_object (ECalBackend *backend, EDataCal *cal, EServerMethodContext context, const gchar *calobj, CalObjModType mod);
diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/calendar/libedata-cal/e-data-cal-factory.c
index a242c85..30666f5 100644
--- a/calendar/libedata-cal/e-data-cal-factory.c
+++ b/calendar/libedata-cal/e-data-cal-factory.c
@@ -31,12 +31,11 @@
#include <glib/gi18n.h>
#include <glib-object.h>
-#include "libedataserver/e-url.h"
-#include "libedataserver/e-source.h"
-#include "libedataserver/e-source-list.h"
-#include "libebackend/e-data-server-module.h"
+#include <libedataserver/e-source-registry.h>
+#include <libebackend/e-data-server-module.h>
#include <libebackend/e-offline-listener.h>
-#include "libecal/e-cal.h"
+#include <libecal/e-cal.h>
+#include <libecal/e-source-calendar.h>
#include "e-cal-backend.h"
#include "e-cal-backend-factory.h"
#include "e-data-cal.h"
@@ -96,9 +95,6 @@ struct _EDataCalFactoryPrivate {
gint mode;
- /* this is for notifications of source changes */
- ESourceList *lists[E_CAL_SOURCE_TYPE_LAST];
-
/* backends divided by their type */
GSList *backends_by_type[E_CAL_SOURCE_TYPE_LAST];
@@ -169,64 +165,6 @@ icalkind_to_ecalsourcetype (const icalcomponent_kind kind)
return E_CAL_SOURCE_TYPE_LAST;
}
-static void
-update_source_in_backend (ECalBackend *backend,
- ESource *updated_source)
-{
- ESource *backend_source;
- xmlNodePtr xml;
-
- g_return_if_fail (backend != NULL);
- g_return_if_fail (updated_source != NULL);
-
- backend_source = e_cal_backend_get_source (backend);
-
- xml = xmlNewNode (NULL, (const xmlChar *) "dummy");
- e_source_dump_to_xml_node (updated_source, xml);
- e_source_update_from_xml_node (backend_source, xml->children, NULL);
- xmlFreeNode (xml);
-}
-
-static void
-source_list_changed_cb (ESourceList *list,
- EDataCalFactory *factory)
-{
- EDataCalFactoryPrivate *priv;
- gint i;
-
- g_return_if_fail (list != NULL);
- g_return_if_fail (E_IS_DATA_CAL_FACTORY (factory));
-
- priv = factory->priv;
-
- g_mutex_lock (priv->backends_mutex);
-
- for (i = 0; i < E_CAL_SOURCE_TYPE_LAST; i++) {
- GSList *iter;
-
- if (list != priv->lists[i])
- continue;
-
- for (iter = priv->backends_by_type[i]; iter; iter = iter->next) {
- ECalBackend *backend = iter->data;
- ESource *source, *list_source;
- const gchar *uid;
-
- source = e_cal_backend_get_source (backend);
- uid = e_source_peek_uid (source);
- list_source = e_source_list_peek_source_by_uid (
- priv->lists[i], uid);
-
- if (list_source != NULL)
- update_source_in_backend (backend, list_source);
- }
-
- break;
- }
-
- g_mutex_unlock (priv->backends_mutex);
-}
-
static ECalBackendFactory *
get_backend_factory (GHashTable *methods,
const gchar *method,
@@ -300,78 +238,60 @@ struct find_backend_data {
icalcomponent_kind kind;
};
-static void
-find_backend_cb (gpointer key, gpointer value, gpointer data)
-{
- struct find_backend_data *fbd = data;
-
- if (fbd && fbd->str_uri && !fbd->backend) {
- ECalBackend *backend = value;
- ESource *backend_source;
- gchar *str_uri;
-
- backend_source = e_cal_backend_get_source (backend);
- str_uri = e_source_get_uri (backend_source);
-
- if (str_uri && g_str_equal (str_uri, fbd->str_uri)) {
- const gchar *uid_kind = key, *pos;
-
- pos = strrchr (uid_kind, ':');
- if (pos && atoi (pos + 1) == fbd->kind)
- fbd->backend = backend;
- }
-
- g_free (str_uri);
- }
-}
-
static gboolean
-impl_CalFactory_getCal (EGdbusCalFactory *object, GDBusMethodInvocation *invocation, const gchar *source_xml, guint type, EDataCalFactory *factory)
+impl_CalFactory_getCal (EGdbusCalFactory *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *uid,
+ guint type,
+ EDataCalFactory *factory)
{
EDataCal *calendar;
+ ECalBackend *backend;
EDataCalFactoryPrivate *priv = factory->priv;
ECalBackendFactory *backend_factory;
- ECalBackend *backend;
+ ESourceRegistry *registry;
ESource *source;
- gchar *str_uri;
- EUri *uri;
gchar *uid_type_string;
gchar *path = NULL;
+ const gchar *backend_name;
const gchar *sender;
GList *list;
GError *error = NULL;
- /* Remove a pending exit */
- if (priv->exit_timeout) {
- g_source_remove (priv->exit_timeout);
- priv->exit_timeout = 0;
- }
-
- source = e_source_new_from_standalone_xml (source_xml);
- if (!source) {
- error = g_error_new (E_DATA_CAL_ERROR, NoSuchCal, _("Invalid source"));
+ if (uid == NULL || *uid == '\0') {
+ error = g_error_new_literal (
+ E_DATA_CAL_ERROR, NoSuchCal,
+ _("Missing source UID"));
g_dbus_method_invocation_return_gerror (invocation, error);
g_error_free (error);
return TRUE;
}
- /* Get the URI so we can extract the protocol */
- str_uri = e_source_get_uri (source);
- if (!str_uri) {
- g_object_unref (source);
+ /* Remove a pending exit */
+ if (priv->exit_timeout) {
+ g_source_remove (priv->exit_timeout);
+ priv->exit_timeout = 0;
+ }
+
+ registry = e_source_registry_get_default ();
+ source = e_source_registry_lookup_by_uid (registry, uid);
- error = g_error_new (E_DATA_CAL_ERROR, NoSuchCal, _("Invalid source"));
+ if (source == NULL) {
+ error = g_error_new (
+ E_DATA_CAL_ERROR, NoSuchCal,
+ _("No such source for UID '%s'"), uid);
g_dbus_method_invocation_return_gerror (invocation, error);
g_error_free (error);
return TRUE;
}
- /* Parse the uri */
- uri = e_uri_new (str_uri);
- if (!uri) {
- error = g_error_new (E_DATA_CAL_ERROR, NoSuchCal, _("Invalid URI"));
+ backend_name = e_source_get_backend_name (source);
+ if (backend_name == NULL || *backend_name == '\0') {
+ error = g_error_new (
+ E_DATA_CAL_ERROR, NoSuchCal,
+ _("No backend specified in source UID '%s'"), uid);
g_dbus_method_invocation_return_gerror (invocation, error);
g_error_free (error);
@@ -379,18 +299,17 @@ impl_CalFactory_getCal (EGdbusCalFactory *object, GDBusMethodInvocation *invocat
}
uid_type_string = g_strdup_printf (
- "%s:%d", e_source_peek_uid (source),
- (gint) calobjtype_to_icalkind (type));
+ "%s:%d", uid, (gint) calobjtype_to_icalkind (type));
/* Find the associated backend factory (if any) */
backend_factory = get_backend_factory (
- priv->methods, uri->protocol,
+ priv->methods, backend_name,
calobjtype_to_icalkind (type));
if (!backend_factory) {
error = g_error_new (
E_DATA_CAL_ERROR, NoSuchCal,
_("No backend factory for '%s' of '%s'"),
- uri->protocol, calobjtype_to_string (type));
+ backend_name, calobjtype_to_string (type));
goto cleanup2;
}
@@ -402,26 +321,6 @@ impl_CalFactory_getCal (EGdbusCalFactory *object, GDBusMethodInvocation *invocat
factory->priv->backends, uid_type_string);
if (!backend) {
- /* Find backend by URL, if opened, thus functions like
- * e_cal_system_new_* will not create new backends for
- * the same URL. */
- struct find_backend_data fbd;
-
- fbd.str_uri = str_uri;
- fbd.kind = calobjtype_to_icalkind (type);
- fbd.backend = NULL;
-
- g_hash_table_foreach (priv->backends, find_backend_cb, &fbd);
-
- if (fbd.backend) {
- backend = fbd.backend;
- g_object_unref (source);
- source = e_cal_backend_get_source (backend);
- g_object_ref (source);
- }
- }
-
- if (!backend) {
ECalSourceType st;
/* There was no existing backend, create a new one */
@@ -431,7 +330,7 @@ impl_CalFactory_getCal (EGdbusCalFactory *object, GDBusMethodInvocation *invocat
class = E_CAL_BACKEND_LOADER_FACTORY_GET_CLASS (backend_factory);
backend = class->new_backend_with_protocol (
(ECalBackendLoaderFactory *) backend_factory,
- source, uri->protocol);
+ source, backend_name);
} else
backend = e_cal_backend_factory_new_backend (
backend_factory, source);
@@ -446,17 +345,8 @@ impl_CalFactory_getCal (EGdbusCalFactory *object, GDBusMethodInvocation *invocat
st = icalkind_to_ecalsourcetype (
e_cal_backend_get_kind (backend));
if (st != E_CAL_SOURCE_TYPE_LAST) {
- if (!priv->lists[st] && e_cal_get_sources (
- &(priv->lists[st]), st, NULL)) {
- g_signal_connect (
- priv->lists[st], "changed",
- G_CALLBACK (source_list_changed_cb),
- factory);
- }
-
- if (priv->lists[st])
- priv->backends_by_type[st] = g_slist_prepend (
- priv->backends_by_type[st], backend);
+ priv->backends_by_type[st] = g_slist_prepend (
+ priv->backends_by_type[st], backend);
}
/* Track the backend */
@@ -464,9 +354,6 @@ impl_CalFactory_getCal (EGdbusCalFactory *object, GDBusMethodInvocation *invocat
priv->backends, g_strdup (uid_type_string), backend);
e_cal_backend_set_mode (backend, priv->mode);
- } else if (!e_source_equal (source, e_cal_backend_get_source (backend))) {
- /* source changed, update it in a backend */
- update_source_in_backend (backend, source);
}
calendar = e_data_cal_new (backend, source);
@@ -492,10 +379,7 @@ cleanup:
g_mutex_unlock (priv->backends_mutex);
cleanup2:
- g_free (str_uri);
- e_uri_free (uri);
g_free (uid_type_string);
- g_object_unref (source);
if (error) {
g_dbus_method_invocation_return_gerror (invocation, error);
@@ -904,6 +788,64 @@ setup_quit_signal (void)
}
#endif
+static void
+source_load_error (ESourceRegistry *registry,
+ GFile *file,
+ const GError *error)
+{
+ gchar *basename;
+
+ basename = g_file_get_basename (file);
+ g_critical ("Failed to load source '%s': %s", basename, error->message);
+ g_free (basename);
+}
+
+static void
+source_added (ESourceRegistry *registry,
+ ESource *source,
+ EDataCalFactory *factory)
+{
+ const gchar *display_name;
+ const gchar *uid;
+
+ uid = e_source_get_uid (source);
+ display_name = e_source_get_display_name (source);
+
+ g_message ("Source '%s' added (uid:%s)", display_name, uid);
+}
+
+static void
+source_removed (ESourceRegistry *registry,
+ ESource *source,
+ EDataCalFactory *factory)
+{
+ ECalBackend *backend;
+ const gchar *display_name;
+ const gchar *uid;
+ GError *error = NULL;
+
+ uid = e_source_get_uid (source);
+ display_name = e_source_get_display_name (source);
+
+ g_message ("Source '%s' removed (uid:%s)", display_name, uid);
+
+ backend = g_hash_table_lookup (factory->priv->backends, uid);
+
+ if (backend == NULL) {
+ g_message ("No corresponding backend found");
+ return;
+ }
+
+ g_message ("Notifying backend of removal");
+
+ if (e_cal_backend_remove (backend, &error))
+ g_message ("Backend cleanup was successful");
+ else {
+ g_message ("Backend cleanup failed: %s", error->message);
+ g_error_free (error);
+ }
+}
+
static GOptionEntry entries[] = {
/* FIXME Have the description translated for 3.2, but this
@@ -920,6 +862,7 @@ main (gint argc, gchar **argv)
EOfflineListener *eol;
GOptionContext *context;
EDataCalFactory *factory;
+ ESourceRegistry *registry;
guint owner_id;
GError *error = NULL;
@@ -967,8 +910,32 @@ main (gint argc, gchar **argv)
ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN);
#endif
+ /* Register ESource extensions we'll need. */
+ E_TYPE_SOURCE_CALENDAR;
+ E_TYPE_SOURCE_MEMO_LIST;
+ E_TYPE_SOURCE_TASK_LIST;
+
+ registry = e_source_registry_get_default ();
factory = g_object_new (E_TYPE_DATA_CAL_FACTORY, NULL);
+ g_signal_connect (
+ registry, "load-error",
+ G_CALLBACK (source_load_error), NULL);
+
+ g_signal_connect (
+ registry, "source-added",
+ G_CALLBACK (source_added), factory);
+
+ g_signal_connect (
+ registry, "source-removed",
+ G_CALLBACK (source_removed), factory);
+
+ /* Failure here is fatal. Don't even try to keep going. */
+ if (!e_source_registry_load_sources (registry, &error)) {
+ g_error ("%s", error->message);
+ g_assert_not_reached ();
+ }
+
loop = g_main_loop_new (NULL, FALSE);
eol = e_offline_listener_new ();
@@ -977,7 +944,8 @@ main (gint argc, gchar **argv)
eol, "changed",
G_CALLBACK (offline_state_changed_cb), factory);
- owner_id = g_bus_own_name (G_BUS_TYPE_SESSION,
+ owner_id = g_bus_own_name (
+ G_BUS_TYPE_SESSION,
CALENDAR_DBUS_SERVICE_NAME,
G_BUS_NAME_OWNER_FLAGS_NONE,
on_bus_acquired,
diff --git a/calendar/libedata-cal/e-data-cal.c b/calendar/libedata-cal/e-data-cal.c
index 0a80e0b..48386a5 100644
--- a/calendar/libedata-cal/e-data-cal.c
+++ b/calendar/libedata-cal/e-data-cal.c
@@ -219,15 +219,6 @@ e_data_cal_get_backend (EDataCal *cal)
return cal->priv->backend;
}
-/* EDataCal::getUri method */
-static gboolean
-impl_Cal_getUri (EGdbusCal *object, GDBusMethodInvocation *invocation, EDataCal *cal)
-{
- e_gdbus_cal_complete_get_uri (object, invocation, e_cal_backend_get_uri (cal->priv->backend));
-
- return TRUE;
-}
-
/* EDataCal::getCacheDir method */
static gboolean
impl_Cal_getCacheDir (EGdbusCal *object, GDBusMethodInvocation *invocation, EDataCal *cal)
@@ -267,15 +258,6 @@ impl_Cal_close (EGdbusCal *object, GDBusMethodInvocation *invocation, EDataCal *
return TRUE;
}
-/* EDataCal::remove method */
-static gboolean
-impl_Cal_remove (EGdbusCal *object, GDBusMethodInvocation *invocation, EDataCal *cal)
-{
- e_cal_backend_remove (cal->priv->backend, cal, invocation);
-
- return TRUE;
-}
-
/* EDataCal::isReadOnly method */
static gboolean
impl_Cal_isReadOnly (EGdbusCal *object, GDBusMethodInvocation *invocation, EDataCal *cal)
@@ -734,25 +716,6 @@ e_data_cal_notify_refresh (EDataCal *cal, EServerMethodContext context, GError *
}
/**
- * e_data_cal_notify_remove:
- * @cal: A calendar client interface.
- * @error: Operation error, if any, automatically freed if passed it.
- *
- * Notifies listeners of the completion of the remove method call.
- */
-void
-e_data_cal_notify_remove (EDataCal *cal, EServerMethodContext context, GError *error)
-{
- GDBusMethodInvocation *invocation = context;
- if (error) {
- /* Translators: The '%s' is replaced with a detailed error message */
- data_cal_return_error (invocation, error, _("Cannot remove calendar: %s"));
- g_error_free (error);
- } else
- e_gdbus_cal_complete_remove (cal->priv->gdbus_object, invocation);
-}
-
-/**
* e_data_cal_notify_object_created:
* @cal: A calendar client interface.
* @error: Operation error, if any, automatically freed if passed it.
@@ -1214,12 +1177,10 @@ e_data_cal_init (EDataCal *ecal)
ecal->priv->gdbus_object = e_gdbus_cal_stub_new ();
gdbus_object = ecal->priv->gdbus_object;
- g_signal_connect (gdbus_object, "handle-get-uri", G_CALLBACK (impl_Cal_getUri), ecal);
g_signal_connect (gdbus_object, "handle-get-cache-dir", G_CALLBACK (impl_Cal_getCacheDir), ecal);
g_signal_connect (gdbus_object, "handle-open", G_CALLBACK (impl_Cal_open), ecal);
g_signal_connect (gdbus_object, "handle-refresh", G_CALLBACK (impl_Cal_refresh), ecal);
g_signal_connect (gdbus_object, "handle-close", G_CALLBACK (impl_Cal_close), ecal);
- g_signal_connect (gdbus_object, "handle-remove", G_CALLBACK (impl_Cal_remove), ecal);
g_signal_connect (gdbus_object, "handle-is-read-only", G_CALLBACK (impl_Cal_isReadOnly), ecal);
g_signal_connect (gdbus_object, "handle-get-cal-address", G_CALLBACK (impl_Cal_getCalAddress), ecal);
g_signal_connect (gdbus_object, "handle-get-alarm-email-address", G_CALLBACK (impl_Cal_getAlarmEmailAddress), ecal);
diff --git a/calendar/libedata-cal/e-data-cal.h b/calendar/libedata-cal/e-data-cal.h
index 05a270d..309536a 100644
--- a/calendar/libedata-cal/e-data-cal.h
+++ b/calendar/libedata-cal/e-data-cal.h
@@ -123,7 +123,6 @@ void e_data_cal_notify_static_capabilities (EDataCal *cal, EServerMethodContext
void e_data_cal_notify_open (EDataCal *cal, EServerMethodContext context, GError *error);
void e_data_cal_notify_refresh (EDataCal *cal, EServerMethodContext context, GError *error);
-void e_data_cal_notify_remove (EDataCal *cal, EServerMethodContext context, GError *error);
void e_data_cal_notify_object_created (EDataCal *cal, EServerMethodContext context, GError *error,
const gchar *uid, const gchar *object);
diff --git a/calendar/libedata-cal/e-data-cal.xml b/calendar/libedata-cal/e-data-cal.xml
index 95717d9..d64c0a4 100644
--- a/calendar/libedata-cal/e-data-cal.xml
+++ b/calendar/libedata-cal/e-data-cal.xml
@@ -18,12 +18,6 @@
<arg name="mode" type="i"/>
</signal>
- <method name="getUri">
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_Cal_get_uri"/>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="str_uri_copy" type="s" direction="out"/>
- </method>
-
<method name="getCacheDir">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_Cal_getCacheDir"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
@@ -46,11 +40,6 @@
<method name="close">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_Cal_close"/>
</method>
-
- <method name="remove">
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_Cal_remove"/>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- </method>
<method name="isReadOnly">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_Cal_isReadOnly"/>
diff --git a/calendar/libegdbus/e-gdbus-egdbuscal.c b/calendar/libegdbus/e-gdbus-egdbuscal.c
index 12fb006..959c01d 100644
--- a/calendar/libegdbus/e-gdbus-egdbuscal.c
+++ b/calendar/libegdbus/e-gdbus-egdbuscal.c
@@ -319,7 +319,6 @@ e_gdbus_cal_default_init (EGdbusCalIface *iface)
g_hash_table_insert (_method_name_to_id, (gpointer) "open", GUINT_TO_POINTER (__OPEN_METHOD));
g_hash_table_insert (_method_name_to_id, (gpointer) "refresh", GUINT_TO_POINTER (__REFRESH_METHOD));
g_hash_table_insert (_method_name_to_id, (gpointer) "close", GUINT_TO_POINTER (__CLOSE_METHOD));
- g_hash_table_insert (_method_name_to_id, (gpointer) "remove", GUINT_TO_POINTER (__REMOVE_METHOD));
g_hash_table_insert (_method_name_to_id, (gpointer) "isReadOnly", GUINT_TO_POINTER (__IS_READ_ONLY_METHOD));
g_hash_table_insert (_method_name_to_id, (gpointer) "getCalAddress", GUINT_TO_POINTER (__GET_CAL_ADDRESS_METHOD));
g_hash_table_insert (_method_name_to_id, (gpointer) "getAlarmEmailAddress", GUINT_TO_POINTER (__GET_ALARM_EMAIL_ADDRESS_METHOD));
@@ -594,30 +593,6 @@ e_gdbus_cal_default_init (EGdbusCalIface *iface)
1,
G_TYPE_DBUS_METHOD_INVOCATION);
/**
- * EGdbusCal::handle-remove:
- * @object: The exported object emitting the signal.
- * @invocation: A #GDBusMethodInvocation object that can be used to return a value or error.
- *
- * On exported objects, this signal is emitted when a remote process (identified by @invocation) invokes the <literal>remove</literal> D-Bus method on @object. Use e_gdbus_cal_complete_remove() to return a value or g_dbus_method_invocation_return_error() to return an error.
- *
- * The signal is emitted in the thread-default main loop of the thread that e_gdbus_cal_register_object() was called from.
- *
- * On proxies, this signal is never emitted.
- *
- * Returns: %TRUE if you want to handle the method call (will stop further handlers from being called), %FALSE otherwise.
- */
- signals[__REMOVE_METHOD] =
- g_signal_new ("handle-remove",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EGdbusCalIface, handle_remove),
- g_signal_accumulator_true_handled,
- NULL,
- _e_gdbus_gdbus_cclosure_marshaller_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN,
- 1,
- G_TYPE_DBUS_METHOD_INVOCATION);
- /**
* EGdbusCal::handle-is-read-only:
* @object: The exported object emitting the signal.
* @invocation: A #GDBusMethodInvocation object that can be used to return a value or error.
@@ -1746,106 +1721,6 @@ _out:
}
/**
- * e_gdbus_cal_call_remove:
- * @proxy: A #EGdbusCal.
- * @cancellable: A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result of the method invocation.
- * @user_data: Data to pass to @callback.
- *
- * Invokes the <literal>org.gnome.evolution.dataserver.Calendar.remove</literal>
- * D-Bus method on the remote object represented by @proxy.
- *
- * This is an asynchronous method. When the operation is finished,
- * callback will be invoked in the thread-default main loop of the
- * thread you are calling this method from. You can then call
- * e_gdbus_cal_call_remove_finish() to get the result of the operation.
- *
- * See e_gdbus_cal_call_remove_sync() for the synchronous version of this method.
- */
-void e_gdbus_cal_call_remove (
- EGdbusCal *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GVariant *_params;
- _params = NULL;
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "remove",
- _params,
- G_DBUS_CALL_FLAGS_NONE,
- e_data_server_util_get_dbus_call_timeout (),
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * e_gdbus_cal_call_remove_finish:
- * @proxy: A #EGdbusCal.
- * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to e_gdbus_cal_call_remove().
- * @error: Return location for error or %NULL.
- *
- * Finishes invoking the <literal>org.gnome.evolution.dataserver.Calendar.remove</literal>
- * D-Bus method on the remote object represented by @proxy.
- *
- * Returns: %TRUE if the call succeeded, %FALSE if @error is set.
- */
-gboolean e_gdbus_cal_call_remove_finish (
- EGdbusCal *proxy,
- GAsyncResult *res,
- GError **error)
-{
- gboolean _ret = FALSE;
- GVariant *_result;
- _result = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_result == NULL)
- goto _out;
- g_variant_unref (_result);
- _ret = TRUE;
-_out:
- return _ret;
-}
-
-/**
- * e_gdbus_cal_call_remove_sync:
- * @proxy: A #EGdbusCal.
- * @cancellable: A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the <literal>org.gnome.evolution.dataserver.Calendar.remove</literal>
- * D-Bus method on the remote object represented by @proxy.
- *
- * The calling thread is blocked until a reply is received. See
- * e_gdbus_cal_call_remove() for the asynchronous version of this method.
- *
- * Returns: %TRUE if the call succeeded, %FALSE if @error is set.
- */
-gboolean e_gdbus_cal_call_remove_sync (
- EGdbusCal *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- gboolean _ret = FALSE;
- GVariant *_params;
- GVariant *_result;
- _params = NULL;
- _result = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "remove",
- _params,
- G_DBUS_CALL_FLAGS_NONE,
- e_data_server_util_get_dbus_call_timeout (),
- cancellable,
- error);
- if (_result == NULL)
- goto _out;
- g_variant_unref (_result);
- _ret = TRUE;
-_out:
- return _ret;
-}
-
-/**
* e_gdbus_cal_call_is_read_only:
* @proxy: A #EGdbusCal.
* @cancellable: A #GCancellable or %NULL.
@@ -4514,26 +4389,6 @@ void e_gdbus_cal_complete_close (
}
/**
- * e_gdbus_cal_complete_remove:
- * @object: A #EGdbusCal.
- * @invocation: A #GDBusMethodInvocation.
- *
- * Completes handling the <literal>org.gnome.evolution.dataserver.Calendar.remove</literal>
- * D-Bus method invocation by returning a value.
- *
- * If you want to return an error, use g_dbus_method_invocation_return_error()
- * or similar instead.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void e_gdbus_cal_complete_remove (
- EGdbusCal *object,
- GDBusMethodInvocation *invocation)
-{
- g_dbus_method_invocation_return_value (invocation, NULL);
-}
-
-/**
* e_gdbus_cal_complete_is_read_only:
* @object: A #EGdbusCal.
* @invocation: A #GDBusMethodInvocation.
@@ -5290,15 +5145,6 @@ static const GDBusMethodInfo e_gdbus_cal_method_close =
(GDBusAnnotationInfo **) NULL,
};
-static const GDBusMethodInfo e_gdbus_cal_method_remove =
-{
- -1,
- (gchar *) "remove",
- (GDBusArgInfo **) NULL,
- (GDBusArgInfo **) NULL,
- (GDBusAnnotationInfo **) NULL,
-};
-
static const GDBusMethodInfo e_gdbus_cal_method_isReadOnly =
{
-1,
@@ -5982,7 +5828,6 @@ static const GDBusMethodInfo * const e_gdbus_cal_method_info_pointers[] =
&e_gdbus_cal_method_open,
&e_gdbus_cal_method_refresh,
&e_gdbus_cal_method_close,
- &e_gdbus_cal_method_remove,
&e_gdbus_cal_method_isReadOnly,
&e_gdbus_cal_method_getCalAddress,
&e_gdbus_cal_method_getAlarmEmailAddress,
diff --git a/calendar/libegdbus/e-gdbus-egdbuscal.h b/calendar/libegdbus/e-gdbus-egdbuscal.h
index 0918d8c..edc80e4 100644
--- a/calendar/libegdbus/e-gdbus-egdbuscal.h
+++ b/calendar/libegdbus/e-gdbus-egdbuscal.h
@@ -37,7 +37,6 @@ typedef struct _EGdbusCal EGdbusCal; /* Dummy typedef */
* @handle_open: Handler for the #EGdbusCal::handle-open signal.
* @handle_refresh: Handler for the #EGdbusCal::handle-refresh signal.
* @handle_close: Handler for the #EGdbusCal::handle-close signal.
- * @handle_remove: Handler for the #EGdbusCal::handle-remove signal.
* @handle_is_read_only: Handler for the #EGdbusCal::handle-is-read-only signal.
* @handle_get_cal_address: Handler for the #EGdbusCal::handle-get-cal-address signal.
* @handle_get_alarm_email_address: Handler for the #EGdbusCal::handle-get-alarm-email-address signal.
@@ -218,11 +217,8 @@ struct _EGdbusCalIface
EGdbusCal *object,
GDBusMethodInvocation *invocation);
gboolean (*handle_close) (
- EGdbusCal *object,
- GDBusMethodInvocation *invocation);
- gboolean (*handle_remove) (
- EGdbusCal *object,
- GDBusMethodInvocation *invocation);
+ EGdbusCal *object,
+ GDBusMethodInvocation *invocation);
gboolean (*handle_is_read_only) (
EGdbusCal *object,
GDBusMethodInvocation *invocation);
@@ -408,22 +404,6 @@ gboolean e_gdbus_cal_call_close_sync (
GCancellable *cancellable,
GError **error);
-void e_gdbus_cal_call_remove (
- EGdbusCal *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean e_gdbus_cal_call_remove_finish (
- EGdbusCal *proxy,
- GAsyncResult *res,
- GError **error);
-
-gboolean e_gdbus_cal_call_remove_sync (
- EGdbusCal *proxy,
- GCancellable *cancellable,
- GError **error);
-
void e_gdbus_cal_call_is_read_only (
EGdbusCal *proxy,
GCancellable *cancellable,
@@ -881,10 +861,6 @@ void e_gdbus_cal_complete_close (
EGdbusCal *object,
GDBusMethodInvocation *invocation);
-void e_gdbus_cal_complete_remove (
- EGdbusCal *object,
- GDBusMethodInvocation *invocation);
-
void e_gdbus_cal_complete_is_read_only (
EGdbusCal *object,
GDBusMethodInvocation *invocation);
diff --git a/docs/reference/calendar/libedata-cal/libedata-cal-sections.txt b/docs/reference/calendar/libedata-cal/libedata-cal-sections.txt
index ddfeed8..0ac1e2e 100644
--- a/docs/reference/calendar/libedata-cal/libedata-cal-sections.txt
+++ b/docs/reference/calendar/libedata-cal/libedata-cal-sections.txt
@@ -116,7 +116,6 @@ e_cal_backend_sync_get_ldap_attribute
e_cal_backend_sync_get_static_capabilities
e_cal_backend_sync_open
e_cal_backend_sync_refresh
-e_cal_backend_sync_remove
e_cal_backend_sync_create_object
e_cal_backend_sync_modify_object
e_cal_backend_sync_remove_object
@@ -150,7 +149,6 @@ e_cal_backend_sync_get_type
<TITLE>ECalBackend</TITLE>
ECalBackend
e_cal_backend_get_source
-e_cal_backend_get_uri
e_cal_backend_get_kind
e_cal_backend_get_cache_dir
e_cal_backend_set_cache_dir
@@ -313,7 +311,6 @@ e_data_cal_notify_ldap_attribute
e_data_cal_notify_static_capabilities
e_data_cal_notify_open
e_data_cal_notify_refresh
-e_data_cal_notify_remove
e_data_cal_notify_object_created
e_data_cal_notify_object_modified
e_data_cal_notify_object_removed
diff --git a/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend-sync.sgml b/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend-sync.sgml
index 599359e..c8d0588 100644
--- a/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend-sync.sgml
+++ b/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend-sync.sgml
@@ -122,16 +122,6 @@ Base class for synchronous backends.
@error:
-<!-- ##### FUNCTION e_cal_backend_sync_remove ##### -->
-<para>
-
-</para>
-
- backend:
- cal:
- error:
-
-
<!-- ##### FUNCTION e_cal_backend_sync_create_object ##### -->
<para>
diff --git a/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend.sgml b/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend.sgml
index e05ef72..1941a22 100644
--- a/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend.sgml
+++ b/docs/reference/calendar/libedata-cal/tmpl/e-cal-backend.sgml
@@ -48,11 +48,6 @@ Base class for calendar/tasks backend implementations.
</para>
-<!-- ##### ARG ECalBackend:uri ##### -->
-<para>
-
-</para>
-
<!-- ##### FUNCTION e_cal_backend_get_source ##### -->
<para>
@@ -62,15 +57,6 @@ Base class for calendar/tasks backend implementations.
@Returns:
-<!-- ##### FUNCTION e_cal_backend_get_uri ##### -->
-<para>
-
-</para>
-
- backend:
- Returns:
-
-
<!-- ##### FUNCTION e_cal_backend_get_kind ##### -->
<para>
@@ -221,8 +207,8 @@ Base class for calendar/tasks backend implementations.
</para>
@backend:
- cal:
- context:
+ error:
+ Returns:
<!-- ##### FUNCTION e_cal_backend_create_object ##### -->
diff --git a/docs/reference/calendar/libedata-cal/tmpl/e-data-cal.sgml b/docs/reference/calendar/libedata-cal/tmpl/e-data-cal.sgml
index 6a03e53..d86aacd 100644
--- a/docs/reference/calendar/libedata-cal/tmpl/e-data-cal.sgml
+++ b/docs/reference/calendar/libedata-cal/tmpl/e-data-cal.sgml
@@ -186,16 +186,6 @@ Implementation of the calendar CORBA client interface.
@error:
-<!-- ##### FUNCTION e_data_cal_notify_remove ##### -->
-<para>
-
-</para>
-
- cal:
- context:
- error:
-
-
<!-- ##### FUNCTION e_data_cal_notify_object_created ##### -->
<para>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]