Libical API Documentation 4.0 STABLE VERSION [Visit the v3.0 documentation]
Loading...
Searching...
No Matches
icalvalue_cxx.cpp
Go to the documentation of this file.
1/*======================================================================
2 FILE: icalvalue_cxx.cpp
3 CREATOR: fnguyen 12/21/01
4
5 SPDX-FileCopyrightText: 2001, Critical Path
6 SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
7======================================================================*/
8
13
14#ifdef HAVE_CONFIG_H
15#include <config.h>
16#endif
17
18#include "icalvalue_cxx.hpp"
19
20extern "C" {
21#include "icalerror_p.h"
22}
23
24#include <string>
25
26using namespace LibICal;
27
32
34 : imp(icalvalue_clone(v.imp))
35{
36 if (imp == NULL) {
37 throw icalerrno;
38 }
39}
40
42{
43 if (this == &v) {
44 return *this;
45 }
46
47 icalvalue_free(imp);
48 imp = icalvalue_clone(v.imp);
49 if (imp == NULL) {
50 throw icalerrno;
51 }
52
53 return *this;
54}
55
57{
58 imp = NULL;
59}
60
65
67 : imp(v)
68{
69}
70
72 : imp(icalvalue_new(kind))
73{
74 if (imp == NULL) {
75 throw icalerrno;
76 }
77}
78
79ICalValue::ICalValue(const icalvalue_kind &kind, const std::string &str)
80 : imp(icalvalue_new_from_string(kind, str.c_str()))
81{
82 if (imp == NULL) {
83 throw icalerrno;
84 }
85}
86
88{
89 return static_cast<std::string>(icalvalue_as_ical_string(imp));
90}
91
93{
94 if (imp == NULL) {
95 return false;
96 }
97 return icalvalue_is_valid(imp);
98}
99
101{
102 return icalvalue_isa(imp);
103}
104
105/* cppcheck-suppress functionStatic */
106bool ICalValue::isa_value(void *value) //NOLINT(readability-convert-member-functions-to-static)
107{
108 return icalvalue_isa_value(value);
109}
110
111/* Special, non autogenerated value accessors */
113{
114 icalvalue_set_recur(imp, v);
115}
116
121
122/* cppcheck-suppress functionStatic */
123void ICalValue::set_trigger(const struct icaltriggertype &v) //NOLINT(readability-convert-member-functions-to-static)
124{
125 _unused(v);
126}
127
129{
130 return icalvalue_get_trigger(imp);
131}
132
137
142
143/* cppcheck-suppress constParameterReference */
148
149/* Convert enumerations */
151{
152 return icalvalue_string_to_kind(str.c_str());
153}
154
155/* cppcheck-suppress functionStatic */
156std::string ICalValue::kind_to_string(const icalvalue_kind &kind) //NOLINT(readability-convert-member-functions-to-static)
157{
158 return static_cast<std::string>(icalvalue_kind_to_string(kind));
159}
160
161/* BOOLEAN */
163{
164 return icalvalue_get_boolean(imp);
165}
166
167void ICalValue::set_boolean(const int &v)
168{
169 icalvalue_set_boolean(imp, v);
170}
171
172/* UTC-OFFSET */
174{
175 return icalvalue_get_utcoffset(imp);
176}
177
178void ICalValue::set_utcoffset(const int &v)
179{
181}
182
183/* METHOD */
185{
186 return icalvalue_get_method(imp);
187}
188
190{
191 icalvalue_set_method(imp, v);
192}
193
194/* CAL-ADDRESS */
195std::string ICalValue::get_caladdress() const
196{
197 return static_cast<std::string>(icalvalue_get_caladdress(imp));
198}
199
200void ICalValue::set_caladdress(const std::string &v)
201{
202 icalvalue_set_caladdress(imp, v.c_str());
203}
204
205/* PERIOD */
207{
208 return icalvalue_get_period(imp);
209}
210
212{
213 icalvalue_set_period(imp, v);
214}
215
216/* STATUS */
218{
219 return icalvalue_get_status(imp);
220}
221
223{
224 icalvalue_set_status(imp, v);
225}
226
227/* BINARY */
228std::string ICalValue::get_binary() const
229{
230 return static_cast<std::string>(icalvalue_get_binary(imp));
231}
232
233void ICalValue::set_binary(const std::string &v)
234{
235 icalvalue_set_binary(imp, v.c_str());
236}
237
238/* TEXT */
239std::string ICalValue::get_text() const
240{
241 return static_cast<std::string>(icalvalue_get_text(imp));
242}
243
244void ICalValue::set_text(const std::string &v)
245{
246 icalvalue_set_text(imp, v.c_str());
247}
248
249/* DURATION */
251{
252 return icalvalue_get_duration(imp);
253}
254
256{
258}
259
260/* INTEGER */
262{
263 return icalvalue_get_integer(imp);
264}
265
266void ICalValue::set_integer(const int &v)
267{
268 icalvalue_set_integer(imp, v);
269}
270
271/* URI */
272std::string ICalValue::get_uri() const
273{
274 return static_cast<std::string>(icalvalue_get_uri(imp));
275}
276
277void ICalValue::set_uri(const std::string &v)
278{
279 icalvalue_set_uri(imp, v.c_str());
280}
281
282/* ATTACH */
287
292
293/* CLASS */
295{
296 return icalvalue_get_class(imp);
297}
298
300{
301 icalvalue_set_class(imp, v);
302}
303
304/* FLOAT */
306{
307 return icalvalue_get_float(imp);
308}
309
310void ICalValue::set_float(const float &v)
311{
312 icalvalue_set_float(imp, v);
313}
314
315/* QUERY */
316std::string ICalValue::get_query() const
317{
318 return static_cast<std::string>(icalvalue_get_query(imp));
319}
320
321void ICalValue::set_query(const std::string &v)
322{
323 icalvalue_set_query(imp, v.c_str());
324}
325
326/* STRING */
327std::string ICalValue::get_string() const
328{
329 return static_cast<std::string>(icalvalue_get_string(imp));
330}
331
332void ICalValue::set_string(const std::string &v)
333{
334 icalvalue_set_string(imp, v.c_str());
335}
336
337/* TRANSP */
339{
340 return icalvalue_get_transp(imp);
341}
342
344{
345 icalvalue_set_transp(imp, v);
346}
347
348/* DATE-TIME */
350{
351 return icalvalue_get_datetime(imp);
352}
353
355{
357}
358
359/* GEO */
361{
362 return icalvalue_get_geo(imp);
363}
364
365void ICalValue::set_geo(const struct icalgeotype &v)
366{
367 icalvalue_set_geo(imp, v);
368}
369
370/* DATE */
372{
373 return icalvalue_get_date(imp);
374}
375
377{
378 icalvalue_set_date(imp, v);
379}
380
381/* ACTION */
383{
384 return icalvalue_get_action(imp);
385}
386
388{
389 icalvalue_set_action(imp, v);
390}
static icalvalue_kind string_to_kind(const std::string &str)
void set_date(const struct icaltimetype &v)
std::string kind_to_string(const icalvalue_kind &kind)
enum icalproperty_method get_method() const
void set_boolean(const int &v)
struct icalrecurrencetype * get_recur()
std::string get_query() const
struct icaldurationtype get_duration() const
std::string get_string() const
std::string get_binary() const
enum icalproperty_status get_status() const
struct icalperiodtype get_period() const
void set_datetime(const struct icaltimetype &v)
float get_float() const
enum icalproperty_transp get_transp() const
ICalValue & operator=(const ICalValue &)
void set_transp(const enum icalproperty_transp &v)
enum icalproperty_action get_action() const
void set_caladdress(const std::string &v)
void set_geo(const struct icalgeotype &v)
static icalparameter_xliccomparetype compare(ICalValue &a, ICalValue &b)
void set_recur(struct icalrecurrencetype *v)
std::string get_caladdress() const
std::string get_text() const
void set_binary(const std::string &v)
void set_trigger(const struct icaltriggertype &v)
void set_class(const enum icalproperty_class &v)
void set_attach(icalattach *v)
void set_float(const float &v)
struct icalgeotype get_geo() const
std::string as_ical_string()
struct icaldatetimeperiodtype get_datetimeperiod()
void set_uri(const std::string &v)
icalattach * get_attach()
void set_datetimeperiod(const struct icaldatetimeperiodtype &v)
std::string get_uri() const
enum icalproperty_class get_class() const
struct icaltimetype get_date() const
void set_status(const enum icalproperty_status &v)
void set_utcoffset(const int &v)
void set_period(const struct icalperiodtype &v)
icalvalue_kind isa()
struct icaltimetype get_datetime() const
int get_utcoffset() const
void set_query(const std::string &v)
void set_action(const enum icalproperty_action &v)
void set_string(const std::string &v)
void set_integer(const int &v)
void set_method(const enum icalproperty_method &v)
struct icaltriggertype get_trigger()
void set_text(const std::string &v)
void set_duration(const struct icaldurationtype &v)
struct icalattach_impl icalattach
An iCal attach object representing a link to a document object.
Definition icalattach.h:36
icalparameter_xliccomparetype
void icalvalue_set_class(icalvalue *value, enum icalproperty_class v)
struct icaltimetype icalvalue_get_datetime(const icalvalue *value)
enum icalproperty_status icalvalue_get_status(const icalvalue *value)
void icalvalue_set_binary(icalvalue *value, const char *v)
const char * icalvalue_get_query(const icalvalue *value)
const char * icalvalue_get_string(const icalvalue *value)
void icalvalue_set_datetimeperiod(icalvalue *value, struct icaldatetimeperiodtype v)
struct icaltriggertype icalvalue_get_trigger(const icalvalue *value)
void icalvalue_set_uri(icalvalue *value, const char *v)
void icalvalue_set_recur(icalvalue *value, struct icalrecurrencetype *recur)
float icalvalue_get_float(const icalvalue *value)
icalproperty_status
void icalvalue_set_datetime(icalvalue *value, struct icaltimetype v)
icalproperty_action
const char * icalvalue_get_uri(const icalvalue *value)
struct icaltimetype icalvalue_get_date(const icalvalue *value)
icalproperty_method
void icalvalue_set_status(icalvalue *value, enum icalproperty_status v)
int icalvalue_get_integer(const icalvalue *value)
void icalvalue_set_integer(icalvalue *value, int v)
enum icalproperty_action icalvalue_get_action(const icalvalue *value)
enum icalproperty_transp icalvalue_get_transp(const icalvalue *value)
int icalvalue_get_utcoffset(const icalvalue *value)
void icalvalue_set_geo(icalvalue *value, struct icalgeotype v)
icalattach * icalvalue_get_attach(const icalvalue *value)
icalproperty_class
void icalvalue_set_text(icalvalue *value, const char *v)
icalvalue_kind
@ ICAL_ANY_VALUE
void icalvalue_set_utcoffset(icalvalue *value, int v)
struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue *value)
void icalvalue_set_string(icalvalue *value, const char *v)
const char * icalvalue_get_binary(const icalvalue *value)
void icalvalue_set_boolean(icalvalue *value, int v)
enum icalproperty_method icalvalue_get_method(const icalvalue *value)
void icalvalue_set_transp(icalvalue *value, enum icalproperty_transp v)
struct icaldurationtype icalvalue_get_duration(const icalvalue *value)
void icalvalue_set_float(icalvalue *value, float v)
void icalvalue_set_attach(icalvalue *value, icalattach *attach)
const char * icalvalue_get_caladdress(const icalvalue *value)
struct icalperiodtype icalvalue_get_period(const icalvalue *value)
void icalvalue_set_caladdress(icalvalue *value, const char *v)
struct icalrecurrencetype * icalvalue_get_recur(const icalvalue *value)
void icalvalue_set_action(icalvalue *value, enum icalproperty_action v)
void icalvalue_set_method(icalvalue *value, enum icalproperty_method v)
struct icalgeotype icalvalue_get_geo(const icalvalue *value)
void icalvalue_set_date(icalvalue *value, struct icaltimetype v)
const char * icalvalue_get_text(const icalvalue *value)
enum icalproperty_class icalvalue_get_class(const icalvalue *value)
icalproperty_transp
void icalvalue_set_duration(icalvalue *value, struct icaldurationtype v)
int icalvalue_get_boolean(const icalvalue *value)
struct icalvalue_impl icalvalue
void icalvalue_set_query(icalvalue *value, const char *v)
void icalvalue_set_period(icalvalue *value, struct icalperiodtype v)
enum icalrequeststatus kind
Definition icalenums.c:26
const char * str
Definition icalenums.c:29
#define icalerrno
Access the current icalerrno value.
Definition icalerror.h:133
icalvalue_kind icalvalue_isa(const icalvalue *value)
Definition icalvalue.c:1327
bool icalvalue_is_valid(const icalvalue *value)
Definition icalvalue.c:873
bool icalvalue_isa_value(void *value)
Definition icalvalue.c:1336
icalvalue * icalvalue_clone(const icalvalue *old)
Definition icalvalue.c:65
icalvalue * icalvalue_new_from_string(icalvalue_kind kind, const char *str)
Definition icalvalue.c:791
icalparameter_xliccomparetype icalvalue_compare(const icalvalue *a, const icalvalue *b)
Definition icalvalue.c:1356
icalvalue * icalvalue_new(icalvalue_kind kind)
Definition icalvalue.c:60
void icalvalue_free(icalvalue *v)
Definition icalvalue.c:796
const char * icalvalue_as_ical_string(const icalvalue *value)
Definition icalvalue.c:1217
icalvalue_kind icalvalue_string_to_kind(const char *str)
const char * icalvalue_kind_to_string(const icalvalue_kind kind)
Definition of C++ Wrapper for icalvalue.c.