$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
icalfileset.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: icalfileset.h
3  CREATOR: eric 23 December 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  The Original Code is eric. The Initial Developer of the Original
9  Code is Eric Busboom
10 ======================================================================*/
11 
18 #ifndef ICALFILESET_H
19 #define ICALFILESET_H
20 
21 #include "libical_icalss_export.h"
22 #include "icalcluster.h"
23 #include "icalset.h"
24 
25 typedef struct icalfileset_impl icalfileset;
26 
27 LIBICAL_ICALSS_EXPORT icalset *icalfileset_new(const char *path);
28 
29 LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_reader(const char *path);
30 
31 LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_writer(const char *path);
32 
33 LIBICAL_ICALSS_EXPORT icalset *icalfileset_init(icalset *set, const char *path, void *options_in);
34 
35 LIBICAL_ICALSS_EXPORT icalcluster *icalfileset_produce_icalcluster(const char *path);
36 
37 LIBICAL_ICALSS_EXPORT void icalfileset_free(icalset *set);
38 
39 LIBICAL_ICALSS_EXPORT const char *icalfileset_path(icalset *set);
40 
41 /* Mark the cluster as changed, so it will be written to disk when it
42  is freed. Commit writes to disk immediately. */
43 LIBICAL_ICALSS_EXPORT void icalfileset_mark(icalset *set);
44 
45 LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_commit(icalset *set);
46 
47 LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_add_component(icalset *set, icalcomponent *child);
48 
49 LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_remove_component(icalset *set,
50  icalcomponent *child);
51 
52 LIBICAL_ICALSS_EXPORT int icalfileset_count_components(icalset *set, icalcomponent_kind kind);
53 
58 LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_select(icalset *set, icalgauge *gauge);
59 
61 LIBICAL_ICALSS_EXPORT void icalfileset_clear(icalset *set);
62 
64 LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch(icalset *set,
65  icalcomponent_kind kind, const char *uid);
66 
67 LIBICAL_ICALSS_EXPORT int icalfileset_has_uid(icalset *set, const char *uid);
68 
69 LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch_match(icalset *set, const icalcomponent *c);
70 
76 LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_modify(icalset *set,
77  icalcomponent *oldcomp,
78  icalcomponent *newcomp);
79 
80 /* Iterates through components. If a gauge has been defined, these
81  will skip over components that do not pass the gauge */
82 
83 LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_current_component(icalset *set);
84 
85 LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_first_component(icalset *set);
86 
87 LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_next_component(icalset *set);
88 
89 /* External iterator for thread safety */
90 LIBICAL_ICALSS_EXPORT icalsetiter icalfileset_begin_component(icalset *set,
91  icalcomponent_kind kind,
92  icalgauge *gauge, const char *tzid);
93 
94 LIBICAL_ICALSS_EXPORT icalcomponent *icalfilesetiter_to_next(icalset *set, icalsetiter *iter);
95 
96 LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_form_a_matched_recurrence_component(icalsetiter *
97  itr);
98 
102 LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_component(icalset *set);
103 
110 typedef struct icalfileset_options {
111  int flags;
112  int mode;
114  icalcluster *cluster;
116 
118 
119 #endif /* !ICALFILESET_H */
Icalset is the "base class" for representations of a collection of iCal components.
void icalfileset_clear(icalset *set)
Clears the gauge.
Definition: icalfileset.c:487
icalcluster * cluster
Definition: icalfileset.h:114
icalerrorenum icalfileset_select(icalset *set, icalgauge *gauge)
Definition: icalfileset.c:475
Defines the data structure for calendar clusters.
icalfileset_options icalfileset_options_default
Definition: icalfileset.c:42
icalerrorenum
Represents the different types of errors that can be triggered in libical.
Definition: icalerror.h:41
Options for opening an icalfileset.
Definition: icalfileset.h:110
icalerrorenum icalfileset_modify(icalset *set, icalcomponent *oldcomp, icalcomponent *newcomp)
Modifies components according to the MODIFY method of CAP.
Definition: icalfileset.c:648
icalcomponent_kind
Definition: icalenums.h:28
icalcomponent * icalfileset_get_component(icalset *set)
Definition: icalfileset.c:420
icalcomponent * icalfileset_fetch(icalset *set, icalcomponent_kind kind, const char *uid)
Gets and searches for a component by uid.
Definition: icalfileset.c:497