|  |  |  | Evolution API Reference: libecal, the Calendar Library |  | 
|---|---|---|---|---|
                    CalObjInstance;
void                cal_obj_instance_list_free          (GList *list);
enum                CalObjModType;
enum                CalMode;
void                cal_obj_uid_list_free               (GList *list);
icalcomponent*      e_cal_util_new_top_level            (void);
icalcomponent*      e_cal_util_parse_ics_file           (const char *filename);
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);
int                 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);
icaltimezone*       e_cal_util_resolve_tzid             (const char *tzid,
                                                         gpointer data);
char*               e_cal_util_priority_to_string       (int priority);
int                 e_cal_util_priority_from_string     (const char *string);
void                e_cal_util_add_timezones_from_component
                                                        (icalcomponent *vcal_comp,
                                                         icalcomponent *icalcomp);
gboolean            e_cal_util_component_is_instance    (icalcomponent *icalcomp);
gboolean            e_cal_util_component_has_alarms     (icalcomponent *icalcomp);
gboolean            e_cal_util_component_has_organizer  (icalcomponent *icalcomp);
gboolean            e_cal_util_component_has_recurrences
                                                        (icalcomponent *icalcomp);
gboolean            e_cal_util_component_has_rdates     (icalcomponent *icalcomp);
gboolean            e_cal_util_component_has_rrules     (icalcomponent *icalcomp);
gboolean            e_cal_util_event_dates_match        (icalcomponent *icalcomp1,
                                                         icalcomponent *icalcomp2);
#define             CAL_STATIC_CAPABILITY_NO_ALARM_REPEAT
#define             CAL_STATIC_CAPABILITY_NO_AUDIO_ALARMS
#define             CAL_STATIC_CAPABILITY_NO_DISPLAY_ALARMS
#define             CAL_STATIC_CAPABILITY_NO_EMAIL_ALARMS
#define             CAL_STATIC_CAPABILITY_NO_PROCEDURE_ALARMS
#define             CAL_STATIC_CAPABILITY_NO_TASK_ASSIGNMENT
#define             CAL_STATIC_CAPABILITY_NO_THISANDFUTURE
#define             CAL_STATIC_CAPABILITY_NO_THISANDPRIOR
#define             CAL_STATIC_CAPABILITY_NO_TRANSPARENCY
#define             CAL_STATIC_CAPABILITY_ONE_ALARM_ONLY
#define             CAL_STATIC_CAPABILITY_ORGANIZER_MUST_ATTEND
#define             CAL_STATIC_CAPABILITY_ORGANIZER_NOT_EMAIL_ADDRESS
#define             CAL_STATIC_CAPABILITY_REMOVE_ALARMS
#define             CAL_STATIC_CAPABILITY_SAVE_SCHEDULES
icalcomponent*      e_cal_util_construct_instance       (icalcomponent *icalcomp,
                                                         struct icaltimetype rid);
void                e_cal_util_remove_instances         (icalcomponent *icalcomp,
                                                         struct icaltimetype rid,
                                                         CalObjModType mod);
typedef struct {
	char *uid;			/* UID of the object */
	time_t start;			/* Start time of instance */
	time_t end;			/* End time of instance */
} CalObjInstance;
void cal_obj_instance_list_free (GList *list);
Frees a list of CalObjInstance structures.
| list: | List of CalObjInstance structures. | 
typedef enum {
	CALOBJ_MOD_THIS          = 1 << 0,
	CALOBJ_MOD_THISANDPRIOR  = 1 << 1,
	CALOBJ_MOD_THISANDFUTURE = 1 << 2,
	CALOBJ_MOD_ALL           = 0x07
} CalObjModType;
typedef enum {
	CAL_MODE_INVALID = -1,
	CAL_MODE_LOCAL   = 1 << 0,
	CAL_MODE_REMOTE  = 1 << 1,
	CAL_MODE_ANY     = 0x07
} CalMode;
void cal_obj_uid_list_free (GList *list);
Frees a list of unique identifiers for calendar objects.
| list: | List of strings with unique identifiers. | 
icalcomponent* e_cal_util_new_top_level (void);
Creates a new VCALENDAR component.
| Returns : | the newly created top level component. | 
icalcomponent* e_cal_util_parse_ics_file (const char *filename);
Parses the given file, and, if it contains a valid iCalendar object, parse it and return a corresponding icalcomponent.
| filename: | Name of the file to be parsed. | 
| Returns : | an 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: | |
| resolve_tzid: | Callback for resolving timezones | 
| user_data: | Data to be passed to the resolve_tzid callback | 
| default_timezone: | The timezone used to resolve DATE and floating DATE-TIME values. | 
| Returns : | a list of all the alarms found for the given component on the given time tange. The list of alarms should be freed by using the e_cal_component_free_alarm_list function. | 
int 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 ECalComponent's. | 
| start: | Start time. | 
| end: | End time. | 
| omit: | |
| comp_alarms: | List to be returned | 
| resolve_tzid: | Callback for resolving timezones | 
| user_data: | Data to be passed to the resolve_tzid callback | 
| default_timezone: | The timezone used to resolve DATE and floating DATE-TIME values. | 
| Returns : | the number of elements it added to the list. | 
icaltimezone*       e_cal_util_resolve_tzid             (const char *tzid,
                                                         gpointer data);
| tzid: | |
| data: | |
| Returns : | 
char* e_cal_util_priority_to_string (int priority);
Converts an iCalendar PRIORITY value to a translated string. Any unknown priority value (i.e. not 0-9) will be returned as "" (undefined).
| priority: | Priority value. | 
| Returns : | a string representing the PRIORITY value. This value is a constant, so it should never be freed. | 
int e_cal_util_priority_from_string (const char *string);
Converts a translated priority string to an iCalendar priority value.
| string: | A string representing the PRIORITY value. | 
| Returns : | the priority (0-9) or -1 if the priority string is not valid. | 
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.
| vcal_comp: | A VCALENDAR component. | 
| icalcomp: | An iCalendar component, of any type. | 
gboolean e_cal_util_component_is_instance (icalcomponent *icalcomp);
Checks whether an icalcomponent is an instance of a recurring appointment or not.
| icalcomp: | An icalcomponent. | 
| Returns : | TRUE if it is an instance, FALSE if not. | 
gboolean e_cal_util_component_has_alarms (icalcomponent *icalcomp);
Checks whether an icalcomponent has any alarm.
| icalcomp: | An icalcomponent. | 
| Returns : | TRUE if it has alarms, FALSE otherwise. | 
gboolean e_cal_util_component_has_organizer (icalcomponent *icalcomp);
Checks whether an icalcomponent has an organizer or not.
| icalcomp: | An icalcomponent. | 
| Returns : | TRUE if there is an organizer, FALSE if not. | 
gboolean e_cal_util_component_has_recurrences (icalcomponent *icalcomp);
Checks if an icalcomponent has recurrence dates or rules.
| icalcomp: | An icalcomponent. | 
| Returns : | TRUE if there are recurrence dates/rules, FALSE if not. | 
gboolean e_cal_util_component_has_rdates (icalcomponent *icalcomp);
Checks if an icalcomponent has recurrence dates.
| icalcomp: | An icalcomponent. | 
| Returns : | TRUE if there are recurrence dates, FALSE if not. | 
gboolean e_cal_util_component_has_rrules (icalcomponent *icalcomp);
Checks if an icalcomponent has recurrence rules.
| icalcomp: | An icalcomponent. | 
| Returns : | TRUE if there are recurrence rules, FALSE if not. | 
gboolean e_cal_util_event_dates_match (icalcomponent *icalcomp1, icalcomponent *icalcomp2);
Compare the dates of two icalcomponent's to check if they match.
| icalcomp1: | An icalcomponent. | 
| icalcomp2: | An icalcomponent. | 
| Returns : | TRUE if the dates of both components match, FALSE otherwise. | 
#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_ORGANIZER_MUST_ATTEND "organizer-must-attend"
#define CAL_STATIC_CAPABILITY_ORGANIZER_NOT_EMAIL_ADDRESS "organizer-not-email-address"
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.
| icalcomp: | A recurring icalcomponent | 
| rid: | The RECURRENCE-ID to construct a component for | 
| Returns : | the instance, or NULL. | 
void                e_cal_util_remove_instances         (icalcomponent *icalcomp,
                                                         struct icaltimetype rid,
                                                         CalObjModType mod);
Removes one or more instances from comp according to rid and mod.
FIXME: should probably have a return value indicating whether or not
icalcomp still has any instances
| icalcomp: | A (recurring) icalcomponent | 
| rid: | The base RECURRENCE-ID to remove | 
| mod: | How to interpret rid |