e-cal-recur

e-cal-recur

Functions

Types and Values

Description

Functions

ECalRecurResolveTimezoneCb ()

ICalTimezone *
(*ECalRecurResolveTimezoneCb) (const gchar *tzid,
                               gpointer user_data,
                               GCancellable *cancellable,
                               GError **error);

Resolve timezone by its ID provided as tzid . The returned object, if not NULL, is owned by the callback implementation and should not be freed.

Parameters

tzid

timezone ID to resolve

 

user_data

user data used for this callback

 

cancellable

optional GCancellable object, or NULL

 

error

return location for a GError, or NULL

 

Returns

an ICalTimezone object for tzid , or NULL, on error or if not found.

[transfer none][nullable]

Since: 3.34


ECalRecurInstanceCb ()

gboolean
(*ECalRecurInstanceCb) (ICalComponent *icomp,
                        ICalTime *instance_start,
                        ICalTime *instance_end,
                        gpointer user_data,
                        GCancellable *cancellable,
                        GError **error);

Callback used by e_cal_recur_generate_instances_sync(), called for each instance of a (recurring) component within given time range.

Parameters

icomp

an ICalComponent

 

instance_start

start time of an instance

 

instance_end

end time of an instance

 

user_data

user data used for this callback in e_cal_recur_generate_instances_sync()

 

cancellable

optional GCancellable object, or NULL

 

error

return location for a GError, or NULL

 

Returns

TRUE, to continue recurrence generation, FALSE to stop

Since: 3.34


e_cal_recur_generate_instances_sync ()

gboolean
e_cal_recur_generate_instances_sync (ICalComponent *icalcomp,
                                     ICalTime *interval_start,
                                     ICalTime *interval_end,
                                     ECalRecurInstanceCb callback,
                                     gpointer callback_user_data,
                                     ECalRecurResolveTimezoneCb get_tz_callback,
                                     gpointer get_tz_callback_user_data,
                                     ICalTimezone *default_timezone,
                                     GCancellable *cancellable,
                                     GError **error);

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.

The start and end times are required valid times, start before end time.

The get_tz_callback 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).

Parameters

icalcomp

an ICalComponent

 

interval_start

an interval start, for which generate instances

 

interval_end

an interval end, for which generate instances

 

callback

a callback to be called for each instance.

[scope call]

callback_user_data

user data for callback .

[closure callback]

get_tz_callback

a callback to call when resolving timezone.

[scope call]

get_tz_callback_user_data

user data for get_tz_callback .

[closure get_tz_callback]

default_timezone

a default ICalTimezone

 

cancellable

a GCancellable; can be NULL

 

error

a GError to set an error, if any.

[out]

Returns

TRUE if successful (when all instances had been returned), FALSE otherwise.

Since: 3.20


e_cal_recur_obtain_enddate ()

time_t
e_cal_recur_obtain_enddate (ICalRecurrence *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,
                              ECalRecurResolveTimezoneCb tz_cb,
                              gpointer tz_cb_data,
                              GCancellable *cancellable,
                              GError **error);

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 E_CAL_EVOLUTION_ENDDATE_PARAMETER parameter of the RRULE or EXRULE.

Parameters

comp

an ECalComponent

 

refresh

TRUE to recalculate all end dates

 

tz_cb

function to call to resolve timezones.

[scope call]

tz_cb_data

user data to pass to tz_cb .

[closure tz_cb_data]

cancellable

optional GCancellable object, or NULL

 

error

return location for a GError, or NULL

 

Returns

TRUE if the component was changed, FALSE otherwise

Since: 2.32


e_cal_recur_get_localized_nth ()

const gchar *
e_cal_recur_get_localized_nth (gint nth);

Parameters

nth

the nth index, counting from zero

 

Returns

Localized text for the nth position, counting from zero, which means for '0' it'll return "1st", for '1' it'll return "2nd" and so on, up to 30, when it'll return "31st".

Since: 3.28


ECalRecurFormatDateTimeFunc ()

void
(*ECalRecurFormatDateTimeFunc) (ICalTime *itt,
                                gchar *buffer,
                                gint buffer_size);

Format the date/time value from itt into buffer , whose size cannot exceed buffer_size letters.

Parameters

itt

an ICalTime to format to string

 

buffer

a buffer to fill with the result

 

buffer_size

the buffer size, in bytes, not counting the NUL-terminator character

 

Since: 3.38


e_cal_recur_describe_recurrence_ex ()

gchar *
e_cal_recur_describe_recurrence_ex (ICalComponent *icalcomp,
                                    GDateWeekday week_start_day,
                                    guint32 flags,
                                    ECalRecurFormatDateTimeFunc datetime_fmt_func);

Describes some simple types of recurrences in a human-readable and localized way. The flags influence the output format and what to do when the icalcomp contains more complicated recurrence, some which the function cannot describe.

The week_start_day is used for weekly recurrences, to start the list of selected days at that day.

If datetime_fmt_func is NULL, the e_time_format_date_and_time() is used to format data/time value.

Free the returned string with g_free(), when no longer needed.

Parameters

icalcomp

an ICalComponent

 

week_start_day

a day when the week starts

 

flags

bit-or of ECalRecurDescribeRecurrenceFlags

 

datetime_fmt_func

formatting function for date/time value.

[nullable][scope call]

Returns

a newly allocated string, which describes the recurrence of the icalcomp , or NULL, when the icalcomp doesn't recur or the recurrence is too complicated to describe, also according to given flags .

[nullable][transfer full]

Since: 3.38


e_cal_recur_describe_recurrence ()

gchar *
e_cal_recur_describe_recurrence (ICalComponent *icalcomp,
                                 GDateWeekday week_start_day,
                                 guint32 flags);

Describes some simple types of recurrences in a human-readable and localized way. The flags influence the output format and what to do when the icalcomp contains more complicated recurrence, some which the function cannot describe.

The week_start_day is used for weekly recurrences, to start the list of selected days at that day.

Uses e_time_format_date_and_time() to format the date/time value in the string. Call e_cal_recur_describe_recurrence_ex() with a custom formatting function.

Free the returned string with g_free(), when no longer needed.

Parameters

icalcomp

an ICalComponent

 

week_start_day

a day when the week starts

 

flags

bit-or of ECalRecurDescribeRecurrenceFlags

 

Returns

a newly allocated string, which describes the recurrence of the icalcomp , or NULL, when the icalcomp doesn't recur or the recurrence is too complicated to describe, also according to given flags .

[nullable][transfer full]

Since: 3.30

Types and Values

E_CAL_EVOLUTION_ENDDATE_PARAMETER

#define E_CAL_EVOLUTION_ENDDATE_PARAMETER "X-EVOLUTION-ENDDATE"

The X parameter name being used to store the enddate in RRULE and EXRULE properties.

Since: 3.34