Libical API Documentation 4.0 UNRELEASED Go to the stable 3.0 documentation
Loading...
Searching...
No Matches
icalparameter_cxx.hpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2001, Critical Path
3 * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
4 */
5
11
12#ifndef ICALPARAMETER_CXX_H
13#define ICALPARAMETER_CXX_H
14
15#include "libical_ical_export.h"
16#include "icptrholder_cxx.hpp"
17
18extern "C" {
19#include "icalparameter.h"
20}
21
22#include <string>
23#include <vector>
24
25namespace LibICal
26{
27
31class LIBICAL_ICAL_EXPORT ICalParameter
32{
33public:
38
43
49
54
55 explicit ICalParameter(icalparameter *v);
56
57 // Create from string of form "PARAMNAME=VALUE"
58 explicit ICalParameter(const std::string &str);
59
60 // Create from just the value, the part after the "="
61 explicit ICalParameter(const icalparameter_kind &kind);
62 ICalParameter(const icalparameter_kind &kind, const std::string &str);
63
64 operator icalparameter *()
65 {
66 return imp;
67 }
68
69 void detach();
70
71 std::string as_ical_string();
72 bool is_valid();
73 icalparameter_kind isa();
74 bool isa_parameter(void *param);
75
76 /* Access the name of an X parameter */
77 static void set_xname(ICalParameter &param, const std::string &v);
78 static std::string get_xname(ICalParameter &param);
79 static void set_xvalue(ICalParameter &param, const std::string &v);
80 static std::string get_xvalue(ICalParameter &param);
81
82 /* Convert enumerations */
83 static std::string kind_to_string(const icalparameter_kind &kind);
84 static icalparameter_kind string_to_kind(const std::string &str);
85
86 /* DELEGATED-FROM */
87 std::vector<std::string> get_delegatedfrom() const;
88 void set_delegatedfrom(const std::vector<std::string> &v);
89
90 /* RELATED */
91 icalparameter_related get_related() const;
92 void set_related(const icalparameter_related &v);
93
94 /* SENT-BY */
95 std::string get_sentby() const;
96 void set_sentby(const std::string &v);
97
98 /* LANGUAGE */
99 std::string get_language() const;
100 void set_language(const std::string &v);
101
102 /* RELTYPE */
103 icalparameter_reltype get_reltype() const;
104 void set_reltype(const icalparameter_reltype &v);
105
106 /* ENCODING */
107 icalparameter_encoding get_encoding() const;
108 void set_encoding(const icalparameter_encoding &v);
109
110 /* ALTREP */
111 std::string get_altrep() const;
112 void set_altrep(const std::string &v);
113
114 /* FMTTYPE */
115 std::string get_fmttype() const;
116 void set_fmttype(const std::string &v);
117
118 /* FBTYPE */
119 icalparameter_fbtype get_fbtype() const;
120 void set_fbtype(const icalparameter_fbtype &v);
121
122 /* RSVP */
123 icalparameter_rsvp get_rsvp() const;
124 void set_rsvp(const icalparameter_rsvp &v);
125
126 /* RANGE */
127 icalparameter_range get_range() const;
128 void set_range(const icalparameter_range &v);
129
130 /* DELEGATED-TO */
131 std::vector<std::string> get_delegatedto() const;
132 void set_delegatedto(const std::vector<std::string> &v);
133
134 /* CN */
135 std::string get_cn() const;
136 void set_cn(const std::string &v);
137
138 /* ROLE */
139 icalparameter_role get_role() const;
140 void set_role(const icalparameter_role &v);
141
142 /* X-LIC-COMPARETYPE */
143 icalparameter_xliccomparetype get_xliccomparetype() const;
144 void set_xliccomparetype(const icalparameter_xliccomparetype &v);
145
146 /* PARTSTAT */
147 icalparameter_partstat get_partstat() const;
148 void set_partstat(const icalparameter_partstat &v);
149
150 /* X-LIC-ERRORTYPE */
151 icalparameter_xlicerrortype get_xlicerrortype() const;
152 void set_xlicerrortype(const icalparameter_xlicerrortype &v);
153
154 /* MEMBER */
155 std::vector<std::string> get_member() const;
156 void set_member(const std::vector<std::string> &v);
157
158 /* X */
159 std::string get_x() const;
160 void set_x(const std::string &v);
161
162 /* CUTYPE */
163 icalparameter_cutype get_cutype() const;
164 void set_cutype(const icalparameter_cutype &v);
165
166 /* TZID */
167 std::string get_tzid() const;
168 void set_tzid(const std::string &v);
169
170 /* VALUE */
171 icalparameter_value get_value() const;
172 void set_value(const icalparameter_value &v);
173
174 /* DIR */
175 std::string get_dir() const;
176 void set_dir(const std::string &v);
177
178private:
179 icalparameter *imp;
180};
181
182} // namespace LibICal
183
184#endif
ICalParameter & operator=(const ICalParameter &)
Defines the data structure representing iCalendar parameters.
C++ template classes for managing C++ pointers returned by VComponent::get_..._component,...