$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
icalvalue.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: icalvalue.h
3  CREATOR: eric 20 March 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 
14 #ifndef ICALVALUE_H
15 #define ICALVALUE_H
16 
17 #include "libical_ical_export.h"
18 #include "icalvalueimpl.h"
19 
20 #include <stdbool.h>
21 
31 LIBICAL_ICAL_EXPORT icalvalue *icalvalue_new(icalvalue_kind kind);
32 
42 LIBICAL_ICAL_EXPORT icalvalue *icalvalue_clone(const icalvalue *old);
43 
53 LIBICAL_ICAL_EXPORT icalvalue *icalvalue_new_from_string(icalvalue_kind kind, const char *str);
54 
60 LIBICAL_ICAL_EXPORT void icalvalue_free(icalvalue *value);
61 
69 LIBICAL_ICAL_EXPORT bool icalvalue_is_valid(const icalvalue *value);
70 
82 LIBICAL_ICAL_EXPORT const char *icalvalue_as_ical_string(const icalvalue *value);
83 
93 LIBICAL_ICAL_EXPORT char *icalvalue_as_ical_string_r(const icalvalue *value);
94 
102 LIBICAL_ICAL_EXPORT icalvalue_kind icalvalue_isa(const icalvalue *value);
103 
111 LIBICAL_ICAL_EXPORT bool icalvalue_isa_value(void *value);
112 
123 LIBICAL_ICAL_EXPORT icalparameter_xliccomparetype icalvalue_compare(const icalvalue *a,
124  const icalvalue *b);
125 
126 /* Special, non autogenerated value accessors */
127 
128 /* Defined in icalderivedvalue.h */
129 /* icalvalue* icalvalue_new_recur (struct icalrecurrencetype *v); */
130 /* void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype *v); */
131 /* struct icalrecurrencetype *icalvalue_get_recur(const icalvalue* value); */
132 
133 /* icalvalue* icalvalue_new_trigger (struct icaltriggertype v); */
134 /* void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); */
135 /* struct icaltriggertype icalvalue_get_trigger(const icalvalue* value); */
136 
137 /* icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); */
138 /* void icalvalue_set_datetimeperiod(icalvalue* value, */
139 /* struct icaldatetimeperiodtype v); */
140 /* struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value); */
141 
142 /* Convert enumerations */
143 
153 LIBICAL_ICAL_EXPORT icalvalue_kind icalvalue_string_to_kind(const char *str);
154 
163 LIBICAL_ICAL_EXPORT const char *icalvalue_kind_to_string(const icalvalue_kind kind);
164 
172 LIBICAL_ICAL_EXPORT bool icalvalue_kind_is_valid(const icalvalue_kind kind);
173 
179 LIBICAL_ICAL_EXPORT void icalvalue_reset_kind(icalvalue *value);
180 
193 LIBICAL_ICAL_EXPORT bool icalvalue_encode_ical_string(const char *szText,
194  char *szEncText, int maxBufferLen);
195 
208 LIBICAL_ICAL_EXPORT bool icalvalue_decode_ical_string(const char *szText,
209  char *szDecText, int maxBufferLen);
210 
211 /* For the library only -- do not make visible */
213 extern void print_date_to_string(char *str, const struct icaltimetype *data);
214 extern void print_datetime_to_string(char *str, const struct icaltimetype *data);
216 
217 #endif /*ICALVALUE_H */
void icalvalue_reset_kind(icalvalue *value)
Definition: icalvalue.c:1531
bool icalvalue_kind_is_valid(const icalvalue_kind kind)
bool icalvalue_decode_ical_string(const char *szText, char *szDecText, int maxBufferLen)
Definition: icalvalue.c:1590
icalvalue * icalvalue_new(icalvalue_kind kind)
Definition: icalvalue.c:60
icalvalue_kind icalvalue_isa(const icalvalue *value)
Definition: icalvalue.c:1327
bool icalvalue_is_valid(const icalvalue *value)
Definition: icalvalue.c:873
char * icalvalue_as_ical_string_r(const icalvalue *value)
Definition: icalvalue.c:1226
icalvalue * icalvalue_new_from_string(icalvalue_kind kind, const char *str)
Definition: icalvalue.c:791
bool icalvalue_isa_value(void *value)
Definition: icalvalue.c:1336
bool icalvalue_encode_ical_string(const char *szText, char *szEncText, int maxBufferLen)
Definition: icalvalue.c:1556
icalparameter_xliccomparetype icalvalue_compare(const icalvalue *a, const icalvalue *b)
Definition: icalvalue.c:1356
icalvalue_kind icalvalue_string_to_kind(const char *str)
icalvalue * icalvalue_clone(const icalvalue *old)
Definition: icalvalue.c:65
void icalvalue_free(icalvalue *value)
Definition: icalvalue.c:796
const char * icalvalue_kind_to_string(const icalvalue_kind kind)
const char * icalvalue_as_ical_string(const icalvalue *value)
Definition: icalvalue.c:1217