e-cal-recur

e-cal-recur

Synopsis

gboolean            (*ECalRecurInstanceFn)              (ECalComponent *comp,
                                                         time_t instance_start,
                                                         time_t instance_end,
                                                         gpointer data);
icaltimezone *      (*ECalRecurResolveTimezoneFn)       (const gchar *tzid,
                                                         gpointer data);
void                e_cal_recur_generate_instances      (ECalComponent *comp,
                                                         time_t start,
                                                         time_t end,
                                                         ECalRecurInstanceFn cb,
                                                         gpointer cb_data,
                                                         ECalRecurResolveTimezoneFn tz_cb,
                                                         gpointer tz_cb_data,
                                                         icaltimezone *default_timezone);
time_t              e_cal_recur_obtain_enddate          (struct icalrecurrencetype *ir,
                                                         icalproperty *prop,
                                                         icaltimezone *zone,
                                                         gboolean convert_end_date);
gboolean            e_cal_recur_ensure_end_dates        (ECalComponent *comp,
                                                         gboolean refresh,
                                                         ECalRecurResolveTimezoneFn tz_cb,
                                                         gpointer tz_cb_data);
const gchar **      e_cal_get_recur_nth                 (void);
#define             e_cal_recur_nth

Description

Details

ECalRecurInstanceFn ()

gboolean            (*ECalRecurInstanceFn)              (ECalComponent *comp,
                                                         time_t instance_start,
                                                         time_t instance_end,
                                                         gpointer data);

ECalRecurResolveTimezoneFn ()

icaltimezone *      (*ECalRecurResolveTimezoneFn)       (const gchar *tzid,
                                                         gpointer data);

e_cal_recur_generate_instances ()

void                e_cal_recur_generate_instances      (ECalComponent *comp,
                                                         time_t start,
                                                         time_t end,
                                                         ECalRecurInstanceFn cb,
                                                         gpointer cb_data,
                                                         ECalRecurResolveTimezoneFn tz_cb,
                                                         gpointer tz_cb_data,
                                                         icaltimezone *default_timezone);

Calls the given callback function for each occurrence of the event that intersects the range between the given start and end times (the end time is not included). Note that the occurrences may start before the given start time.

If the callback routine returns FALSE the occurrence generation stops.

Both start and end can be -1, in which case we start at the events first instance and continue until it ends, or forever if it has no enddate.

The tz_cb is used to resolve references to timezones. It is passed a TZID and should return the icaltimezone* corresponding to that TZID. We need to do this as we access timezones in different ways on the client & server.

The default_timezone argument is used for DTSTART or DTEND properties that are DATE values or do not have a TZID (i.e. floating times).

comp :

A calendar component object

start :

Range start time

end :

Range end time

cb :

Callback function. [closure cb_data][scope call]

cb_data :

Closure data for the callback function. [closure]

tz_cb :

Callback for retrieving timezones. [closure tz_cb_data][scope call]

tz_cb_data :

Closure data for the timezone callback. [closure]

default_timezone :

Default timezone to use when a timezone cannot be found

e_cal_recur_obtain_enddate ()

time_t              e_cal_recur_obtain_enddate          (struct icalrecurrencetype *ir,
                                                         icalproperty *prop,
                                                         icaltimezone *zone,
                                                         gboolean convert_end_date);

e_cal_recur_ensure_end_dates ()

gboolean            e_cal_recur_ensure_end_dates        (ECalComponent *comp,
                                                         gboolean refresh,
                                                         ECalRecurResolveTimezoneFn tz_cb,
                                                         gpointer tz_cb_data);

This recalculates the end dates for recurrence & exception rules which use the COUNT property. If refresh is TRUE it will recalculate all enddates for rules which use COUNT. If refresh is FALSE, it will only calculate the enddate if it hasn't already been set. It returns TRUE if the component was changed, i.e. if the component should be saved at some point. We store the enddate in the "X-EVOLUTION-ENDDATE" parameter of the RRULE or EXRULE.

comp :

an ECalComponent

refresh :

TRUE to recalculate all end dates

tz_cb :

function to call to resolve timezones. [closure tz_cb_data][scope call]

tz_cb_data :

data to pass to tz_cb. [closure]

Returns :

TRUE if the component was changed, FALSE otherwise

Since 2.32


e_cal_get_recur_nth ()

const gchar **      e_cal_get_recur_nth                 (void);

Returns an array of 31 translated strings for each day of the month (i.e. "1st", "2nd", and so on).

Returns :

a pointer to an array of strings. This array is static, do not free it.

e_cal_recur_nth

#define e_cal_recur_nth (e_cal_get_recur_nth ())

An array of 31 translated strings for each day of the month (i.e. "1st", "2nd", and so on).