$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
icalcomponent.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: icalcomponent.h
3  CREATOR: eric 20 March 1999
4 
5  SPDX-FileCopyrightText: 2000, Eric Busboom <eric@civicknowledge.com>
6  SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
7 ======================================================================*/
8 
14 #ifndef ICALCOMPONENT_H
15 #define ICALCOMPONENT_H
16 
17 #include "libical_sentinel.h"
18 #include "libical_ical_export.h"
19 #include "icalenums.h" /* Defines icalcomponent_kind */
20 #include "icalproperty.h"
21 
22 typedef struct icalcomponent_impl icalcomponent;
23 
24 /* These are exposed so that callers will not have to allocate and
25  deallocate iterators. Pretend that you can't see them. */
27 struct icalpvl_elem_t;
28 typedef struct icalcompiter {
29  icalcomponent_kind kind;
30  struct icalpvl_elem_t *iter;
31 } icalcompiter;
32 
33 typedef struct icalpropiter {
34  icalproperty_kind kind;
35  struct icalpvl_elem_t *iter;
36 } icalpropiter;
38 
49 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new(icalcomponent_kind kind);
50 
61 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_clone(const icalcomponent *old);
62 
75 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_from_string(const char *str);
76 
87 LIBICAL_ICAL_EXPORT LIBICAL_SENTINEL icalcomponent *icalcomponent_vanew(icalcomponent_kind kind, ...);
88 
98 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_x(const char *x_name);
99 
108 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_iana(const char *iana_name);
109 
117 LIBICAL_ICAL_EXPORT void icalcomponent_free(icalcomponent *component);
118 
129 LIBICAL_ICAL_EXPORT char *icalcomponent_as_ical_string(const icalcomponent *component);
130 
141 LIBICAL_ICAL_EXPORT char *icalcomponent_as_ical_string_r(const icalcomponent *component);
142 
150 LIBICAL_ICAL_EXPORT bool icalcomponent_is_valid(const icalcomponent *component);
151 
159 LIBICAL_ICAL_EXPORT icalcomponent_kind icalcomponent_isa(const icalcomponent *component);
160 
170 LIBICAL_ICAL_EXPORT bool icalcomponent_isa_component(const void *component);
171 
172 /* Deal with X components */
173 
180 LIBICAL_ICAL_EXPORT void icalcomponent_set_x_name(icalcomponent *comp, const char *name);
181 
189 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_x_name(const icalcomponent *comp);
190 
191 /* Deal with IANA components */
192 
200 LIBICAL_ICAL_EXPORT void icalcomponent_set_iana_name(icalcomponent *comp, const char *name);
201 
211 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_iana_name(const icalcomponent *comp);
212 
224 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_component_name(const icalcomponent *comp);
225 
237 LIBICAL_ICAL_EXPORT char *icalcomponent_get_component_name_r(const icalcomponent *comp);
238 
239 /***** Working with Properties *****/
240 
250 LIBICAL_ICAL_EXPORT void icalcomponent_add_property(icalcomponent *component,
251  icalproperty *property);
252 
259 LIBICAL_ICAL_EXPORT void icalcomponent_remove_property(icalcomponent *component,
260  icalproperty *property);
261 
268 LIBICAL_ICAL_EXPORT void icalcomponent_remove_property_by_kind(icalcomponent *component,
269  icalproperty_kind kind);
270 
279 LIBICAL_ICAL_EXPORT int icalcomponent_count_properties(icalcomponent *component,
280  icalproperty_kind kind);
281 
290 LIBICAL_ICAL_EXPORT void icalproperty_set_parent(icalproperty *property,
291  icalcomponent *component);
292 
300 LIBICAL_ICAL_EXPORT icalcomponent *icalproperty_get_parent(const icalproperty *property);
301 
302 /* Iterate through the properties */
303 
313 LIBICAL_ICAL_EXPORT icalproperty *icalcomponent_get_current_property(icalcomponent *component);
314 
325 LIBICAL_ICAL_EXPORT icalproperty *icalcomponent_get_first_property(icalcomponent *component,
326  icalproperty_kind kind);
327 
338 LIBICAL_ICAL_EXPORT icalproperty *icalcomponent_get_next_property(icalcomponent *component,
339  icalproperty_kind kind);
340 
341 /***** Working with Components *****/
342 
353 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_get_inner(icalcomponent *comp);
354 
361 LIBICAL_ICAL_EXPORT void icalcomponent_add_component(icalcomponent *parent, icalcomponent *child);
362 
369 LIBICAL_ICAL_EXPORT void icalcomponent_remove_component(icalcomponent *parent,
370  icalcomponent *child);
371 
380 LIBICAL_ICAL_EXPORT int icalcomponent_count_components(icalcomponent *component,
381  icalcomponent_kind kind);
382 
393 LIBICAL_ICAL_EXPORT void icalcomponent_merge_component(icalcomponent *comp,
394  icalcomponent *comp_to_merge);
395 
396 /* Iteration Routines. There are two forms of iterators, internal and
397 external. The internal ones came first, and are almost completely
398 sufficient, but they fail badly when you want to construct a loop that
399 removes components from the container.*/
400 
401 /* Iterate through components */
402 
411 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_get_current_component(icalcomponent *component);
412 
423 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_get_first_component(icalcomponent *component,
424  icalcomponent_kind kind);
425 
436 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_get_next_component(icalcomponent *component,
437  icalcomponent_kind kind);
438 
439 /* Using external iterators */
440 
451 LIBICAL_ICAL_EXPORT icalcompiter icalcomponent_begin_component(icalcomponent *component,
452  icalcomponent_kind kind);
453 
464 LIBICAL_ICAL_EXPORT icalcompiter icalcomponent_end_component(icalcomponent *component,
465  icalcomponent_kind kind);
466 
477 LIBICAL_ICAL_EXPORT icalcomponent *icalcompiter_next(icalcompiter *i);
478 
489 LIBICAL_ICAL_EXPORT icalcomponent *icalcompiter_prior(icalcompiter *i);
490 
499 LIBICAL_ICAL_EXPORT icalcomponent *icalcompiter_deref(icalcompiter *i);
500 
510 LIBICAL_ICAL_EXPORT bool icalcompiter_is_valid(const icalcompiter *i);
511 
522 LIBICAL_ICAL_EXPORT icalpropiter icalcomponent_begin_property(icalcomponent *component,
523  icalproperty_kind kind);
524 
535 LIBICAL_ICAL_EXPORT icalproperty *icalpropiter_next(icalpropiter *i);
536 
545 LIBICAL_ICAL_EXPORT icalproperty *icalpropiter_deref(icalpropiter *i);
546 
556 LIBICAL_ICAL_EXPORT bool icalpropiter_is_valid(const icalpropiter *i);
557 
558 /***** Working with embedded error properties *****/
559 
560 /* Check the component against itip rules and insert error properties */
561 /* Working with embedded error properties */
562 
572 LIBICAL_ICAL_EXPORT bool icalcomponent_check_restrictions(icalcomponent *comp);
573 
581 LIBICAL_ICAL_EXPORT int icalcomponent_count_errors(icalcomponent *component);
582 
588 LIBICAL_ICAL_EXPORT void icalcomponent_strip_errors(icalcomponent *component);
589 
595 LIBICAL_ICAL_EXPORT void icalcomponent_convert_errors(icalcomponent *component);
596 
598 /* Internal operations. They are private, and you should not be using them. */
599 
607 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_get_parent(const icalcomponent *component);
608 
615 LIBICAL_ICAL_EXPORT void icalcomponent_set_parent(icalcomponent *component,
616  icalcomponent *parent);
617 
619 
620 /* Kind conversion routines */
621 
629 LIBICAL_ICAL_EXPORT bool icalcomponent_kind_is_valid(const icalcomponent_kind kind);
630 
640 LIBICAL_ICAL_EXPORT icalcomponent_kind icalcomponent_string_to_kind(const char *string);
641 
650 LIBICAL_ICAL_EXPORT const char *icalcomponent_kind_to_string(icalcomponent_kind kind);
651 
652 /************* Derived class methods. ****************************
653 
654 If the code was in an OO language, the remaining routines would be
655 members of classes derived from icalcomponent. Don't call them on the
656 wrong component subtypes. */
657 
667 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_get_first_real_component(const icalcomponent *c);
668 
693 LIBICAL_ICAL_EXPORT struct icaltime_span icalcomponent_get_span(icalcomponent *comp);
694 
695 /******************** Convenience routines **********************/
696 
709 LIBICAL_ICAL_EXPORT void icalcomponent_set_dtstart(icalcomponent *comp, struct icaltimetype v);
710 
725 LIBICAL_ICAL_EXPORT struct icaltimetype icalcomponent_get_dtstart(icalcomponent *comp);
726 
727 /* For the icalcomponent routines only, dtend and duration are tied
728  together. If you call the get routine for one and the other exists,
729  the routine will calculate the return value. That is, if there is a
730  DTEND and you call get_duration, the routine will return the difference
731  between DTEND and DTSTART. However, if you call a set routine for
732  one and the other exists, no action will be taken and icalerrno will
733  be set to ICAL_MALFORMEDDATA_ERROR. If you call a set routine and
734  neither exists, the routine will create the appropriate property. */
735 
764 LIBICAL_ICAL_EXPORT struct icaltimetype icalcomponent_get_dtend(icalcomponent *comp);
765 
788 LIBICAL_ICAL_EXPORT void icalcomponent_set_dtend(icalcomponent *comp, struct icaltimetype v);
789 
800 LIBICAL_ICAL_EXPORT struct icaltimetype icalcomponent_get_due(icalcomponent *comp);
801 
817 LIBICAL_ICAL_EXPORT void icalcomponent_set_due(icalcomponent *comp, struct icaltimetype v);
818 
840 LIBICAL_ICAL_EXPORT void icalcomponent_set_duration(icalcomponent *comp,
841  struct icaldurationtype v);
842 
860 LIBICAL_ICAL_EXPORT struct icaldurationtype icalcomponent_get_duration(icalcomponent *comp);
861 
871 LIBICAL_ICAL_EXPORT void icalcomponent_set_method(icalcomponent *comp, icalproperty_method method);
872 
883 LIBICAL_ICAL_EXPORT icalproperty_method icalcomponent_get_method(icalcomponent *comp);
884 
896 LIBICAL_ICAL_EXPORT struct icaltimetype icalcomponent_get_dtstamp(icalcomponent *comp);
897 
907 LIBICAL_ICAL_EXPORT void icalcomponent_set_dtstamp(icalcomponent *comp, struct icaltimetype v);
908 
918 LIBICAL_ICAL_EXPORT void icalcomponent_set_summary(icalcomponent *comp, const char *v);
919 
930 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_summary(icalcomponent *comp);
931 
941 LIBICAL_ICAL_EXPORT void icalcomponent_set_comment(icalcomponent *comp, const char *v);
942 
953 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_comment(icalcomponent *comp);
954 
964 LIBICAL_ICAL_EXPORT void icalcomponent_set_uid(icalcomponent *comp, const char *v);
965 
976 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_uid(icalcomponent *comp);
977 
987 LIBICAL_ICAL_EXPORT void icalcomponent_set_relcalid(icalcomponent *comp, const char *v);
988 
999 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_relcalid(icalcomponent *comp);
1000 
1010 LIBICAL_ICAL_EXPORT void icalcomponent_set_recurrenceid(icalcomponent *comp,
1011  struct icaltimetype v);
1012 
1024 LIBICAL_ICAL_EXPORT struct icaltimetype icalcomponent_get_recurrenceid(icalcomponent *comp);
1025 
1035 LIBICAL_ICAL_EXPORT void icalcomponent_set_description(icalcomponent *comp, const char *v);
1036 
1047 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_description(icalcomponent *comp);
1048 
1058 LIBICAL_ICAL_EXPORT void icalcomponent_set_location(icalcomponent *comp, const char *v);
1059 
1070 LIBICAL_ICAL_EXPORT const char *icalcomponent_get_location(icalcomponent *comp);
1071 
1081 LIBICAL_ICAL_EXPORT void icalcomponent_set_sequence(icalcomponent *comp, int v);
1082 
1093 LIBICAL_ICAL_EXPORT int icalcomponent_get_sequence(icalcomponent *comp);
1094 
1104 LIBICAL_ICAL_EXPORT void icalcomponent_set_status(icalcomponent *comp, enum icalproperty_status v);
1105 
1115 LIBICAL_ICAL_EXPORT enum icalproperty_status icalcomponent_get_status(icalcomponent *comp);
1116 
1125 LIBICAL_ICAL_EXPORT void icalcomponent_foreach_tzid(icalcomponent *comp,
1126  void (*callback)(icalparameter *param,
1127  void *data),
1128  void *callback_data);
1129 
1140 LIBICAL_ICAL_EXPORT icaltimezone *icalcomponent_get_timezone(icalcomponent *comp,
1141  const char *tzid);
1142 
1165 LIBICAL_ICAL_EXPORT bool icalproperty_recurrence_is_excluded(icalcomponent *comp,
1166  struct icaltimetype *dtstart,
1167  struct icaltimetype *recurtime);
1168 
1184 LIBICAL_ICAL_EXPORT void icalcomponent_foreach_recurrence(icalcomponent *comp,
1185  struct icaltimetype start,
1186  struct icaltimetype end,
1187  void (*callback)(icalcomponent *comp,
1188  const struct icaltime_span *span,
1189  void *data),
1190  void *callback_data);
1191 
1199 LIBICAL_ICAL_EXPORT void icalcomponent_normalize(icalcomponent *comp);
1200 
1216 LIBICAL_ICAL_EXPORT struct icaltimetype icalproperty_get_datetime_with_component(
1217  icalproperty *prop,
1218  icalcomponent *comp);
1219 /*************** Type Specific routines ***************/
1220 
1226 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vcalendar(void);
1227 
1233 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vevent(void);
1234 
1240 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vtodo(void);
1241 
1247 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vjournal(void);
1248 
1254 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_valarm(void);
1255 
1261 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vfreebusy(void);
1262 
1268 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vtimezone(void);
1269 
1275 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_xstandard(void);
1276 
1282 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_xdaylight(void);
1283 
1289 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vagenda(void);
1290 
1296 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vquery(void);
1297 
1303 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vreply(void);
1304 
1310 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vavailability(void);
1311 
1317 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_xavailable(void);
1318 
1324 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vpoll(void);
1325 
1331 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vvoter(void);
1332 
1338 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_xvote(void);
1339 
1345 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vpatch(void);
1346 
1352 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_xpatch(void);
1353 
1359 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_participant(void);
1360 
1366 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vlocation(void);
1367 
1373 LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_vresource(void);
1374 
1375 #endif /* !ICALCOMPONENT_H */
icalcomponent * icalcomponent_new_vagenda(void)
void icalcomponent_remove_component(icalcomponent *parent, icalcomponent *child)
void icalcomponent_add_component(icalcomponent *parent, icalcomponent *child)
void icalcomponent_remove_property_by_kind(icalcomponent *component, icalproperty_kind kind)
icalcomponent * icalcomponent_clone(const icalcomponent *old)
icalproperty_method icalcomponent_get_method(icalcomponent *comp)
icalcomponent * icalcomponent_vanew(icalcomponent_kind kind,...)
icalcomponent * icalcomponent_new_participant(void)
icalcomponent * icalcomponent_new_vquery(void)
Defines the data structure representing iCalendar properties.
icalproperty * icalcomponent_get_current_property(icalcomponent *component)
bool icalcomponent_is_valid(const icalcomponent *component)
const char * icalcomponent_get_iana_name(const icalcomponent *comp)
icalcomponent * icalcomponent_new_vvoter(void)
icalcomponent * icalcomponent_new_vpatch(void)
icalcompiter icalcomponent_end_component(icalcomponent *component, icalcomponent_kind kind)
icalcomponent * icalcomponent_new_xstandard(void)
int icalcomponent_get_sequence(icalcomponent *comp)
struct icaldurationtype icalcomponent_get_duration(icalcomponent *comp)
const char * icalcomponent_get_comment(icalcomponent *comp)
const char * icalcomponent_get_location(icalcomponent *comp)
struct icaltimetype icalcomponent_get_dtend(icalcomponent *comp)
char * icalcomponent_as_ical_string_r(const icalcomponent *component)
icalcomponent_kind icalcomponent_isa(const icalcomponent *component)
void icalcomponent_set_sequence(icalcomponent *comp, int v)
void icalcomponent_set_location(icalcomponent *comp, const char *v)
void icalcomponent_set_comment(icalcomponent *comp, const char *v)
void icalcomponent_foreach_recurrence(icalcomponent *comp, struct icaltimetype start, struct icaltimetype end, void(*callback)(icalcomponent *comp, const struct icaltime_span *span, void *data), void *callback_data)
icalproperty * icalcomponent_get_next_property(icalcomponent *component, icalproperty_kind kind)
icalproperty * icalpropiter_next(icalpropiter *i)
icalcompiter icalcomponent_begin_component(icalcomponent *component, icalcomponent_kind kind)
icalcomponent * icalcompiter_prior(icalcompiter *i)
void icalcomponent_free(icalcomponent *component)
icalcomponent * icalcomponent_new_xavailable(void)
icalproperty * icalcomponent_get_first_property(icalcomponent *component, icalproperty_kind kind)
void icalcomponent_set_method(icalcomponent *comp, icalproperty_method method)
struct icaltimetype icalcomponent_get_dtstamp(icalcomponent *comp)
bool icalcompiter_is_valid(const icalcompiter *i)
struct icaltimetype icalproperty_get_datetime_with_component(icalproperty *prop, icalcomponent *comp)
bool icalpropiter_is_valid(const icalpropiter *i)
icalcomponent * icalcomponent_new_xpatch(void)
icalcomponent * icalcomponent_new(icalcomponent_kind kind)
void icalcomponent_set_uid(icalcomponent *comp, const char *v)
bool icalcomponent_kind_is_valid(const icalcomponent_kind kind)
icalcomponent * icalcomponent_get_first_component(icalcomponent *component, icalcomponent_kind kind)
icalcomponent * icalcompiter_deref(icalcompiter *i)
icalcomponent * icalcomponent_new_vjournal(void)
icalcomponent * icalcomponent_new_xdaylight(void)
icalcomponent * icalcomponent_new_vresource(void)
void icalcomponent_set_summary(icalcomponent *comp, const char *v)
void icalcomponent_set_due(icalcomponent *comp, struct icaltimetype v)
bool icalcomponent_isa_component(const void *component)
const char * icalcomponent_get_component_name(const icalcomponent *comp)
icalcomponent * icalcomponent_new_from_string(const char *str)
enum icalproperty_status icalcomponent_get_status(icalcomponent *comp)
icalcomponent * icalcompiter_next(icalcompiter *i)
void icalcomponent_set_recurrenceid(icalcomponent *comp, struct icaltimetype v)
void icalcomponent_add_property(icalcomponent *component, icalproperty *property)
void icalcomponent_set_relcalid(icalcomponent *comp, const char *v)
void icalcomponent_set_duration(icalcomponent *comp, struct icaldurationtype v)
int icalcomponent_count_errors(icalcomponent *component)
const char * icalcomponent_kind_to_string(icalcomponent_kind kind)
struct _icaltimezone icaltimezone
Definition: icaltimezone.h:29
void icalcomponent_convert_errors(icalcomponent *component)
void icalcomponent_set_dtstart(icalcomponent *comp, struct icaltimetype v)
char * icalcomponent_get_component_name_r(const icalcomponent *comp)
struct icaltimetype icalcomponent_get_dtstart(icalcomponent *comp)
int icalcomponent_count_properties(icalcomponent *component, icalproperty_kind kind)
icalcomponent * icalcomponent_new_vpoll(void)
icalcomponent * icalproperty_get_parent(const icalproperty *property)
Definition: icalproperty.c:934
icalcomponent * icalcomponent_new_xvote(void)
void icalcomponent_remove_property(icalcomponent *component, icalproperty *property)
void icalcomponent_strip_errors(icalcomponent *component)
bool icalcomponent_check_restrictions(icalcomponent *comp)
icalcomponent * icalcomponent_get_first_real_component(const icalcomponent *c)
icalproperty * icalpropiter_deref(icalpropiter *i)
void icalcomponent_set_x_name(icalcomponent *comp, const char *name)
icaltimezone * icalcomponent_get_timezone(icalcomponent *comp, const char *tzid)
icalcomponent * icalcomponent_new_vfreebusy(void)
icalcomponent_kind
Definition: icalenums.h:28
const char * icalcomponent_get_summary(icalcomponent *comp)
icalcomponent * icalcomponent_new_vtodo(void)
icalcomponent * icalcomponent_new_vevent(void)
void icalcomponent_normalize(icalcomponent *comp)
char * icalcomponent_as_ical_string(const icalcomponent *component)
icalcomponent_kind icalcomponent_string_to_kind(const char *string)
int icalcomponent_count_components(icalcomponent *component, icalcomponent_kind kind)
const char * icalcomponent_get_description(icalcomponent *comp)
icalcomponent * icalcomponent_new_vavailability(void)
void icalcomponent_set_iana_name(icalcomponent *comp, const char *name)
struct icaltimetype icalcomponent_get_recurrenceid(icalcomponent *comp)
icalcomponent * icalcomponent_new_vlocation(void)
icalpropiter icalcomponent_begin_property(icalcomponent *component, icalproperty_kind kind)
icalcomponent * icalcomponent_get_inner(icalcomponent *comp)
void icalproperty_set_parent(icalproperty *property, icalcomponent *component)
Definition: icalproperty.c:927
icalcomponent * icalcomponent_new_vreply(void)
void icalcomponent_set_description(icalcomponent *comp, const char *v)
void icalcomponent_set_dtstamp(icalcomponent *comp, struct icaltimetype v)
bool icalproperty_recurrence_is_excluded(icalcomponent *comp, struct icaltimetype *dtstart, struct icaltimetype *recurtime)
Decides if a recurrence is acceptable.
const char * icalcomponent_get_uid(icalcomponent *comp)
void icalcomponent_set_dtend(icalcomponent *comp, struct icaltimetype v)
icalcomponent * icalcomponent_new_iana(const char *iana_name)
icalcomponent * icalcomponent_get_current_component(icalcomponent *component)
void icalcomponent_merge_component(icalcomponent *comp, icalcomponent *comp_to_merge)
void icalcomponent_foreach_tzid(icalcomponent *comp, void(*callback)(icalparameter *param, void *data), void *callback_data)
void icalcomponent_set_status(icalcomponent *comp, enum icalproperty_status v)
icalcomponent * icalcomponent_get_next_component(icalcomponent *component, icalcomponent_kind kind)
icalcomponent * icalcomponent_new_x(const char *x_name)
icalcomponent * icalcomponent_new_vtimezone(void)
const char * icalcomponent_get_x_name(const icalcomponent *comp)
icalcomponent * icalcomponent_new_vcalendar(void)
icalcomponent * icalcomponent_new_valarm(void)
const char * icalcomponent_get_relcalid(icalcomponent *comp)
struct icaltime_span icalcomponent_get_span(icalcomponent *comp)
struct icaltimetype icalcomponent_get_due(icalcomponent *comp)
Defines enums not belonging to other data structures.