bump to 1.0.0 and clean up spec file
[platform/upstream/libical.git] / src / libical / icalparameter_cxx.h
1 /* -*- Mode: C++ -*- */
2
3 /**
4  * @file    icalparameter_cxx.h
5  * @author  fnguyen (12/10/01)
6  * @brief   Definition of C++ Wrapper for icalparameter.c
7  *
8  * (C) COPYRIGHT 2001, Critical Path
9
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of either: 
12
13     The LGPL as published by the Free Software Foundation, version
14     2.1, available at: http://www.fsf.org/copyleft/lesser.html
15
16   Or:
17
18     The Mozilla Public License Version 1.0. You may obtain a copy of
19     the License at http://www.mozilla.org/MPL/
20  */
21
22
23 #ifndef ICALPARAMETER_CXX_H
24 #define ICALPARAMETER_CXX_H
25
26 extern "C" {
27 #include "ical.h"
28 };
29
30 #include "icptrholder.h"
31
32 typedef char* string; // Will use the string library from STL
33
34 class ICalParameter {
35 public:
36         ICalParameter() throw(icalerrorenum);
37         ICalParameter(const ICalParameter&) throw(icalerrorenum);
38         ICalParameter& operator=(const ICalParameter&) throw(icalerrorenum);
39         ~ICalParameter();
40
41         ICalParameter(icalparameter* v)  throw(icalerrorenum);
42
43         // Create from string of form "PARAMNAME=VALUE"
44         ICalParameter(string str) throw(icalerrorenum);
45
46         // Create from just the value, the part after the "="
47         ICalParameter(icalparameter_kind kind, string  str) throw(icalerrorenum); 
48         ICalParameter(icalparameter_kind kind) throw(icalerrorenum);
49
50         operator icalparameter*() { return imp; }
51
52         void detach() {
53             imp = NULL;
54         }
55
56 public:
57         string as_ical_string() throw(icalerrorenum);
58         bool is_valid();
59         icalparameter_kind isa( );
60         int isa_parameter(void* param);
61         
62 public:
63         /* Acess the name of an X parameer */
64         static void set_xname (ICalParameter  &param, string  v);
65         static string get_xname(ICalParameter  &param);
66         static void set_xvalue (ICalParameter  &param, string  v);
67         static string get_xvalue(ICalParameter  &param);
68
69         /* Convert enumerations */
70         static string kind_to_string(icalparameter_kind kind);
71         static icalparameter_kind string_to_kind(string  str);
72
73 public:
74         /* DELEGATED-FROM */
75         string get_delegatedfrom();
76         void set_delegatedfrom(string  v);
77
78         /* RELATED */
79         icalparameter_related get_related();
80         void set_related(icalparameter_related v);
81
82         /* SENT-BY */
83         string get_sentby();
84         void set_sentby(string  v);
85
86         /* LANGUAGE */
87         string get_language();
88         void set_language(string  v);
89
90         /* RELTYPE */
91         icalparameter_reltype get_reltype();
92         void set_reltype(icalparameter_reltype v);
93
94         /* ENCODING */
95         icalparameter_encoding get_encoding();
96         void set_encoding(icalparameter_encoding v);
97
98         /* ALTREP */
99         string get_altrep();
100         void set_altrep(string  v);
101
102         /* FMTTYPE */
103         string get_fmttype();
104         void set_fmttype(string  v);
105
106         /* FBTYPE */
107         icalparameter_fbtype get_fbtype();
108         void set_fbtype(icalparameter_fbtype v);
109
110         /* RSVP */
111         icalparameter_rsvp get_rsvp();
112         void set_rsvp(icalparameter_rsvp v);
113
114         /* RANGE */
115         icalparameter_range get_range();
116         void set_range(icalparameter_range v);
117
118         /* DELEGATED-TO */
119         string get_delegatedto();
120         void set_delegatedto(string  v);
121
122         /* CN */
123         string get_cn();
124         void set_cn(string  v);
125
126         /* ROLE */
127         icalparameter_role get_role();
128         void set_role(icalparameter_role v);
129
130         /* X-LIC-COMPARETYPE */
131         icalparameter_xliccomparetype get_xliccomparetype();
132         void set_xliccomparetype(icalparameter_xliccomparetype v);
133
134         /* PARTSTAT */
135         icalparameter_partstat get_partstat();
136         void set_partstat(icalparameter_partstat v);
137
138         /* X-LIC-ERRORTYPE */
139         icalparameter_xlicerrortype get_xlicerrortype();
140         void set_xlicerrortype(icalparameter_xlicerrortype v);
141
142         /* MEMBER */
143         string get_member();
144         void set_member(string  v);
145
146         /* X */
147         string get_x();
148         void set_x(string  v);
149
150         /* CUTYPE */
151         icalparameter_cutype get_cutype();
152         void set_cutype(icalparameter_cutype v);
153
154         /* TZID */
155         string get_tzid();
156         void set_tzid(string  v);
157
158         /* VALUE */
159         icalparameter_value get_value();
160         void set_value(icalparameter_value v);
161
162         /* DIR */
163         string get_dir();
164         void set_dir(string  v);
165
166 private:
167         icalparameter* imp;
168 };
169
170 #endif