Libical API Documentation 4.0 UNRELEASED Go to the stable 3.0 documentation
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 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
12#ifndef ICALFILESET_H
13#define ICALFILESET_H
14
15#include "libical_icalss_export.h"
16#include "icalcluster.h"
17#include "icalset.h"
18
19typedef struct icalfileset_impl icalfileset;
20
21LIBICAL_ICALSS_EXPORT icalset *icalfileset_new(const char *path);
22
23LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_reader(const char *path);
24
25LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_writer(const char *path);
26
27LIBICAL_ICALSS_EXPORT icalset *icalfileset_init(icalset *set, const char *path, void *options_in);
28
29LIBICAL_ICALSS_EXPORT icalcluster *icalfileset_produce_icalcluster(const char *path);
30
31LIBICAL_ICALSS_EXPORT void icalfileset_free(icalset *set);
32
33LIBICAL_ICALSS_EXPORT const char *icalfileset_path(icalset *set);
34
35/* Mark the cluster as changed, so it will be written to disk when it
36 is freed. Commit writes to disk immediately. */
37LIBICAL_ICALSS_EXPORT void icalfileset_mark(icalset *set);
38
39LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_commit(icalset *set);
40
41LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_add_component(icalset *set, icalcomponent *child);
42
43LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_remove_component(icalset *set,
44 icalcomponent *child);
45
46LIBICAL_ICALSS_EXPORT int icalfileset_count_components(icalset *set, icalcomponent_kind kind);
47
52LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_select(icalset *set, icalgauge *gauge);
53
55LIBICAL_ICALSS_EXPORT void icalfileset_clear(icalset *set);
56
58LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch(icalset *set,
59 icalcomponent_kind kind, const char *uid);
60
61LIBICAL_ICALSS_EXPORT int icalfileset_has_uid(icalset *set, const char *uid);
62
63LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch_match(icalset *set, const icalcomponent *c);
64
70LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_modify(icalset *set,
71 icalcomponent *oldcomp,
72 icalcomponent *newcomp);
73
74/* Iterates through components. If a gauge has been defined, these
75 will skip over components that do not pass the gauge */
76
77LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_current_component(icalset *set);
78
79LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_first_component(icalset *set);
80
81LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_next_component(icalset *set);
82
83/* External iterator for thread safety */
84LIBICAL_ICALSS_EXPORT icalsetiter icalfileset_begin_component(icalset *set,
85 icalcomponent_kind kind,
86 icalgauge *gauge, const char *tzid);
87
88LIBICAL_ICALSS_EXPORT icalcomponent *icalfilesetiter_to_next(icalset *set, icalsetiter *iter);
89
90LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_form_a_matched_recurrence_component(icalsetiter *
91 itr);
92
95
96LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_component(icalset *set);
97
103
104typedef struct icalfileset_options {
105 int flags;
106 int mode;
108 icalcluster *cluster;
110
111extern icalfileset_options icalfileset_options_default;
112
113#endif /* !ICALFILESET_H */
icalerrorenum
Represents the different types of errors that can be triggered in libical.
Definition icalerror.h:64
Definition icalfilesetimpl.h:17
char * path
Definition icalfilesetimpl.h:19
icalgauge * gauge
Definition icalfilesetimpl.h:23
Options for opening an icalfileset.
Definition icalfileset.h:104
int mode
Definition icalfileset.h:106
icalcluster * cluster
Definition icalfileset.h:108
int flags
Definition icalfileset.h:105
int safe_saves
Definition icalfileset.h:107
Definition icalset.h:41