Re: [Evolution-hackers] recurrence clarifications



On Thu, 2003-10-09 at 17:05, Dan Winship wrote:
> What is the "rid" argument to cal_client_get_object, etc supposed to be?
> I'm guessing a DATE-TIME representation in UTC?
>
I intended to use a string representation of the RECURRENCE-ID. So, we
could just use icaltime_as_ical_string with the icaltimetype returned
via libical.

>  It would probably be
> nicer if cal_client_get_object just took a struct icaltimetype * instead
> though, and did the conversion to UTC and to string for you. (libical
> uses struct icaltimetype for RECURRENCE-ID values),
> 
> Also, the "mod" argument in cal_client_remove_object_with_mod() can't
> actually do anything useful currently, because there's no recurrence-id
> arg, so there's nothing for the mod to be referring to.
>
right, adding it as we speak.

>  Given that, and
> the fact that "mod" is meaningless for the non-recurrence-id case, I'm
> wondering if maybe we shouldn't just have separate methods for handling
> instances. Eg:
> 
>         gboolean cal_client_create_object (CalClient *client, icalcomponent *icalcomp,
>         				   char **uid, GError **error);
>         gboolean cal_client_modify_object (CalClient *client, icalcomponent *icalcomp,
>         				   GError **error);
>         gboolean cal_client_remove_object (CalClient *client, const char *uid,
>         				   GError **error);
>         
>         gboolean cal_client_add_instance     (CalClient *client, const char *uid,
>         				      const char *rid, GError **error);
>         gboolean cal_client_modify_instances (CalClient *client, icalcomponent *icalcomp,
>         				      CalObjModType mod, GError **error);
>         gboolean cal_client_remove_instances (CalClient *client, const char *uid,
>         				      const char *rid, CalObjModType mod,
>         				      GError **error);
> 
> Though if we didn't mind being more iTIP-ish, we could even remove the
> "mod" argument from cal_client_modify_instances and just have the caller
> add a RANGE parameter to the RECURRENCE-ID in "icalcomp". Though I guess
> if we were going to do that, we could just get rid of all of the idl
> except for receiveObjects and make all of the cal_client functions be
> wrappers around that...
> 
well, the problem with that is that the client is going to be dealing
with the individual instances almost all the time (the GUI at least), so
it's easier to have the calls deal with the individual instances.

> Anyway, we at least need to do something about remove_object_with_mod.
> Currently there's no way to do "remove all future instances of this
> meeting" (other than manually editting the RRULEs).
> 
yes, I'm right now adding the 'rid' argument to removeObject.

cheers




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