| Top |  |  |  |  | 
void
cal_obj_instance_list_free (GList *list);
Frees a list of CalObjInstance structures.
void
cal_obj_uid_list_free (GList *list);
Frees a list of unique identifiers for calendar objects.
icalcomponent *
e_cal_util_new_top_level (void);
Creates a new VCALENDAR component.
icalcomponent *
e_cal_util_new_component (icalcomponent_kind kind);
Creates a new icalcomponent of the specified kind.
icalcomponent *
e_cal_util_parse_ics_string (const gchar *string);
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.
icalcomponent *
e_cal_util_parse_ics_file (const gchar *filename);
Parses the given file, and, if it contains a valid iCalendar object, parse it and return a new icalcomponent.
ECalComponentAlarms * e_cal_util_generate_alarms_for_comp (ECalComponent *comp,time_t start,time_t end,ECalComponentAlarmAction *omit,ECalRecurResolveTimezoneFn resolve_tzid,gpointer user_data,icaltimezone *default_timezone);
Generates alarm instances for a calendar component.  Returns the instances
structure, or NULL if no alarm instances occurred in the specified time
range.
| comp | The ECalComponent to generate alarms from | |
| start | Start time | |
| end | End time | |
| omit | Alarm types to omit | |
| resolve_tzid | Callback for resolving timezones. | [closure user_data][scope call] | 
| user_data | Data to be passed to the resolve_tzid callback. | [closure] | 
| default_timezone | The timezone used to resolve DATE and floating DATE-TIME values. | 
gint e_cal_util_generate_alarms_for_list (GList *comps,time_t start,time_t end,ECalComponentAlarmAction *omit,GSList **comp_alarms,ECalRecurResolveTimezoneFn resolve_tzid,gpointer user_data,icaltimezone *default_timezone);
Iterates through all the components in the comps
 list and generates alarm
instances for them; putting them in the comp_alarms
 list.
| comps | List of ECalComponents. | [element-type ECalComponent] | 
| start | Start time | |
| end | End time | |
| omit | Alarm types to omit | |
| comp_alarms | List to be returned. | [out][transfer full][element-type ECalComponentAlarms] | 
| resolve_tzid | Callback for resolving timezones. | [closure user_data][scope call] | 
| user_data | Data to be passed to the resolve_tzid callback. | [closure] | 
| default_timezone | The timezone used to resolve DATE and floating DATE-TIME values. | 
const gchar *
e_cal_util_priority_to_string (gint priority);
Converts an iCalendar PRIORITY value to a translated string. Any unknown priority value (i.e. not 0-9) will be returned as "" (undefined).
gint
e_cal_util_priority_from_string (const gchar *string);
Converts a translated priority string to an iCalendar priority value.
void e_cal_util_add_timezones_from_component (icalcomponent *vcal_comp,icalcomponent *icalcomp);
Adds VTIMEZONE components to a VCALENDAR for all tzid's
in the given icalcomp
.
gboolean
e_cal_util_component_is_instance (icalcomponent *icalcomp);
Checks whether an icalcomponent is an instance of a recurring appointment.
gboolean
e_cal_util_component_has_alarms (icalcomponent *icalcomp);
Checks whether an icalcomponent has any alarm.
gboolean
e_cal_util_component_has_organizer (icalcomponent *icalcomp);
Checks whether an icalcomponent has an organizer.
gboolean
e_cal_util_component_has_recurrences (icalcomponent *icalcomp);
Checks if an icalcomponent has recurrence dates or rules.
gboolean
e_cal_util_component_has_rdates (icalcomponent *icalcomp);
Checks if an icalcomponent has recurrence dates.
gboolean
e_cal_util_component_has_rrules (icalcomponent *icalcomp);
Checks if an icalcomponent has recurrence rules.
gboolean
e_cal_util_component_has_attendee (icalcomponent *icalcomp);
Checks if an icalcomponent has any attendees.
gboolean e_cal_util_event_dates_match (icalcomponent *icalcomp1,icalcomponent *icalcomp2);
Compare the dates of two icalcomponent's to check if they match.
icalcomponent * e_cal_util_construct_instance (icalcomponent *icalcomp,struct icaltimetype rid);
This checks that rid
 indicates a valid recurrence of icalcomp
, and
if so, generates a copy of comp
 containing a RECURRENCE-ID of rid
.
void e_cal_util_remove_instances (icalcomponent *icalcomp,struct icaltimetype rid,ECalObjModType mod);
Removes one or more instances from comp
 according to rid
 and mod
.
FIXME: should probably have a return value indicating whether icalcomp
       still has any instances
icalcomponent * e_cal_util_split_at_instance (icalcomponent *icalcomp,struct icaltimetype rid,struct icaltimetype master_dtstart);
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() with E_CAL_OBJ_MOD_THIS_AND_FUTURE mode
on the icalcomp
 to remove the overlapping interval from it, if needed.
| icalcomp | A (recurring) icalcomponent | |
| rid | The base RECURRENCE-ID to remove | |
| master_dtstart | The DTSTART of the master object | 
Since: 3.16
gboolean e_cal_util_is_first_instance (ECalComponent *comp,struct icaltimetype rid,ECalRecurResolveTimezoneFn tz_cb,gpointer tz_cb_data);
Returns whether the given rid
 is the first instance of
the recurrence defined in the comp
.
Return: Whether the rid
 identifies the first instance of comp
.
| comp | an ECalComponent instance | |
| rid | a recurrence ID | |
| tz_cb | The ECalRecurResolveTimezoneFn to call. | [closure tz_cb_data][scope call] | 
| tz_cb_data |  User data to be passed to the  | [closure] | 
Since: 3.16
gchar *
e_cal_util_get_system_timezone_location
                               (void);
Fetches system timezone localtion string.
Since: 2.28
icaltimezone *
e_cal_util_get_system_timezone (void);
Fetches system timezone icaltimezone object.
The returned pointer is part of the built-in timezones and should not be freed.
Since: 2.28
void e_cal_util_get_component_occur_times (ECalComponent *comp,time_t *start,time_t *end,ECalRecurResolveTimezoneFn tz_cb,gpointer tz_cb_data,const icaltimezone *default_timezone,icalcomponent_kind kind);
Find out when the component starts and stops, being careful about recurrences.
| comp | ||
| start | Location to store the start time. | [out] | 
| end | Location to store the end time. | [out] | 
| tz_cb | The ECalRecurResolveTimezoneFn to call. | [closure tz_cb_data][scope call] | 
| tz_cb_data |  User data to be passed to the  | [closure] | 
| default_timezone | The default timezone | |
| kind | the type of component, indicated with an icalcomponent_kind | 
Since: 2.32
typedef struct {
	gchar *uid;			/* UID of the object */
	time_t start;			/* Start time of instance */
	time_t end;			/* End time of instance */
} CalObjInstance;
Instance of a calendar object. This can be an actual occurrence, a recurrence, or an alarm trigger of a `real' calendar object.
#define CAL_STATIC_CAPABILITY_NO_ALARM_REPEAT "no-alarm-repeat"
#define CAL_STATIC_CAPABILITY_NO_AUDIO_ALARMS "no-audio-alarms"
#define CAL_STATIC_CAPABILITY_NO_DISPLAY_ALARMS "no-display-alarms"
#define CAL_STATIC_CAPABILITY_NO_EMAIL_ALARMS "no-email-alarms"
#define CAL_STATIC_CAPABILITY_NO_PROCEDURE_ALARMS "no-procedure-alarms"
#define CAL_STATIC_CAPABILITY_NO_TASK_ASSIGNMENT "no-task-assignment"
#define CAL_STATIC_CAPABILITY_NO_THISANDFUTURE "no-thisandfuture"
#define CAL_STATIC_CAPABILITY_NO_THISANDPRIOR "no-thisandprior"
#define CAL_STATIC_CAPABILITY_NO_TRANSPARENCY "no-transparency"
#define CAL_STATIC_CAPABILITY_NO_MEMO_START_DATE "no-memo-start-date"
#define CAL_STATIC_CAPABILITY_ALARM_DESCRIPTION "alarm-description"
Flag indicating that the backend supports alarm description
Since: 3.8
#define CAL_STATIC_CAPABILITY_NO_ALARM_AFTER_START "no-alarm-after-start"
Flag indicating that the backend does not support alarm after start the event
Since: 3.8
#define CAL_STATIC_CAPABILITY_BULK_ADDS "bulk-adds"
Flag indicating that the backend supports bulk additions.
Since: 3.6
#define CAL_STATIC_CAPABILITY_BULK_MODIFIES "bulk-modifies"
Flag indicating that the backend supports bulk modifications.
Since: 3.6
#define CAL_STATIC_CAPABILITY_BULK_REMOVES "bulk-removes"
Flag indicating that the backend supports bulk removals.
Since: 3.6
#define CAL_STATIC_CAPABILITY_REMOVE_ONLY_THIS "remove-only-this"
FIXME: Document me.
Since: 3.2
#define CAL_STATIC_CAPABILITY_ORGANIZER_MUST_ATTEND "organizer-must-attend"
#define CAL_STATIC_CAPABILITY_ORGANIZER_NOT_EMAIL_ADDRESS "organizer-not-email-address"
#define CAL_STATIC_CAPABILITY_CREATE_MESSAGES "create-messages"
Since: 2.26
#define CAL_STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK "no-conv-to-assign-task"
#define CAL_STATIC_CAPABILITY_NO_CONV_TO_RECUR "no-conv-to-recur"
#define CAL_STATIC_CAPABILITY_NO_GEN_OPTIONS "no-general-options"
#define CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS "require-send-options"
#define CAL_STATIC_CAPABILITY_RECURRENCES_NO_MASTER "recurrences-no-master-object"
#define CAL_STATIC_CAPABILITY_ORGANIZER_MUST_ACCEPT "organizer-must-accept"
#define CAL_STATIC_CAPABILITY_DELEGATE_SUPPORTED "delegate-support"
#define CAL_STATIC_CAPABILITY_DELEGATE_TO_MANY "delegate-to-many"
#define CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING "has-unaccepted-meeting"
#define CAL_STATIC_CAPABILITY_REFRESH_SUPPORTED "refresh-supported"
Since: 2.30
#define CAL_STATIC_CAPABILITY_ALL_DAY_EVENT_AS_TIME "all-day-event-as-time"
Let the client know that it should store All Day event times as time with a time zone, rather than as a date.
Since: 3.18