An email address associated with the calendar.
A default object for the calendar. Calendars use VEVENT, memo lists VJOURNAL and task lists VTODO, which can have prefilled values by the backend.
The current overall revision string, this can be used as a quick check to see if data has changed at all since the last time the calendar revision was observed.
Extension property for alarm components so that we can reference them by UID.
The X parameter name being used to store the enddate in RRULE and EXRULE properties.
Flag indicating that the backend supports alarm description
Let the client know that it should store All Day event times as time with a time zone, rather than as a date.
Flag indicating that the backend supports bulk additions.
Flag indicating that the backend supports bulk modifications.
Flag indicating that the backend supports bulk removals.
When the capability is set, the client supports storing color for individual components.
Flag indicating that the backend does not support alarm after start the event
FIXME: Document me.
When the capability is set, the backend handles only simple memos, which means it stores only memo description. The summary can be changed by the backend, if needed.
Similar to the %E_CAL_STATIC_CAPABILITY_SIMPLE_MEMO, except the backend stores the description and the summary separately.
When the capability is set, the client can store and provide recurring tasks, otherwise it cannot.
Let the client know that the Task Start date, Due date and Completed date can be entered only as dates. When the capability is not set, then these can be date and time.
Set, when the backend supports ESTIMATED-DURATION property for tasks.
When the capability is set, the backend handles task recurrence completion on its own. This does not imply E_CAL_STATIC_CAPABILITY_TASK_CAN_RECUR.
When the capability is set, the client cannot store reminders on tasks, otherwise it can.
Creates an ISO 8601 UTC representation from a time value.
A time value.
Matches tzid
against the system timezone definitions
and returns the matching TZID, or %NULL if none found
a timezone ID
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.
an #ICalComponent
a day when the week starts
bit-or of #ECalRecurDescribeRecurrenceFlags
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.
an #ICalComponent
a day when the week starts
bit-or of #ECalRecurDescribeRecurrenceFlags
formatting function for date/time value
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.
an #ECalComponent
%TRUE to recalculate all end dates
function to call to resolve timezones
optional #GCancellable object, or %NULL
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).
an #ICalComponent
an interval start, for which generate instances
an interval end, for which generate instances
a default #ICalTimezone
a #GCancellable; can be %NULL
Fetches the system timezone location string.
Note: Since 3.4 the returned timezone location is either NULL or an equivalent within known libical timezones.
The returned string should be freed with g_free().
Adds a day onto the time, using local time. Note that if clocks go forward due to daylight savings time, there are some non-existent local times, so the hour may be changed to make it a valid time. This also means that it may not be wise to keep calling time_add_day() to step through a certain period - if the hour gets changed to make it valid time, any further calls to time_add_day() will also return this hour, which may not be what you want.
A time_t value.
Number of days to add.
Adds or subtracts a number of days to/from the given time_t value, using the given timezone. NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
A time_t value.
Number of days to add.
Timezone to use.
Adds or subtracts a number of months to/from the given time_t value, using the given timezone.
If the day would be off the end of the month (e.g. adding 1 month to 30th January, would lead to an invalid day, 30th February), it moves it down to the last day in the month, e.g. 28th Feb (or 29th in a leap year.)
NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
A time_t value.
Number of months to add.
Timezone to use.
Adds the given number of weeks to a time value.
A time_t value.
Number of weeks to add.
Adds or subtracts a number of weeks to/from the given time_t value, using the given timezone. NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
A time_t value.
Number of weeks to add.
Timezone to use.
Returns the start of the day, according to the local time.
A time_t value.
Returns the start of the day containing the given time_t, using the given timezone. NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
Returns the end of the day, according to the local time.
A time_t value.
Returns the end of the day containing the given time_t, using the given timezone. (The end of the day is the start of the next day.) NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
Returns the day of the week for the specified date, 0 (Sun) to 6 (Sat). For the days that were removed on the Gregorian reformation, it returns Thursday. Year is the normal year, e.g. 2001. Month is 0 to 11.
The day.
The month.
The year.
Returns the 1-based day number within the year of the specified date. Year is the normal year, e.g. 2001. Month is 0 to 11.
The day.
The month.
The year.
Returns the number of days in the month. Year is the normal year, e.g. 2001. Month is 0 (Jan) to 11 (Dec).
The year.
The month.
Converts an ISO 8601 UTC time string into a time_t value.
Date/time value in ISO 8601 format.
Returns whether the specified year is a leap year. Year is the normal year, e.g. 2001.
The year.
Returns the number of leap years since year 1 up to (but not including) the specified year. Year is the normal year, e.g. 2001.
The year.
Returns the start of the month containing the given time_t, using the given timezone. NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
Converts a time_t value to a #GDate structure using the specified timezone. This is analogous to g_date_set_time() but takes the timezone into account.
Destination #GDate value.
A time value.
Desired timezone for destination date,
or %NULL if the UTC timezone is desired.
Returns the start of the week containing the given time_t, using the given timezone. week_start_day should use the same values as mktime(), i.e. 0 (Sun) to 6 (Sat). NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
A time_t value.
Day to use as the starting of the week.
Timezone to use.
Returns the start of the year containing the given time_t, using the given timezone. NOTE: this function is only here to make the transition to the timezone functions easier. New code should use ICalTime values and i_cal_time_adjust() to add or subtract days, hours, minutes & seconds.
Modifies the vtimezone
to include only subcomponents influencing
the passed-in time interval between from
and to
.
a VTIMEZONE component to modify
an #ICalTime for the minimum time
until which time to clamp, or %NULL for infinity
Returns, whether the icalcomp
has a property of prop_kind
. To check
for a specific X property use e_cal_util_component_has_x_property().
an #ICalComponent
a property kind to look for, as an %ICalPropertyKind
Removes all or only the first property of kind kind
in icalcomp
.
an #ICalComponent
the kind of the property to remove
%TRUE to remove all, or %FALSE to remove only the first property of the kind
Sets a value of the first X property named x_name
in icalcomp,
if any such already exists, or adds a new property with this name
and value. As a special case, if value
is %NULL, then removes
the first X property named x_name
from icalcomp
instead.
an #ICalComponent
name of the X property
a value to set, or %NULL
Encodes the #EConflictResolution into the bit-or of #ECalOperationFlags. The returned value can be bit-or-ed with other #ECalOperationFlags values.
an #EConflictResolution
This checks that rid
indicates a valid recurrence of icalcomp,
and
if so, generates a copy of icalcomp
containing a RECURRENCE-ID of rid
.
Free the returned non-NULL component with g_object_unref(), when no longer needed.
A recurring #ICalComponent
The RECURRENCE-ID to construct a component for
Generates alarm instances for a calendar component. Returns the instances structure, or %NULL if no alarm instances occurred in the specified time range. Free the returned structure with e_cal_component_alarms_free(), when no longer needed.
The #ECalComponent to generate alarms from
Start time
End time
Alarm types to omit
Callback for resolving timezones
The timezone used to resolve DATE and floating DATE-TIME values.
Iterates through all the components in the comps
list and generates alarm
instances for them; putting them in the comp_alarms
list. Free the comp_alarms
with g_slist_free_full (comp_alarms, e_cal_component_alarms_free);, when
no longer neeed.
List of #ECalComponents
Start time
End time
Alarm types to omit
Callback for resolving timezones
The timezone used to resolve DATE and floating DATE-TIME values.
Find out when the component starts and stops, being careful about recurrences.
an #ECalComponent
The #ECalRecurResolveTimezoneCb to call
The default timezone
the type of component, indicated with an #ICalComponentKind
Fetches system timezone localtion string.
Initializes properties of a recurring vtodo,
like normalizing
the Due date and eventually the Start date. The function does
nothing when the vtodo
is not recurring.
The function doesn't change LAST-MODIFIED neither the SEQUENCE property, it's up to the caller to do it.
Note the cal_client,
cancellable
and error
is used only
for timezone resolution. The function doesn't store the vtodo
to the cal_client,
it only updates the vtodo
component.
a VTODO component
an #ECalClient to which the vtodo
belongs
optional #GCancellable object, or %NULL
Changes all URL attachments which point to a local file in component
to inline attachments, aka adds the file content into the component
.
It also populates FILENAME parameter on the attachment.
an #ICalComponent to work with
optional #GCancellable object, or %NULL
Returns whether the given rid
is the first instance of
the recurrence defined in the comp
.
an #ECalComponent instance
a recurrence ID
The #ECalRecurResolveTimezoneCb to call
Marks the vtodo
as complete with eventual update of other
properties. This is useful also for recurring tasks, for which
it moves the vtodo
into the next occurrence according to
the recurrence rule.
When the vtodo
is marked as completed, then the existing COMPLETED
date-time is preserved if exists, otherwise it's set either to completed_time,
or to the current time, when the completed_time
is (time_t) -1.
The function doesn't change LAST-MODIFIED neither the SEQUENCE property, it's up to the caller to do it.
Note the cal_client,
cancellable
and error
is used only
for timezone resolution. The function doesn't store the vtodo
to the cal_client,
it only updates the vtodo
component.
a VTODO component
completed time to set, or (time_t) -1 to use current time
an #ECalClient to which the vtodo
belongs
optional #GCancellable object, or %NULL
Creates a new #ICalComponent of the specified kind. Free it with g_object_unref(), when no longer needed.
Kind of the component to create, as #ICalComponentKind.
Makes sure the ttuntil
value matches the value type with
the DTSTART value, as required by RFC 5545 section 3.3.10.
Uses tz_cb
with tz_cb_data
to resolve time zones when needed.
An #ICalComponent
An UNTIL value to validate
The #ECalRecurResolveTimezoneCb to call
Decodes the #EConflictResolution from the bit-or of #ECalOperationFlags.
bit-or of #ECalOperationFlags
Parses an iCalendar string and returns a new #ICalComponent representing that string. Note that this function deals with multiple VCALENDAR's in the string, something that Mozilla used to do and which libical does not support.
Free the returned non-NULL component with g_object_unref(), when no longer needed.
iCalendar string to be parsed.
Converts a translated priority string to an iCalendar priority value.
A string representing the PRIORITY value.
Converts an iCalendar PRIORITY value to a translated string. Any unknown priority value (i.e. not 0-9) will be returned as "" (undefined).
Priority value.
Returns, whether the prop
has a parameter of param_kind
.
an #ICalProperty
a parameter kind to look for, as an %ICalParameterKind
Removes one or more instances from icalcomp
according to rid
and mod
.
A (recurring) #ICalComponent
The base RECURRENCE-ID to remove
How to interpret rid
Removes one or more instances from icalcomp
according to rid
and mod
.
Uses tz_cb
with tz_cb_data
to resolve time zones when needed.
A (recurring) #ICalComponent
The base RECURRENCE-ID to remove
How to interpret rid
The #ECalRecurResolveTimezoneCb to call
Converts time, in seconds, into a string representation readable by humans and localized into the current locale. This can be used to convert event duration to string or similar use cases.
Free the returned string with g_free(), when no longer needed.
actual time, in seconds
Sets the ACKNOWLEDGED property on the component'
s alarm with UID auid
to the time when
(in UTC), or to the current time, when the when
is 0.
an #ECalComponent
an alarm UID to modify
a time, in UTC, when to set the acknowledged property, or 0 for the current time
Splits a recurring icalcomp
into two at time rid
. The returned #ICalComponent
is modified icalcomp
which contains recurrences beginning at rid,
inclusive.
The instance identified by rid
should exist. The master_dtstart
can be
a null time, then it is read from the icalcomp
.
Use e_cal_util_remove_instances_ex() with E_CAL_OBJ_MOD_THIS_AND_FUTURE mode
on the icalcomp
to remove the overlapping interval from it, if needed.
Free the returned non-NULL component with g_object_unref(), when done with it.
A (recurring) #ICalComponent
The base RECURRENCE-ID to remove
The DTSTART of the master object
Splits a recurring icalcomp
into two at time rid
. The returned #ICalComponent
is modified icalcomp
which contains recurrences beginning at rid,
inclusive.
The instance identified by rid
should exist. The master_dtstart
can be
a null time, then it is read from the icalcomp
.
Uses tz_cb
with tz_cb_data
to resolve time zones when needed.
Use e_cal_util_remove_instances_ex() with E_CAL_OBJ_MOD_THIS_AND_FUTURE mode
on the icalcomp
to remove the overlapping interval from it, if needed.
Free the returned non-NULL component with g_object_unref(), when done with it.
A (recurring) #ICalComponent
The base RECURRENCE-ID to remove
The DTSTART of the master object
The #ECalRecurResolveTimezoneCb to call
An email address preferred for e-mail reminders by the calendar.