Libical API Documentation 4.0
Loading...
Searching...
No Matches
icalfileset.h
1/*======================================================================
2 FILE: icalfileset.h
3 CREATOR: eric 23 December 1999
4
5 SPDX-FileCopyrightText: 2000, Eric Busboom <eric@civicknowledge.com>
6
7 SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
8
9 The Original Code is eric. The Initial Developer of the Original
10 Code is Eric Busboom
11======================================================================*/
12
13#ifndef ICALFILESET_H
14#define ICALFILESET_H
15
16#include "libical_icalss_export.h"
17#include "icalcluster.h"
18#include "icalset.h"
19
20typedef struct icalfileset_impl icalfileset;
21
22LIBICAL_ICALSS_EXPORT icalset *icalfileset_new(const char *path);
23
24LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_reader(const char *path);
25
26LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_writer(const char *path);
27
28LIBICAL_ICALSS_EXPORT icalset *icalfileset_init(icalset *set, const char *dsn, void *options);
29
30LIBICAL_ICALSS_EXPORT icalcluster *icalfileset_produce_icalcluster(const char *path);
31
32LIBICAL_ICALSS_EXPORT void icalfileset_free(icalset *cluster);
33
34LIBICAL_ICALSS_EXPORT const char *icalfileset_path(icalset *cluster);
35
36/* Mark the cluster as changed, so it will be written to disk when it
37 is freed. Commit writes to disk immediately. */
38LIBICAL_ICALSS_EXPORT void icalfileset_mark(icalset *set);
39
40LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_commit(icalset *set);
41
42LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_add_component(icalset *set, icalcomponent *child);
43
44LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_remove_component(icalset *set,
45 icalcomponent *child);
46
47LIBICAL_ICALSS_EXPORT int icalfileset_count_components(icalset *set, icalcomponent_kind kind);
48
53LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_select(icalset *set, icalgauge *gauge);
54
56LIBICAL_ICALSS_EXPORT void icalfileset_clear(icalset *set);
57
59LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch(icalset *set,
60 icalcomponent_kind kind, const char *uid);
61
62LIBICAL_ICALSS_EXPORT int icalfileset_has_uid(icalset *set, const char *uid);
63
64LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch_match(icalset *set, icalcomponent *c);
65
71LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_modify(icalset *set,
72 icalcomponent *oldcomp,
73 icalcomponent *newcomp);
74
75/* Iterates through components. If a gauge has been defined, these
76 will skip over components that do not pass the gauge */
77
78LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_current_component(icalset *cluster);
79
80LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_first_component(icalset *cluster);
81
82LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_next_component(icalset *cluster);
83
84/* External iterator for thread safety */
85LIBICAL_ICALSS_EXPORT icalsetiter icalfileset_begin_component(icalset *set,
86 icalcomponent_kind kind,
87 icalgauge *gauge, const char *tzid);
88
89LIBICAL_ICALSS_EXPORT icalcomponent *icalfilesetiter_to_next(icalset *set, icalsetiter *iter);
90
91LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_form_a_matched_recurrence_component(icalsetiter *
92 itr);
93
96
97LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_component(icalset *cluster);
98
104
105typedef struct icalfileset_options {
106 int flags;
107 int mode;
109 icalcluster *cluster;
111
112extern icalfileset_options icalfileset_options_default;
113
114#endif /* !ICALFILESET_H */
icalerrorenum
Represents the different types of errors that can be triggered in libical.
Definition icalerror.h:67
Definition icalfilesetimpl.h:18
char * path
Definition icalfilesetimpl.h:20
icalgauge * gauge
Definition icalfilesetimpl.h:24
icalfileset_options options
Definition icalfilesetimpl.h:21
icalcomponent * cluster
Definition icalfilesetimpl.h:23
Options for opening an icalfileset.
Definition icalfileset.h:105
int mode
Definition icalfileset.h:107
icalcluster * cluster
Definition icalfileset.h:109
int flags
Definition icalfileset.h:106
int safe_saves
Definition icalfileset.h:108
Definition icalset.h:42