$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
icalcluster.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: icalcluster.h
3  CREATOR: acampi 13 March 2002
4 
5  SPDX-FileCopyrightText: 2002 Andrea Campi <a.campi@inet.it>
6  SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
7 ======================================================================*/
8 
22 #ifndef ICALCLUSTER_H
23 #define ICALCLUSTER_H
24 
25 #include "libical_icalss_export.h"
26 #include "icalcomponent.h"
27 #include "icalerror.h"
28 
29 typedef struct icalcluster_impl icalcluster;
30 
36 LIBICAL_ICALSS_EXPORT icalcluster *icalcluster_new(const char *key, icalcomponent *data);
37 
43 LIBICAL_ICALSS_EXPORT icalcluster *icalcluster_clone(const icalcluster *old);
44 
45 LIBICAL_ICALSS_EXPORT void icalcluster_free(icalcluster *cluster);
46 
47 LIBICAL_ICALSS_EXPORT const char *icalcluster_key(const icalcluster *cluster);
48 
49 LIBICAL_ICALSS_EXPORT int icalcluster_is_changed(const icalcluster *cluster);
50 
51 LIBICAL_ICALSS_EXPORT void icalcluster_mark(icalcluster *cluster);
52 
53 LIBICAL_ICALSS_EXPORT void icalcluster_commit(icalcluster *cluster);
54 
55 LIBICAL_ICALSS_EXPORT icalcomponent *icalcluster_get_component(const icalcluster *cluster);
56 
57 LIBICAL_ICALSS_EXPORT int icalcluster_count_components(icalcluster *cluster,
58  icalcomponent_kind kind);
59 
60 LIBICAL_ICALSS_EXPORT icalerrorenum icalcluster_add_component(icalcluster *cluster,
61  icalcomponent *child);
62 
63 LIBICAL_ICALSS_EXPORT icalerrorenum icalcluster_remove_component(icalcluster *cluster,
64  icalcomponent *child);
65 
66 LIBICAL_ICALSS_EXPORT icalcomponent *icalcluster_get_current_component(icalcluster *cluster);
67 
68 LIBICAL_ICALSS_EXPORT icalcomponent *icalcluster_get_first_component(icalcluster *cluster);
69 
70 LIBICAL_ICALSS_EXPORT icalcomponent *icalcluster_get_next_component(icalcluster *cluster);
71 
72 #endif /* !ICALCLUSTER_H */
icalcluster * icalcluster_new(const char *key, icalcomponent *data)
Create a cluster with a key/value pair.
Definition: icalcluster.c:39
Defines the data structure for iCalendar components.
icalerrorenum
Represents the different types of errors that can be triggered in libical.
Definition: icalerror.h:41
Error handling for libical.
icalcluster * icalcluster_clone(const icalcluster *old)
Deep clone an icalcluster to a new one.
Definition: icalcluster.c:70
icalcomponent * icalcluster_get_current_component(icalcluster *cluster)
Iterate through components.
Definition: icalcluster.c:179
icalcomponent_kind
Definition: icalenums.h:28