$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
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 
12 #ifndef ICALPARAMETER_CXX_H
13 #define ICALPARAMETER_CXX_H
14 
15 #include "libical_ical_export.h"
16 #include "icptrholder_cxx.hpp"
17 
18 extern "C" {
19 #include "icalparameter.h"
20 }
21 
22 #include <string>
23 #include <vector>
24 
25 namespace LibICal
26 {
27 
31 class LIBICAL_ICAL_EXPORT ICalParameter
32 {
33 public:
37  ICalParameter();
38 
43 
48  ICalParameter &operator=(const ICalParameter &);
49 
53  ~ICalParameter();
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 
178 private:
179  icalparameter *imp;
180 };
181 
182 } // namespace LibICal
183 
184 #endif
C++ template classes for managing C++ pointers returned by VComponent::get_..._component, VComponent::get_..._property, ICalProperty::get_..._value.
Defines the data structure representing iCalendar parameters.