Libical API Documentation 4.0 UNRELEASED Go to the stable 3.0 documentation
Loading...
Searching...
No Matches
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
17
18#ifndef ICALFILESET_H
19#define ICALFILESET_H
20
21#include "libical_icalss_export.h"
22#include "icalcluster.h"
23#include "icalset.h"
24
25typedef struct icalfileset_impl icalfileset;
26
27LIBICAL_ICALSS_EXPORT icalset *icalfileset_new(const char *path);
28
29LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_reader(const char *path);
30
31LIBICAL_ICALSS_EXPORT icalset *icalfileset_new_writer(const char *path);
32
33LIBICAL_ICALSS_EXPORT icalset *icalfileset_init(icalset *set, const char *path, void *options_in);
34
35LIBICAL_ICALSS_EXPORT icalcluster *icalfileset_produce_icalcluster(const char *path);
36
37LIBICAL_ICALSS_EXPORT void icalfileset_free(icalset *set);
38
39LIBICAL_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. */
43LIBICAL_ICALSS_EXPORT void icalfileset_mark(icalset *set);
44
45LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_commit(icalset *set);
46
47LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_add_component(icalset *set, icalcomponent *child);
48
49LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_remove_component(icalset *set,
50 icalcomponent *child);
51
52LIBICAL_ICALSS_EXPORT int icalfileset_count_components(icalset *set, icalcomponent_kind kind);
53
58LIBICAL_ICALSS_EXPORT icalerrorenum icalfileset_select(icalset *set, icalgauge *gauge);
59
61LIBICAL_ICALSS_EXPORT void icalfileset_clear(icalset *set);
62
64LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch(icalset *set,
65 icalcomponent_kind kind, const char *uid);
66
67LIBICAL_ICALSS_EXPORT int icalfileset_has_uid(icalset *set, const char *uid);
68
69LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_fetch_match(icalset *set, const icalcomponent *c);
70
76LIBICAL_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
83LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_current_component(icalset *set);
84
85LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_first_component(icalset *set);
86
87LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_next_component(icalset *set);
88
89/* External iterator for thread safety */
90LIBICAL_ICALSS_EXPORT icalsetiter icalfileset_begin_component(icalset *set,
92 icalgauge *gauge, const char *tzid);
93
94LIBICAL_ICALSS_EXPORT icalcomponent *icalfilesetiter_to_next(icalset *set, icalsetiter *iter);
95
96LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_form_a_matched_recurrence_component(icalsetiter *
97 itr);
98
101
102LIBICAL_ICALSS_EXPORT icalcomponent *icalfileset_get_component(icalset *set);
103
109
110typedef struct icalfileset_options {
111 int flags;
112 int mode;
114 icalcluster *cluster;
116
118
119#endif /* !ICALFILESET_H */
Defines the data structure for calendar clusters.
icalcomponent_kind
Definition icalenums.h:29
icalerrorenum
Represents the different types of errors that can be triggered in libical.
Definition icalerror.h:42
icalfileset_options icalfileset_options_default
Definition icalfileset.c:42
icalerrorenum icalfileset_modify(icalset *set, icalcomponent *oldcomp, icalcomponent *newcomp)
Modifies components according to the MODIFY method of CAP.
icalerrorenum icalfileset_select(icalset *set, icalgauge *gauge)
void icalfileset_clear(icalset *set)
Clears the gauge.
icalcomponent * icalfileset_get_component(icalset *set)
icalcomponent * icalfileset_fetch(icalset *set, icalcomponent_kind kind, const char *uid)
Gets and searches for a component by uid.
Icalset is the "base class" for representations of a collection of iCal components.
Options for opening an icalfileset.
icalcluster * cluster