[Gpephone-devel] Calendar Scheduling
lin
lin.yang at orange-ftgroup.com
Wed Mar 21 09:22:19 CET 2007
Hi,
Pls see the comments below.
On Wed, 2007-03-21 at 02:54 +0100, zze-Ost SEBASTIEN A ext RD-ILAB
wrote:
> Hi ,
> I'm working on group scheduling functions in calendar enabler.
> There're following questions up till now.
>
> 1- Our function should require an instance ID when working with iCals so
> that just one instance can be canceled or rescheduled or ... for a
> repeating event, in the way it is specified by the RFC (if no RID is
> specified, the modifications are to be applied to the whole component) .
Let's make things easier. As we provide functions to remove/modify one
instance in the "calcomponent.h" file, things can be made easy for
scheduling part.
As a example, there's a repeating event which is consisted of one main
VEVENT component and several detached VEVENT component. If we modify
one instance, causing modification of the detached component, how to
notify other attendees about the modification?
As the calendar enabler hides the "detached component" concept from the
application.It's hard for enabler to provide interface to transfer only
the detached components.Therefore, a simple but direct way is to
transfer all the main component and detached component. When others
receive the info, 1.firstly, they'll check whether they have components
of the same UID. If not, simply add the component to the data
storage.If yes, then 2. check the SEQUENCE, if the sequence in the
newly arrived info is smaller than current sequence in the
component,just ignore the info;Otherwise, replace current component
with the newly arrived ones.
With above design, it's simple to solve your problem.Just modify/remove
instances by current interfaces in "calcompoent.h".Then create new
"cal_ical_t" structure and add the newly modified component to the
structure.
> 2- We could provide shortcut methods for the iTIP methods that are
> simple (publish for example)
By current interfaces, we can create a ical structure for publish
through:
cal_ical_new (sid, &ical);
cal_ical_set_method (ical, PUBLISH);
cal_ical_add_component (ical, component);
For shortcut, we can provide interface such as:
cal_create_publish_ical (sid, component, &ical);
cal_create_request_ical (sid, component, &ical);
cal_create_reply_ical (sid, ical1, status, &ical2);
cal_create_cancel_ical (sid, component, &ical);
More information about the Gpephone-devel
mailing list