[Evolution-hackers] API change in libedata-cal [calendar]
- From: chenthill palanisamy <pchenthill novell com>
- To: hackers <evolution-hackers lists ximian com>
- Subject: [Evolution-hackers] API change in libedata-cal [calendar]
- Date: Tue, 02 Aug 2005 17:18:46 +0530
Hi,
It is not possible to remove a particular instance of a recurring
event without a recurrence id. The following API's should be modified to
include the recurrence id for the clients to identify the instances.
void e_data_cal_view_notify_objects_removed (EDataCalView *query, GList
*uids);
void e_data_cal_view_notify_objects_removed_1 (EDataCalView *query,
const char *uid);
void e_cal_backend_notify_object_removed (ECalBackend *backend, const
char *uid, const char *old_object, const char *object)
This cause problems in removing the recurring appointments from the
backends.
To fix this a new structure would be added to ECalComponent which maps
the uid and rid for a particular component. This is as follows ...
typedef struct {
char *uid;
char *rid;
} ECalComponentId;
There will be two functions
ECalComponent *id e_cal_component_get_id (ECalComponent *comp); - For
getting the id.
void e_cal_component_free_id (ECalComponentId *id); - Free memory.
The modified APis would be
void e_data_cal_view_notify_objects_removed_1 (EDataCalView *query,
ECalComponentId *id);
void e_data_cal_view_notify_objects_removed (EDataCalView *query, GList
*ids); - ids will be a list of ECalComponentIds.
void e_cal_backend_notify_object_removed (ECalBackend *backend,
ECalComponentId *id, const char *old_object, const char *object)
thanks, chenthill.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]