23 #ifndef ICALCOMPONENT_H
24 #define ICALCOMPONENT_H
26 #include "libical_ical_export.h"
37 icalcomponent_kind kind;
66 LIBICAL_ICAL_EXPORT
void icalcomponent_free(
icalcomponent *component);
68 LIBICAL_ICAL_EXPORT
char *icalcomponent_as_ical_string(
icalcomponent *component);
70 LIBICAL_ICAL_EXPORT
char *icalcomponent_as_ical_string_r(
icalcomponent *component);
72 LIBICAL_ICAL_EXPORT
int icalcomponent_is_valid(
icalcomponent *component);
74 LIBICAL_ICAL_EXPORT icalcomponent_kind icalcomponent_isa(
const icalcomponent *component);
76 LIBICAL_ICAL_EXPORT
int icalcomponent_isa_component(
void *component);
82 LIBICAL_ICAL_EXPORT
void icalcomponent_add_property(
icalcomponent *component,
83 icalproperty *property);
85 LIBICAL_ICAL_EXPORT
void icalcomponent_remove_property(
icalcomponent *component,
86 icalproperty *property);
88 LIBICAL_ICAL_EXPORT
int icalcomponent_count_properties(
icalcomponent *component,
89 icalproperty_kind kind);
104 LIBICAL_ICAL_EXPORT icalproperty *icalcomponent_get_current_property(
icalcomponent *component);
106 LIBICAL_ICAL_EXPORT icalproperty *icalcomponent_get_first_property(
icalcomponent *component,
107 icalproperty_kind kind);
108 LIBICAL_ICAL_EXPORT icalproperty *icalcomponent_get_next_property(
icalcomponent *component,
109 icalproperty_kind kind);
121 LIBICAL_ICAL_EXPORT
void icalcomponent_remove_component(
icalcomponent *parent,
124 LIBICAL_ICAL_EXPORT
int icalcomponent_count_components(
icalcomponent *component,
125 icalcomponent_kind kind);
144 icalcomponent_kind kind);
146 icalcomponent_kind kind);
150 icalcomponent_kind kind);
153 icalcomponent_kind kind);
165 LIBICAL_ICAL_EXPORT
int icalcomponent_check_restrictions(
icalcomponent *comp);
183 LIBICAL_ICAL_EXPORT
void icalcomponent_set_parent(
icalcomponent *component,
188 LIBICAL_ICAL_EXPORT
int icalcomponent_kind_is_valid(
const icalcomponent_kind kind);
190 LIBICAL_ICAL_EXPORT icalcomponent_kind icalcomponent_string_to_kind(
const char *
string);
192 LIBICAL_ICAL_EXPORT
const char *icalcomponent_kind_to_string(icalcomponent_kind kind);
362 LIBICAL_ICAL_EXPORT
void icalcomponent_set_summary(
icalcomponent *comp,
const char *v);
364 LIBICAL_ICAL_EXPORT
const char *icalcomponent_get_summary(
icalcomponent *comp);
366 LIBICAL_ICAL_EXPORT
void icalcomponent_set_comment(
icalcomponent *comp,
const char *v);
368 LIBICAL_ICAL_EXPORT
const char *icalcomponent_get_comment(
icalcomponent *comp);
370 LIBICAL_ICAL_EXPORT
void icalcomponent_set_uid(
icalcomponent *comp,
const char *v);
372 LIBICAL_ICAL_EXPORT
const char *icalcomponent_get_uid(
icalcomponent *comp);
378 LIBICAL_ICAL_EXPORT
void icalcomponent_set_recurrenceid(
icalcomponent *comp,
383 LIBICAL_ICAL_EXPORT
void icalcomponent_set_description(
icalcomponent *comp,
const char *v);
385 LIBICAL_ICAL_EXPORT
const char *icalcomponent_get_description(
icalcomponent *comp);
387 LIBICAL_ICAL_EXPORT
void icalcomponent_set_location(
icalcomponent *comp,
const char *v);
389 LIBICAL_ICAL_EXPORT
const char *icalcomponent_get_location(
icalcomponent *comp);
391 LIBICAL_ICAL_EXPORT
void icalcomponent_set_sequence(
icalcomponent *comp,
int v);
393 LIBICAL_ICAL_EXPORT
int icalcomponent_get_sequence(
icalcomponent *comp);
395 LIBICAL_ICAL_EXPORT
void icalcomponent_set_status(
icalcomponent *comp,
enum icalproperty_status v);
397 LIBICAL_ICAL_EXPORT
enum icalproperty_status icalcomponent_get_status(
icalcomponent *comp);
403 void (*callback) (icalparameter *param,
405 void *callback_data);
463 void *callback_data);
486 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vcalendar(
void);
488 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vevent(
void);
490 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vtodo(
void);
492 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vjournal(
void);
494 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_valarm(
void);
496 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vfreebusy(
void);
498 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vtimezone(
void);
500 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_xstandard(
void);
502 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_xdaylight(
void);
504 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vagenda(
void);
506 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vquery(
void);
508 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vavailability(
void);
510 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_xavailable(
void);
512 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vpoll(
void);
514 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vvoter(
void);
516 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_xvote(
void);
518 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_vpatch(
void);
520 LIBICAL_ICAL_EXPORT
icalcomponent *icalcomponent_new_xpatch(
void);
icalproperty_method icalcomponent_get_method(icalcomponent *comp)
Returns the METHOD property.
Definition: icalcomponent.c:1322
icalcomponent * icalcomponent_vanew(icalcomponent_kind kind,...)
Constructor.
Definition: icalcomponent.c:116
void icalcomponent_foreach_recurrence(icalcomponent *comp, struct icaltimetype start, struct icaltimetype end, void(*callback)(icalcomponent *comp, struct icaltime_span * span, void *data), void *callback_data)
Cycles through all recurrences of an event.
Definition: icaltime.h:95
void icalcomponent_foreach_tzid(icalcomponent *comp, void(*callback)(icalparameter *param, void *data), void *callback_data)
Calls the given function for each TZID parameter found in the component, and any subcomponents.
struct icaldurationtype icalcomponent_get_duration(icalcomponent *comp)
Gets the DURATION property as an icalduration.
Definition: icalcomponent.c:1476
struct icaltimetype icalcomponent_get_dtend(icalcomponent *comp)
Gets the DTEND property as an icaltime.
Definition: icalcomponent.c:1377
icalcomponent * icalcomponent_get_first_real_component(icalcomponent *c)
Returns a reference to the first VEVENT, VTODO or VJOURNAL in the component.
Definition: icalcomponent.c:581
void icalcomponent_set_method(icalcomponent *comp, icalproperty_method method)
Sets the METHOD property to the given method.
Definition: icalcomponent.c:1310
struct icaltimetype icalproperty_get_datetime_with_component(icalproperty *prop, icalcomponent *comp)
Gets a DATE or DATE-TIME property as an icaltime.
Definition: icalproperty.c:1052
icalcomponent * icalcomponent_new(icalcomponent_kind kind)
Constructor.
Definition: icalcomponent.c:111
void icalcomponent_set_due(icalcomponent *comp, struct icaltimetype v)
Sets the due date of a VTODO task.
Definition: icalcomponent.c:2410
icalcomponent * icalcomponent_new_from_string(const char *str)
Constructor.
Definition: icalcomponent.c:135
A struct representing a duration.
Definition: icalduration.h:36
void icalcomponent_set_relcalid(icalcomponent *comp, const char *v)
Sets the RELCALID property of a component.
Definition: icalcomponent.c:2348
void icalcomponent_set_duration(icalcomponent *comp, struct icaldurationtype v)
Sets the DURATION property to given icalduration.
Definition: icalcomponent.c:1459
int icalcomponent_count_errors(icalcomponent *component)
Returns the number of errors encountered parsing the data.
Definition: icalcomponent.c:984
Definition: icalcomponent.c:35
Definition: icalcomponent.h:35
void icalcomponent_convert_errors(icalcomponent *component)
Converts some X-LIC-ERROR properties into RETURN-STATUS properties.
Definition: icalcomponent.c:1036
Definition: icaltime.h:104
void icalcomponent_set_dtstart(icalcomponent *comp, struct icaltimetype v)
Sets the DTSTART property to the given icaltime,.
Definition: icalcomponent.c:1344
int icalproperty_recurrence_is_excluded(icalcomponent *comp, struct icaltimetype *dtstart, struct icaltimetype *recurtime)
Decides if a recurrence is acceptable.
Definition: icalcomponent.c:672
struct icaltimetype icalcomponent_get_dtstart(icalcomponent *comp)
Gets the DTSTART property as an icaltime.
Definition: icalcomponent.c:1364
icalcomponent * icalproperty_get_parent(const icalproperty *property)
Returns the parent icalcomponent for the specified property.
Definition: icalproperty.c:915
void icalcomponent_strip_errors(icalcomponent *component)
Removes all X-LIC-ERROR properties.
Definition: icalcomponent.c:1010
icaltimezone * icalcomponent_get_timezone(icalcomponent *comp, const char *tzid)
Returns the icaltimezone in the component corresponding to the TZID, or NULL if it can't be found...
Definition: icalcomponent.c:2220
Definition: icaltimezoneimpl.h:22
icalcomponent * icalcomponent_new_clone(icalcomponent *component)
Constructor.
Definition: icalcomponent.c:140
void icalcomponent_normalize(icalcomponent *comp)
Normalizes (reorders and sorts the properties) the specified icalcomponent comp.
Definition: icalcomponent.c:2607
icalcomponent * icalcomponent_get_inner(icalcomponent *comp)
Definition: icalcomponent.c:1301
void icalproperty_set_parent(icalproperty *property, icalcomponent *component)
Sets the parent icalcomponent for the specified icalproperty property.
Definition: icalproperty.c:908
void icalcomponent_set_dtend(icalcomponent *comp, struct icaltimetype v)
Sets the DTEND property to given icaltime.
Definition: icalcomponent.c:1434
void icalcomponent_merge_component(icalcomponent *comp, icalcomponent *comp_to_merge)
Definition: icalcomponent.c:1938
icalcomponent * icalcomponent_new_x(const char *x_name)
Constructor.
Definition: icalcomponent.c:168
const char * icalcomponent_get_relcalid(icalcomponent *comp)
Gets the RELCALID property of a component.
Definition: icalcomponent.c:2366
struct icaltime_span icalcomponent_get_span(icalcomponent *comp)
Gets the timespan covered by this component, in UTC.
Definition: icalcomponent.c:604
struct icaltimetype icalcomponent_get_due(icalcomponent *comp)
Returns the time a VTODO task is DUE.
Definition: icalcomponent.c:2388