Re: [evolution-patches] support for webcal tasks



JP Rosevear wrote:
Its probably better here to check against the kind of the backend (its
passed as a parameter during construction), that way if you have a file
containing a mixed backend, the right types are in the right backend.

Yes, that seems much better.  Updated patch attached.

Jon
? addressbook/backends/groupwise/Makefile
? addressbook/backends/groupwise/Makefile.in
? addressbook/backends/groupwise/create-account
? calendar/libical/src/python/Makefile
? calendar/libical/src/python/Makefile.in
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/ChangeLog,v
retrieving revision 1.110
diff -p -u -r1.110 ChangeLog
--- ChangeLog	19 Mar 2004 18:43:51 -0000	1.110
+++ ChangeLog	24 Mar 2004 20:17:26 -0000
@@ -1,3 +1,8 @@
+2004-03-23  William Jon McCann  <mccann jhu edu>
+
+	* src/server.c (setup_cals): add registration of webcal protocol
+	for tasks.
+
 2004-03-19  Rodrigo Moya <rodrigo ximian com>
 
 	* src/Makefile.am: added $SOUP_CFLAGS, needed for
Index: calendar/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.221
diff -p -u -r1.221 ChangeLog
--- calendar/ChangeLog	22 Mar 2004 11:07:31 -0000	1.221
+++ calendar/ChangeLog	24 Mar 2004 20:17:26 -0000
@@ -1,3 +1,9 @@
+2004-03-24  William Jon McCann  <mccann jhu edu>
+
+	* backends/http/e-cal-backend-http.c (retrieval_done):
+	(e_cal_backend_http_get_default_object): use the same component
+	kind as the backend.
+
 2004-03-22  Rodrigo Moya <rodrigo ximian com>
 
 	* backends/groupwise/e-cal-backend-groupwise-utils.[ch]
Index: calendar/backends/http/e-cal-backend-http.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/http/e-cal-backend-http.c,v
retrieving revision 1.14
diff -p -u -r1.14 e-cal-backend-http.c
--- calendar/backends/http/e-cal-backend-http.c	1 Mar 2004 15:45:56 -0000	1.14
+++ calendar/backends/http/e-cal-backend-http.c	24 Mar 2004 20:17:27 -0000
@@ -193,6 +193,7 @@ retrieval_done (SoupMessage *msg, ECalBa
 {
 	ECalBackendHttpPrivate *priv;
 	icalcomponent *icalcomp, *subcomp;
+	icalcomponent_kind kind;
 	const char *newuri;
 	char *str;
 
@@ -246,7 +247,8 @@ retrieval_done (SoupMessage *msg, ECalBa
 	}
 
 	/* Update cache */
-	subcomp = icalcomponent_get_first_component (icalcomp, ICAL_VEVENT_COMPONENT);
+	kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbhttp));
+	subcomp = icalcomponent_get_first_component (icalcomp, kind);
 	while (subcomp) {
 		ECalComponent *comp;
 
@@ -259,7 +261,7 @@ retrieval_done (SoupMessage *msg, ECalBa
 
 		g_object_unref (comp);
 
-		subcomp = icalcomponent_get_next_component (icalcomp, ICAL_VEVENT_COMPONENT);
+		subcomp = icalcomponent_get_next_component (icalcomp, kind);
 	}
 
 	/* free memory */
@@ -462,11 +464,13 @@ e_cal_backend_http_get_default_object (E
 	ECalBackendHttp *cbhttp;
 	ECalBackendHttpPrivate *priv;
 	icalcomponent *icalcomp;
+	icalcomponent_kind kind;
 
 	cbhttp = E_CAL_BACKEND_HTTP (backend);
 	priv = cbhttp->priv;
 
-	icalcomp = e_cal_util_new_component (ICAL_VEVENT_COMPONENT);
+	kind = e_cal_backend_get_kind (E_CAL_BACKEND (backend));
+	icalcomp = e_cal_util_new_component (kind);
 	*object = g_strdup (icalcomponent_as_ical_string (icalcomp));
 	icalcomponent_free (icalcomp);
 
Index: src/server.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/src/server.c,v
retrieving revision 1.15
diff -p -u -r1.15 server.c
--- src/server.c	11 Mar 2004 10:23:24 -0000	1.15
+++ src/server.c	24 Mar 2004 20:17:28 -0000
@@ -187,6 +187,7 @@ setup_cals (void)
 	e_data_cal_factory_register_method (e_data_cal_factory, "groupwise", ICAL_VEVENT_COMPONENT, E_TYPE_CAL_BACKEND_GROUPWISE);
 	e_data_cal_factory_register_method (e_data_cal_factory, "groupwise", ICAL_VTODO_COMPONENT, E_TYPE_CAL_BACKEND_GROUPWISE);
 	e_data_cal_factory_register_method (e_data_cal_factory, "webcal", ICAL_VEVENT_COMPONENT, E_TYPE_CAL_BACKEND_HTTP);
+	e_data_cal_factory_register_method (e_data_cal_factory, "webcal", ICAL_VTODO_COMPONENT, E_TYPE_CAL_BACKEND_HTTP);
 	e_data_cal_factory_register_method (e_data_cal_factory, "contacts", ICAL_VEVENT_COMPONENT, E_TYPE_CAL_BACKEND_CONTACTS);
 
 	if (!e_data_cal_factory_register_storage (e_data_cal_factory, E_DATA_CAL_FACTORY_OAF_ID)) {


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