-rw-r--r-- | libical/src/libical/ical.h | 2056 |
1 files changed, 1350 insertions, 706 deletions
diff --git a/libical/src/libical/ical.h b/libical/src/libical/ical.h index 69a2c3a..0ae2c15 100644 --- a/libical/src/libical/ical.h +++ b/libical/src/libical/ical.h | |||
@@ -1,21 +1,140 @@ | |||
1 | #ifdef __cplusplus | ||
2 | extern "C" { | ||
3 | #endif | ||
4 | /* | ||
5 | $Id$ | ||
6 | */ | ||
7 | /* config.h. Generated by configure. */ | ||
8 | /* config.h.in. Generated from configure.in by autoheader. */ | ||
9 | |||
10 | /* Define to 1 if you have the <assert.h> header file. */ | ||
11 | #define HAVE_ASSERT_H 1 | ||
12 | |||
13 | /* Define to 1 if you have the `gmtime_r' function. */ | ||
14 | #define HAVE_GMTIME_R 1 | ||
15 | |||
16 | /* Define to 1 if you have the <inttypes.h> header file. */ | ||
17 | #define HAVE_INTTYPES_H 1 | ||
18 | |||
19 | /* Define to 1 if you have the `iswspace' function. */ | ||
20 | #define HAVE_ISWSPACE 1 | ||
21 | |||
22 | /* Define to 1 if you have the <memory.h> header file. */ | ||
23 | #define HAVE_MEMORY_H 1 | ||
24 | |||
25 | /* Define if we have pthread. */ | ||
26 | #define HAVE_PTHREAD | ||
27 | |||
28 | /* Define to 1 if you have the <pthread.h> header file. */ | ||
29 | #define HAVE_PTHREAD_H 1 | ||
30 | |||
31 | /* Define to 1 if you have the `snprintf' function. */ | ||
32 | #define HAVE_SNPRINTF 1 | ||
33 | |||
34 | /* Define to 1 if you have the <stdint.h> header file. */ | ||
35 | #define HAVE_STDINT_H 1 | ||
36 | |||
37 | /* Define to 1 if you have the <stdlib.h> header file. */ | ||
38 | #define HAVE_STDLIB_H 1 | ||
39 | |||
40 | /* Define to 1 if you have the `strdup' function. */ | ||
41 | #define HAVE_STRDUP 1 | ||
42 | |||
43 | /* Define to 1 if you have the <strings.h> header file. */ | ||
44 | #define HAVE_STRINGS_H 1 | ||
45 | |||
46 | /* Define to 1 if you have the <string.h> header file. */ | ||
47 | #define HAVE_STRING_H 1 | ||
48 | |||
49 | /* Define to 1 if you have the <sys/stat.h> header file. */ | ||
50 | #define HAVE_SYS_STAT_H 1 | ||
51 | |||
52 | /* Define to 1 if you have the <sys/types.h> header file. */ | ||
53 | #define HAVE_SYS_TYPES_H 1 | ||
54 | |||
55 | /* Define to 1 if you have the <time.h> header file. */ | ||
56 | #define HAVE_TIME_H 1 | ||
57 | |||
58 | /* Define to 1 if you have the <unistd.h> header file. */ | ||
59 | #define HAVE_UNISTD_H 1 | ||
60 | |||
61 | /* Define to 1 if you have the <wctype.h> header file. */ | ||
62 | #define HAVE_WCTYPE_H 1 | ||
63 | |||
64 | /* Define to make icalerror_* calls abort instead of internally signalling an | ||
65 | error */ | ||
66 | #define ICAL_ERRORS_ARE_FATAL 1 | ||
67 | |||
68 | /* Define if we want _REENTRANT */ | ||
69 | /* #undef ICAL_REENTRANT */ | ||
70 | |||
71 | /* Define to terminate lines with " | ||
72 | " instead of " | ||
73 | " */ | ||
74 | #define ICAL_UNIX_NEWLINE 1 | ||
75 | |||
76 | /* Define to 1 if you DO NOT WANT to see deprecated messages */ | ||
77 | #define NO_WARN_DEPRECATED 1 | ||
78 | |||
79 | /* Define to 1 if you DO NO WANT to see the warning messages related to | ||
80 | ICAL_MALFORMEDDATA_ERROR and parsing .ics zoneinfo files */ | ||
81 | #define NO_WARN_ICAL_MALFORMEDDATA_ERROR_HACK 1 | ||
82 | |||
83 | /* Name of package */ | ||
84 | #define PACKAGE "libical" | ||
85 | |||
86 | /* Define to the address where bug reports for this package should be sent. */ | ||
87 | #define PACKAGE_BUGREPORT "" | ||
88 | |||
89 | /* Define to the full name of this package. */ | ||
90 | #define PACKAGE_NAME "" | ||
91 | |||
92 | /* Define to the full name and version of this package. */ | ||
93 | #define PACKAGE_STRING "" | ||
94 | |||
95 | /* Define to the one symbol short name of this package. */ | ||
96 | #define PACKAGE_TARNAME "" | ||
97 | |||
98 | /* Define to the version of this package. */ | ||
99 | #define PACKAGE_VERSION "" | ||
100 | |||
101 | /* Define to 1 if you have the ANSI C header files. */ | ||
102 | #define STDC_HEADERS 1 | ||
103 | |||
104 | /* Define to 1 if your <sys/time.h> declares `struct tm'. */ | ||
105 | /* #undef TM_IN_SYS_TIME */ | ||
106 | |||
107 | /* Version number of package */ | ||
108 | #define VERSION "0.24" | ||
109 | |||
110 | /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a | ||
111 | `char[]'. */ | ||
112 | #define YYTEXT_POINTER 1 | ||
113 | |||
114 | /* Define to empty if `const' does not conform to ANSI C. */ | ||
115 | /* #undef const */ | ||
116 | |||
117 | /* Define to `int' if <sys/types.h> does not define. */ | ||
118 | /* #undef mode_t */ | ||
119 | |||
120 | /* Define to `unsigned' if <sys/types.h> does not define. */ | ||
121 | /* #undef size_t */ | ||
1 | #ifndef ICAL_VERSION_H | 122 | #ifndef ICAL_VERSION_H |
2 | #define ICAL_VERSION_H | 123 | #define ICAL_VERSION_H |
3 | 124 | ||
4 | #define ICAL_PACKAGE "libical" | 125 | #define ICAL_PACKAGE "libical" |
5 | #define ICAL_VERSION "0.23" | 126 | #define ICAL_VERSION "0.24" |
6 | 127 | ||
7 | #endif | 128 | #endif |
8 | /* -*- Mode: C -*- */ | 129 | /* -*- Mode: C -*- */ |
9 | /*====================================================================== | 130 | /*====================================================================== |
10 | FILE: icaltime.h | 131 | FILE: icaltime.h |
11 | CREATOR: eric 02 June 2000 | 132 | CREATOR: eric 02 June 2000 |
12 | 133 | ||
13 | 134 | ||
14 | $Id$ | ||
15 | $Locker$ | ||
16 | 135 | ||
17 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 136 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
18 | 137 | ||
19 | This program is free software; you can redistribute it and/or modify | 138 | This program is free software; you can redistribute it and/or modify |
20 | it under the terms of either: | 139 | it under the terms of either: |
21 | 140 | ||
@@ -30,137 +149,263 @@ | |||
30 | The Original Code is eric. The Initial Developer of the Original | 149 | The Original Code is eric. The Initial Developer of the Original |
31 | Code is Eric Busboom | 150 | Code is Eric Busboom |
32 | 151 | ||
33 | 152 | ||
34 | ======================================================================*/ | 153 | ======================================================================*/ |
35 | 154 | ||
155 | /**@file icaltime.h | ||
156 | *@brief struct icaltimetype is a pseudo-object that abstracts time | ||
157 | *handling. | ||
158 | * | ||
159 | *It can represent either a DATE or a DATE-TIME (floating, UTC or in a | ||
160 | *given timezone), and it keeps track internally of its native timezone. | ||
161 | * | ||
162 | *The typical usage is to call the correct constructor specifying the | ||
163 | *desired timezone. If this is not known until a later time, the | ||
164 | *correct behavior is to specify a NULL timezone and call | ||
165 | *icaltime_convert_to_zone() at a later time. | ||
166 | * | ||
167 | *There are several ways to create a new icaltimetype: | ||
168 | * | ||
169 | *- icaltime_null_time() | ||
170 | *- icaltime_null_date() | ||
171 | *- icaltime_current_time_with_zone() | ||
172 | *- icaltime_today() | ||
173 | *- icaltime_from_timet_with_zone(time_t tm, int is_date, | ||
174 | * icaltimezone *zone) | ||
175 | * - icaltime_from_string_with_zone(const char* str, icaltimezone *zone) | ||
176 | *- icaltime_from_day_of_year(int doy, int year) | ||
177 | *- icaltime_from_week_number(int week_number, int year) | ||
178 | * | ||
179 | *italtimetype objects can be converted to different formats: | ||
180 | * | ||
181 | *- icaltime_as_timet(struct icaltimetype tt) | ||
182 | *- icaltime_as_timet_with_zone(struct icaltimetype tt, | ||
183 | * icaltimezone *zone) | ||
184 | *- icaltime_as_ical_string(struct icaltimetype tt) | ||
185 | * | ||
186 | *Accessor methods include: | ||
187 | * | ||
188 | *- icaltime_get_timezone(struct icaltimetype t) | ||
189 | *- icaltime_get_tzid(struct icaltimetype t) | ||
190 | *- icaltime_set_timezone(struct icaltimetype t, const icaltimezone *zone) | ||
191 | *- icaltime_day_of_year(struct icaltimetype t) | ||
192 | *- icaltime_day_of_week(struct icaltimetype t) | ||
193 | *- icaltime_start_doy_of_week(struct icaltimetype t) | ||
194 | *- icaltime_week_number(struct icaltimetype t) | ||
195 | * | ||
196 | *Query methods include: | ||
197 | * | ||
198 | *- icaltime_is_null_time(struct icaltimetype t) | ||
199 | *- icaltime_is_valid_time(struct icaltimetype t) | ||
200 | *- icaltime_is_date(struct icaltimetype t) | ||
201 | *- icaltime_is_utc(struct icaltimetype t) | ||
202 | *- icaltime_is_floating(struct icaltimetype t) | ||
203 | * | ||
204 | *Modify, compare and utility methods include: | ||
205 | * | ||
206 | *- icaltime_add(struct icaltimetype t, struct icaldurationtype d) | ||
207 | *- icaltime_subtract(struct icaltimetype t1, struct icaltimetype t2) | ||
208 | * - icaltime_compare_with_zone(struct icaltimetype a,struct icaltimetype b) | ||
209 | *- icaltime_compare(struct icaltimetype a,struct icaltimetype b) | ||
210 | *- icaltime_compare_date_only(struct icaltimetype a, | ||
211 | * struct icaltimetype b) | ||
212 | *- icaltime_adjust(struct icaltimetype *tt, int days, int hours, | ||
213 | * int minutes, int seconds); | ||
214 | *- icaltime_normalize(struct icaltimetype t); | ||
215 | *- icaltime_convert_to_zone(const struct icaltimetype tt, | ||
216 | * icaltimezone *zone); | ||
217 | */ | ||
218 | |||
36 | #ifndef ICALTIME_H | 219 | #ifndef ICALTIME_H |
37 | #define ICALTIME_H | 220 | #define ICALTIME_H |
38 | 221 | ||
39 | #include <time.h> | 222 | #include <time.h> |
40 | 223 | ||
41 | /* icaltime_span is returned by icalcomponent_get_span() */ | 224 | /* An opaque struct representing a timezone. We declare this here to avoid |
225 | a circular dependancy. */ | ||
226 | #ifndef ICALTIMEZONE_DEFINED | ||
227 | #define ICALTIMEZONE_DEFINED | ||
228 | typedef struct _icaltimezone icaltimezone; | ||
229 | #endif | ||
230 | |||
231 | /** icaltime_span is returned by icalcomponent_get_span() */ | ||
42 | struct icaltime_span { | 232 | struct icaltime_span { |
43 | time_t start; /* in UTC */ | 233 | time_t start; /**< in UTC */ |
44 | time_t end; /* in UTC */ | 234 | time_t end; /**< in UTC */ |
45 | int is_busy; /* 1->busy time, 0-> free time */ | 235 | int is_busy; /**< 1->busy time, 0-> free time */ |
46 | }; | 236 | }; |
47 | 237 | ||
238 | typedef struct icaltime_span icaltime_span; | ||
48 | 239 | ||
240 | /* | ||
241 | *FIXME | ||
242 | * | ||
243 | *is_utc is redundant, and might be considered a minor optimization. | ||
244 | *It might be deprecated, so you should use icaltime_is_utc() instead. | ||
245 | */ | ||
49 | struct icaltimetype | 246 | struct icaltimetype |
50 | { | 247 | { |
51 | int year; | 248 | int year;/**< Actual year, e.g. 2001. */ |
52 | int month; | 249 | int month;/**< 1 (Jan) to 12 (Dec). */ |
53 | int day; | 250 | int day; |
54 | int hour; | 251 | int hour; |
55 | int minute; | 252 | int minute; |
56 | int second; | 253 | int second; |
57 | 254 | ||
58 | int is_utc; /* 1-> time is in UTC timezone */ | 255 | int is_utc; /**< 1-> time is in UTC timezone */ |
256 | |||
257 | int is_date; /**< 1 -> interpret this as date. */ | ||
59 | 258 | ||
60 | int is_date; /* 1 -> interpret this as date. */ | 259 | int is_daylight; /**< 1 -> time is in daylight savings time. */ |
61 | 260 | ||
62 | const char* zone; /*Ptr to Olsen placename. Libical does not own mem*/ | 261 | const icaltimezone *zone;/**< timezone */ |
63 | }; | 262 | }; |
64 | 263 | ||
65 | /* Convert seconds past UNIX epoch to a timetype*/ | 264 | typedef struct icaltimetype icaltimetype; |
66 | struct icaltimetype icaltime_from_timet(time_t v, int is_date); | ||
67 | 265 | ||
68 | /* Return the time as seconds past the UNIX epoch */ | 266 | /** Return a null time, which indicates no time has been set. |
69 | time_t icaltime_as_timet(struct icaltimetype); | 267 | This time represent the beginning of the epoch */ |
268 | struct icaltimetype icaltime_null_time(void); | ||
70 | 269 | ||
71 | /* Return a string represention of the time, in RFC2445 format. The | 270 | /** Return a null date */ |
72 | string is owned by libical */ | 271 | struct icaltimetype icaltime_null_date(void); |
73 | char* icaltime_as_ical_string(struct icaltimetype tt); | 272 | |
273 | /** Returns the current time in the given timezone, as an icaltimetype. */ | ||
274 | struct icaltimetype icaltime_current_time_with_zone(const icaltimezone *zone); | ||
275 | |||
276 | /** Returns the current day as an icaltimetype, with is_date set. */ | ||
277 | struct icaltimetype icaltime_today(void); | ||
74 | 278 | ||
75 | /* Like icaltime_from_timet(), except that the input may be in seconds | 279 | /** Convert seconds past UNIX epoch to a timetype*/ |
76 | past the epoch in floating time. This routine is deprecated */ | 280 | struct icaltimetype icaltime_from_timet(const time_t v, const int is_date); |
77 | struct icaltimetype icaltime_from_int(int v, int is_date, int is_utc); | ||
78 | 281 | ||
79 | /* Like icaltime_as_timet, but in a floating epoch. This routine is deprecated */ | 282 | /** Convert seconds past UNIX epoch to a timetype, using timezones. */ |
80 | int icaltime_as_int(struct icaltimetype); | 283 | struct icaltimetype icaltime_from_timet_with_zone(const time_t tm, |
284 | const int is_date, const icaltimezone *zone); | ||
81 | 285 | ||
82 | /* create a time from an ISO format string */ | 286 | /** create a time from an ISO format string */ |
83 | struct icaltimetype icaltime_from_string(const char* str); | 287 | struct icaltimetype icaltime_from_string(const char* str); |
84 | 288 | ||
85 | /* Routines for handling timezones */ | 289 | /** create a time from an ISO format string */ |
86 | /* Return the offset of the named zone as seconds. tt is a time | 290 | struct icaltimetype icaltime_from_string_with_zone(const char* str, |
87 | indicating the date for which you want the offset */ | 291 | const icaltimezone *zone); |
88 | int icaltime_utc_offset(struct icaltimetype tt, const char* tzid); | ||
89 | 292 | ||
90 | /* convert tt, of timezone tzid, into a utc time. Does nothing if the | 293 | /** Create a new time, given a day of year and a year. */ |
91 | time is already UTC. */ | 294 | struct icaltimetype icaltime_from_day_of_year(const int doy, |
92 | struct icaltimetype icaltime_as_utc(struct icaltimetype tt, | 295 | const int year); |
93 | const char* tzid); | ||
94 | 296 | ||
95 | /* convert tt, a time in UTC, into a time in timezone tzid */ | 297 | /**@brief Contructor (TODO). |
96 | struct icaltimetype icaltime_as_zone(struct icaltimetype tt, | 298 | * Create a new time from a weeknumber and a year. */ |
97 | const char* tzid); | 299 | struct icaltimetype icaltime_from_week_number(const int week_number, |
300 | const int year); | ||
98 | 301 | ||
99 | /* Return a null time, which indicates no time has been set. This time represent the beginning of the epoch */ | 302 | /** Return the time as seconds past the UNIX epoch */ |
100 | struct icaltimetype icaltime_null_time(void); | 303 | time_t icaltime_as_timet(const struct icaltimetype); |
304 | |||
305 | /** Return the time as seconds past the UNIX epoch, using timezones. */ | ||
306 | time_t icaltime_as_timet_with_zone(const struct icaltimetype tt, | ||
307 | const icaltimezone *zone); | ||
308 | |||
309 | /** Return a string represention of the time, in RFC2445 format. The | ||
310 | string is owned by libical */ | ||
311 | const char* icaltime_as_ical_string(const struct icaltimetype tt); | ||
312 | |||
313 | /** @brief Return the timezone */ | ||
314 | const icaltimezone *icaltime_get_timezone(const struct icaltimetype t); | ||
315 | |||
316 | /** @brief Return the tzid, or NULL for a floating time */ | ||
317 | char *icaltime_get_tzid(const struct icaltimetype t); | ||
318 | |||
319 | /** @brief Set the timezone */ | ||
320 | struct icaltimetype icaltime_set_timezone(struct icaltimetype *t, | ||
321 | const icaltimezone *zone); | ||
101 | 322 | ||
102 | /* Return true of the time is null. */ | 323 | /** Return the day of the year of the given time */ |
103 | int icaltime_is_null_time(struct icaltimetype t); | 324 | int icaltime_day_of_year(const struct icaltimetype t); |
104 | 325 | ||
105 | /* Returns false if the time is clearly invalid, but is not null. This | 326 | /** Return the day of the week of the given time. Sunday is 1 */ |
327 | int icaltime_day_of_week(const struct icaltimetype t); | ||
328 | |||
329 | /** Return the day of the year for the Sunday of the week that the | ||
330 | given time is within. */ | ||
331 | int icaltime_start_doy_of_week(const struct icaltimetype t); | ||
332 | |||
333 | /** Return the week number for the week the given time is within */ | ||
334 | int icaltime_week_number(const struct icaltimetype t); | ||
335 | |||
336 | /** Return true of the time is null. */ | ||
337 | int icaltime_is_null_time(const struct icaltimetype t); | ||
338 | |||
339 | /** Returns false if the time is clearly invalid, but is not null. This | ||
106 | is usually the result of creating a new time type buy not clearing | 340 | is usually the result of creating a new time type buy not clearing |
107 | it, or setting one of the flags to an illegal value. */ | 341 | it, or setting one of the flags to an illegal value. */ |
108 | int icaltime_is_valid_time(struct icaltimetype t); | 342 | int icaltime_is_valid_time(const struct icaltimetype t); |
109 | 343 | ||
110 | /* Reset all of the time components to be in their normal ranges. For | 344 | /** @brief Returns true if time is of DATE type, false if DATE-TIME */ |
111 | instance, given a time with minutes=70, the minutes will be reduces | 345 | int icaltime_is_date(const struct icaltimetype t); |
112 | to 10, and the hour incremented. This allows the caller to do | ||
113 | arithmetic on times without worrying about overflow or | ||
114 | underflow. */ | ||
115 | struct icaltimetype icaltime_normalize(struct icaltimetype t); | ||
116 | 346 | ||
117 | /* Return the day of the year of the given time */ | 347 | /** @brief Returns true if time is relative to UTC zone */ |
118 | short icaltime_day_of_year(struct icaltimetype t); | 348 | int icaltime_is_utc(const struct icaltimetype t); |
119 | 349 | ||
120 | /* Create a new time, given a day of year and a year. */ | 350 | /** @brief Returns true if time is a floating time */ |
121 | struct icaltimetype icaltime_from_day_of_year(short doy, short year); | 351 | int icaltime_is_floating(const struct icaltimetype t); |
122 | 352 | ||
123 | /* Return the day of the week of the given time. Sunday is 1 */ | 353 | /** Return -1, 0, or 1 to indicate that a<b, a==b or a>b */ |
124 | short icaltime_day_of_week(struct icaltimetype t); | 354 | int icaltime_compare_with_zone(const struct icaltimetype a, |
355 | const struct icaltimetype b); | ||
125 | 356 | ||
126 | /* Return the day of the year for the Sunday of the week that the | 357 | /** Return -1, 0, or 1 to indicate that a<b, a==b or a>b */ |
127 | given time is within. */ | 358 | int icaltime_compare(const struct icaltimetype a, |
128 | short icaltime_start_doy_of_week(struct icaltimetype t); | 359 | const struct icaltimetype b); |
129 | 360 | ||
130 | /* Return a string with the time represented in the same format as ctime(). THe string is owned by libical */ | 361 | /** like icaltime_compare, but only use the date parts. */ |
131 | char* icaltime_as_ctime(struct icaltimetype); | 362 | int icaltime_compare_date_only(const struct icaltimetype a, |
363 | const struct icaltimetype b); | ||
132 | 364 | ||
133 | /* Return the week number for the week the given time is within */ | 365 | /** Adds or subtracts a number of days, hours, minutes and seconds. */ |
134 | short icaltime_week_number(struct icaltimetype t); | 366 | void icaltime_adjust(struct icaltimetype *tt, const int days, |
367 | const int hours, const int minutes, const int seconds); | ||
135 | 368 | ||
136 | /* Create a new time from a weeknumber and a year. */ | 369 | /** Normalize the icaltime, so that all fields are within the normal range. */ |
137 | struct icaltimetype icaltime_from_week_number(short week_number, short year); | 370 | struct icaltimetype icaltime_normalize(const struct icaltimetype t); |
138 | 371 | ||
139 | /* Return -1, 0, or 1 to indicate that a<b, a==b or a>b */ | 372 | /** convert tt, of timezone tzid, into a utc time. Does nothing if the |
140 | int icaltime_compare(struct icaltimetype a,struct icaltimetype b); | 373 | time is already UTC. */ |
374 | struct icaltimetype icaltime_convert_to_zone(const struct icaltimetype tt, | ||
375 | icaltimezone *zone); | ||
141 | 376 | ||
142 | /* like icaltime_compare, but only use the date parts. */ | 377 | /** Return the number of days in the given month */ |
143 | int icaltime_compare_date_only(struct icaltimetype a, struct icaltimetype b); | 378 | int icaltime_days_in_month(const int month, const int year); |
144 | 379 | ||
145 | /* Return the number of days in the given month */ | ||
146 | short icaltime_days_in_month(short month,short year); | ||
147 | 380 | ||
381 | /** @brief calculate an icaltimespan given a start and end time. */ | ||
382 | struct icaltime_span icaltime_span_new(struct icaltimetype dtstart, | ||
383 | struct icaltimetype dtend, | ||
384 | int is_busy); | ||
148 | 385 | ||
149 | #endif /* !ICALTIME_H */ | 386 | /** @brief Returns true if the two spans overlap **/ |
387 | int icaltime_span_overlaps(icaltime_span *s1, | ||
388 | icaltime_span *s2); | ||
150 | 389 | ||
390 | /** @brief Returns true if the span is totally within the containing | ||
391 | * span | ||
392 | */ | ||
393 | int icaltime_span_contains(icaltime_span *s, | ||
394 | icaltime_span *container); | ||
395 | |||
396 | |||
397 | #endif /* !ICALTIME_H */ | ||
151 | 398 | ||
152 | 399 | ||
153 | /* -*- Mode: C -*- */ | 400 | /* -*- Mode: C -*- */ |
154 | /*====================================================================== | 401 | /*====================================================================== |
155 | FILE: icalduration.h | 402 | FILE: icalduration.h |
156 | CREATOR: eric 26 Jan 2001 | 403 | CREATOR: eric 26 Jan 2001 |
157 | 404 | ||
158 | 405 | ||
159 | $Id$ | ||
160 | $Locker$ | ||
161 | 406 | ||
162 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 407 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
163 | 408 | ||
164 | This program is free software; you can redistribute it and/or modify | 409 | This program is free software; you can redistribute it and/or modify |
165 | it under the terms of either: | 410 | it under the terms of either: |
166 | 411 | ||
@@ -193,14 +438,16 @@ struct icaldurationtype | |||
193 | }; | 438 | }; |
194 | 439 | ||
195 | struct icaldurationtype icaldurationtype_from_int(int t); | 440 | struct icaldurationtype icaldurationtype_from_int(int t); |
196 | struct icaldurationtype icaldurationtype_from_string(const char*); | 441 | struct icaldurationtype icaldurationtype_from_string(const char*); |
197 | int icaldurationtype_as_int(struct icaldurationtype duration); | 442 | int icaldurationtype_as_int(struct icaldurationtype duration); |
198 | char* icaldurationtype_as_ical_string(struct icaldurationtype d); | 443 | char* icaldurationtype_as_ical_string(struct icaldurationtype d); |
199 | struct icaldurationtype icaldurationtype_null_duration(); | 444 | struct icaldurationtype icaldurationtype_null_duration(void); |
445 | struct icaldurationtype icaldurationtype_bad_duration(void); | ||
200 | int icaldurationtype_is_null_duration(struct icaldurationtype d); | 446 | int icaldurationtype_is_null_duration(struct icaldurationtype d); |
447 | int icaldurationtype_is_bad_duration(struct icaldurationtype d); | ||
201 | 448 | ||
202 | struct icaltimetype icaltime_add(struct icaltimetype t, | 449 | struct icaltimetype icaltime_add(struct icaltimetype t, |
203 | struct icaldurationtype d); | 450 | struct icaldurationtype d); |
204 | 451 | ||
205 | struct icaldurationtype icaltime_subtract(struct icaltimetype t1, | 452 | struct icaldurationtype icaltime_subtract(struct icaltimetype t1, |
206 | struct icaltimetype t2); | 453 | struct icaltimetype t2); |
@@ -212,14 +459,12 @@ struct icaldurationtype icaltime_subtract(struct icaltimetype t1, | |||
212 | /* -*- Mode: C -*- */ | 459 | /* -*- Mode: C -*- */ |
213 | /*====================================================================== | 460 | /*====================================================================== |
214 | FILE: icalperiod.h | 461 | FILE: icalperiod.h |
215 | CREATOR: eric 26 Jan 2001 | 462 | CREATOR: eric 26 Jan 2001 |
216 | 463 | ||
217 | 464 | ||
218 | $Id$ | ||
219 | $Locker$ | ||
220 | 465 | ||
221 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 466 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
222 | 467 | ||
223 | This program is free software; you can redistribute it and/or modify | 468 | This program is free software; you can redistribute it and/or modify |
224 | it under the terms of either: | 469 | it under the terms of either: |
225 | 470 | ||
@@ -248,18 +493,18 @@ struct icalperiodtype | |||
248 | struct icaldurationtype duration; | 493 | struct icaldurationtype duration; |
249 | }; | 494 | }; |
250 | 495 | ||
251 | struct icalperiodtype icalperiodtype_from_string (const char* str); | 496 | struct icalperiodtype icalperiodtype_from_string (const char* str); |
252 | 497 | ||
253 | const char* icalperiodtype_as_ical_string(struct icalperiodtype p); | 498 | const char* icalperiodtype_as_ical_string(struct icalperiodtype p); |
254 | struct icalperiodtype icalperiodtype_null_period(); | ||
255 | int icalperiodtype_is_null_period(struct icalperiodtype p); | ||
256 | int icalperiodtype_is_valid_period(struct icalperiodtype p); | ||
257 | 499 | ||
500 | struct icalperiodtype icalperiodtype_null_period(void); | ||
258 | 501 | ||
502 | int icalperiodtype_is_null_period(struct icalperiodtype p); | ||
259 | 503 | ||
504 | int icalperiodtype_is_valid_period(struct icalperiodtype p); | ||
260 | 505 | ||
261 | #endif /* !ICALTIME_H */ | 506 | #endif /* !ICALTIME_H */ |
262 | 507 | ||
263 | 508 | ||
264 | 509 | ||
265 | 510 | ||
@@ -304,12 +549,13 @@ typedef enum icalcomponent_kind { | |||
304 | ICAL_XROOT_COMPONENT, | 549 | ICAL_XROOT_COMPONENT, |
305 | ICAL_XATTACH_COMPONENT, /* MIME attached data, returned by parser. */ | 550 | ICAL_XATTACH_COMPONENT, /* MIME attached data, returned by parser. */ |
306 | ICAL_VEVENT_COMPONENT, | 551 | ICAL_VEVENT_COMPONENT, |
307 | ICAL_VTODO_COMPONENT, | 552 | ICAL_VTODO_COMPONENT, |
308 | ICAL_VJOURNAL_COMPONENT, | 553 | ICAL_VJOURNAL_COMPONENT, |
309 | ICAL_VCALENDAR_COMPONENT, | 554 | ICAL_VCALENDAR_COMPONENT, |
555 | ICAL_VAGENDA_COMPONENT, | ||
310 | ICAL_VFREEBUSY_COMPONENT, | 556 | ICAL_VFREEBUSY_COMPONENT, |
311 | ICAL_VALARM_COMPONENT, | 557 | ICAL_VALARM_COMPONENT, |
312 | ICAL_XAUDIOALARM_COMPONENT, | 558 | ICAL_XAUDIOALARM_COMPONENT, |
313 | ICAL_XDISPLAYALARM_COMPONENT, | 559 | ICAL_XDISPLAYALARM_COMPONENT, |
314 | ICAL_XEMAILALARM_COMPONENT, | 560 | ICAL_XEMAILALARM_COMPONENT, |
315 | ICAL_XPROCEDUREALARM_COMPONENT, | 561 | ICAL_XPROCEDUREALARM_COMPONENT, |
@@ -359,24 +605,31 @@ typedef enum icalrequeststatus { | |||
359 | ICAL_3_9_BADVERSION_STATUS, | 605 | ICAL_3_9_BADVERSION_STATUS, |
360 | ICAL_3_10_TOOBIG_STATUS, | 606 | ICAL_3_10_TOOBIG_STATUS, |
361 | ICAL_3_11_MISSREQCOMP_STATUS, | 607 | ICAL_3_11_MISSREQCOMP_STATUS, |
362 | ICAL_3_12_UNKCOMP_STATUS, | 608 | ICAL_3_12_UNKCOMP_STATUS, |
363 | ICAL_3_13_BADCOMP_STATUS, | 609 | ICAL_3_13_BADCOMP_STATUS, |
364 | ICAL_3_14_NOCAP_STATUS, | 610 | ICAL_3_14_NOCAP_STATUS, |
611 | ICAL_3_15_INVCOMMAND, | ||
365 | ICAL_4_0_BUSY_STATUS, | 612 | ICAL_4_0_BUSY_STATUS, |
613 | ICAL_4_1_STORE_ACCESS_DENIED, | ||
614 | ICAL_4_2_STORE_FAILED, | ||
615 | ICAL_4_3_STORE_NOT_FOUND, | ||
366 | ICAL_5_0_MAYBE_STATUS, | 616 | ICAL_5_0_MAYBE_STATUS, |
367 | ICAL_5_1_UNAVAIL_STATUS, | 617 | ICAL_5_1_UNAVAIL_STATUS, |
368 | ICAL_5_2_NOSERVICE_STATUS, | 618 | ICAL_5_2_NOSERVICE_STATUS, |
369 | ICAL_5_3_NOSCHED_STATUS | 619 | ICAL_5_3_NOSCHED_STATUS, |
620 | ICAL_6_1_CONTAINER_NOT_FOUND, | ||
621 | ICAL_9_0_UNRECOGNIZED_COMMAND | ||
370 | } icalrequeststatus; | 622 | } icalrequeststatus; |
371 | 623 | ||
372 | 624 | ||
373 | const char* icalenum_reqstat_desc(icalrequeststatus stat); | 625 | const char* icalenum_reqstat_desc(icalrequeststatus stat); |
374 | short icalenum_reqstat_major(icalrequeststatus stat); | 626 | short icalenum_reqstat_major(icalrequeststatus stat); |
375 | short icalenum_reqstat_minor(icalrequeststatus stat); | 627 | short icalenum_reqstat_minor(icalrequeststatus stat); |
376 | icalrequeststatus icalenum_num_to_reqstat(short major, short minor); | 628 | icalrequeststatus icalenum_num_to_reqstat(short major, short minor); |
629 | char* icalenum_reqstat_code(icalrequeststatus stat); | ||
377 | 630 | ||
378 | /*********************************************************************** | 631 | /*********************************************************************** |
379 | * Conversion functions | 632 | * Conversion functions |
380 | **********************************************************************/ | 633 | **********************************************************************/ |
381 | 634 | ||
382 | 635 | ||
@@ -445,45 +698,12 @@ icalrequeststatus icalenum_num_to_reqstat(short major, short minor); | |||
445 | #ifndef ICALTYPES_H | 698 | #ifndef ICALTYPES_H |
446 | #define ICALTYPES_H | 699 | #define ICALTYPES_H |
447 | 700 | ||
448 | #include <time.h> | 701 | #include <time.h> |
449 | 702 | ||
450 | 703 | ||
451 | /* This type type should probably be an opaque type... */ | ||
452 | struct icalattachtype | ||
453 | { | ||
454 | void* binary; | ||
455 | int owns_binary; | ||
456 | |||
457 | char* base64; | ||
458 | int owns_base64; | ||
459 | |||
460 | char* url; | ||
461 | |||
462 | int refcount; | ||
463 | |||
464 | }; | ||
465 | |||
466 | /* converts base64 to binary, fetches url and stores as binary, or | ||
467 | just returns data */ | ||
468 | |||
469 | struct icalattachtype* icalattachtype_new(void); | ||
470 | void icalattachtype_add_reference(struct icalattachtype* v); | ||
471 | void icalattachtype_free(struct icalattachtype* v); | ||
472 | |||
473 | void icalattachtype_set_url(struct icalattachtype* v, char* url); | ||
474 | char* icalattachtype_get_url(struct icalattachtype* v); | ||
475 | |||
476 | void icalattachtype_set_base64(struct icalattachtype* v, char* base64, | ||
477 | int owns); | ||
478 | char* icalattachtype_get_base64(struct icalattachtype* v); | ||
479 | |||
480 | void icalattachtype_set_binary(struct icalattachtype* v, char* binary, | ||
481 | int owns); | ||
482 | void* icalattachtype_get_binary(struct icalattachtype* v); | ||
483 | |||
484 | struct icalgeotype | 704 | struct icalgeotype |
485 | { | 705 | { |
486 | float lat; | 706 | float lat; |
487 | float lon; | 707 | float lon; |
488 | }; | 708 | }; |
489 | 709 | ||
@@ -498,15 +718,17 @@ struct icaldatetimeperiodtype | |||
498 | struct icaltriggertype | 718 | struct icaltriggertype |
499 | { | 719 | { |
500 | struct icaltimetype time; | 720 | struct icaltimetype time; |
501 | struct icaldurationtype duration; | 721 | struct icaldurationtype duration; |
502 | }; | 722 | }; |
503 | 723 | ||
724 | struct icaltriggertype icaltriggertype_from_int(const int reltime); | ||
504 | struct icaltriggertype icaltriggertype_from_string(const char* str); | 725 | struct icaltriggertype icaltriggertype_from_string(const char* str); |
505 | 726 | ||
506 | int icaltriggertype_is_null_trigger(struct icaltriggertype tr); | 727 | int icaltriggertype_is_null_trigger(struct icaltriggertype tr); |
728 | int icaltriggertype_is_bad_trigger(struct icaltriggertype tr); | ||
507 | 729 | ||
508 | /* struct icalreqstattype. This struct contains two string pointers, | 730 | /* struct icalreqstattype. This struct contains two string pointers, |
509 | but don't try to free either of them. The "desc" string is a pointer | 731 | but don't try to free either of them. The "desc" string is a pointer |
510 | to a static table inside the library. Don't try to free it. The | 732 | to a static table inside the library. Don't try to free it. The |
511 | "debug" string is a pointer into the string that the called passed | 733 | "debug" string is a pointer into the string that the called passed |
512 | into to icalreqstattype_from_string. Don't try to free it either, and | 734 | into to icalreqstattype_from_string. Don't try to free it either, and |
@@ -568,52 +790,69 @@ void icaltimezonetype_free(struct icaltimezonetype tzt); | |||
568 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | 790 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html |
569 | 791 | ||
570 | Or: | 792 | Or: |
571 | 793 | ||
572 | The Mozilla Public License Version 1.0. You may obtain a copy of | 794 | The Mozilla Public License Version 1.0. You may obtain a copy of |
573 | the License at http://www.mozilla.org/MPL/ | 795 | the License at http://www.mozilla.org/MPL/ |
796 | */ | ||
797 | |||
798 | /** | ||
799 | @file icalrecur.h | ||
800 | @brief Routines for dealing with recurring time | ||
574 | 801 | ||
575 | How to use: | 802 | How to use: |
576 | 803 | ||
577 | 1) Get a rule and a start time from a component | 804 | 1) Get a rule and a start time from a component |
805 | |||
806 | @code | ||
578 | icalproperty rrule; | 807 | icalproperty rrule; |
579 | struct icalrecurrencetype recur; | 808 | struct icalrecurrencetype recur; |
580 | struct icaltimetype dtstart; | 809 | struct icaltimetype dtstart; |
581 | 810 | ||
582 | rrule = icalcomponent_get_first_property(comp,ICAL_RRULE_PROPERTY); | 811 | rrule = icalcomponent_get_first_property(comp,ICAL_RRULE_PROPERTY); |
583 | recur = icalproperty_get_rrule(rrule); | 812 | recur = icalproperty_get_rrule(rrule); |
584 | start = icalproperty_get_dtstart(dtstart); | 813 | start = icalproperty_get_dtstart(dtstart); |
814 | @endcode | ||
585 | 815 | ||
586 | Or, just make them up: | 816 | Or, just make them up: |
817 | |||
818 | @code | ||
587 | recur = icalrecurrencetype_from_string("FREQ=YEARLY;BYDAY=SU,WE"); | 819 | recur = icalrecurrencetype_from_string("FREQ=YEARLY;BYDAY=SU,WE"); |
588 | dtstart = icaltime_from_string("19970101T123000") | 820 | dtstart = icaltime_from_string("19970101T123000") |
821 | @endcode | ||
589 | 822 | ||
590 | 2) Create an iterator | 823 | 2) Create an iterator |
824 | |||
825 | @code | ||
591 | icalrecur_iterator* ritr; | 826 | icalrecur_iterator* ritr; |
592 | ritr = icalrecur_iterator_new(recur,start); | 827 | ritr = icalrecur_iterator_new(recur,start); |
828 | @endcode | ||
593 | 829 | ||
594 | 3) Iterator over the occurrences | 830 | 3) Iterator over the occurrences |
831 | |||
832 | @code | ||
595 | struct icaltimetype next; | 833 | struct icaltimetype next; |
596 | while (next = icalrecur_iterator_next(ritr) | 834 | while (next = icalrecur_iterator_next(ritr) |
597 | && !icaltime_is_null_time(next){ | 835 | && !icaltime_is_null_time(next){ |
598 | Do something with next | 836 | Do something with next |
599 | } | 837 | } |
838 | @endcode | ||
600 | 839 | ||
601 | Note that that the time returned by icalrecur_iterator_next is in | 840 | Note that that the time returned by icalrecur_iterator_next is in |
602 | whatever timezone that dtstart is in. | 841 | whatever timezone that dtstart is in. |
603 | 842 | ||
604 | ======================================================================*/ | 843 | */ |
605 | 844 | ||
606 | #ifndef ICALRECUR_H | 845 | #ifndef ICALRECUR_H |
607 | #define ICALRECUR_H | 846 | #define ICALRECUR_H |
608 | 847 | ||
609 | #include <time.h> | 848 | #include <time.h> |
610 | 849 | ||
611 | /*********************************************************************** | 850 | /* |
612 | * Recurrance enumerations | 851 | * Recurrance enumerations |
613 | **********************************************************************/ | 852 | */ |
614 | 853 | ||
615 | typedef enum icalrecurrencetype_frequency | 854 | typedef enum icalrecurrencetype_frequency |
616 | { | 855 | { |
617 | /* These enums are used to index an array, so don't change the | 856 | /* These enums are used to index an array, so don't change the |
618 | order or the integers */ | 857 | order or the integers */ |
619 | 858 | ||
@@ -644,13 +883,15 @@ enum { | |||
644 | ICAL_RECURRENCE_ARRAY_MAX = 0x7f7f, | 883 | ICAL_RECURRENCE_ARRAY_MAX = 0x7f7f, |
645 | ICAL_RECURRENCE_ARRAY_MAX_BYTE = 0x7f | 884 | ICAL_RECURRENCE_ARRAY_MAX_BYTE = 0x7f |
646 | }; | 885 | }; |
647 | 886 | ||
648 | 887 | ||
649 | 888 | ||
650 | /********************** Recurrence type routines **************/ | 889 | /** |
890 | * Recurrence type routines | ||
891 | */ | ||
651 | 892 | ||
652 | /* See RFC 2445 Section 4.3.10, RECUR Value, for an explaination of | 893 | /* See RFC 2445 Section 4.3.10, RECUR Value, for an explaination of |
653 | the values and fields in struct icalrecurrencetype */ | 894 | the values and fields in struct icalrecurrencetype */ |
654 | 895 | ||
655 | #define ICAL_BY_SECOND_SIZE 61 | 896 | #define ICAL_BY_SECOND_SIZE 61 |
656 | #define ICAL_BY_MINUTE_SIZE 61 | 897 | #define ICAL_BY_MINUTE_SIZE 61 |
@@ -659,13 +900,13 @@ enum { | |||
659 | #define ICAL_BY_MONTHDAY_SIZE 32 | 900 | #define ICAL_BY_MONTHDAY_SIZE 32 |
660 | #define ICAL_BY_YEARDAY_SIZE 367 | 901 | #define ICAL_BY_YEARDAY_SIZE 367 |
661 | #define ICAL_BY_WEEKNO_SIZE 54 | 902 | #define ICAL_BY_WEEKNO_SIZE 54 |
662 | #define ICAL_BY_MONTH_SIZE 13 | 903 | #define ICAL_BY_MONTH_SIZE 13 |
663 | #define ICAL_BY_SETPOS_SIZE 367 | 904 | #define ICAL_BY_SETPOS_SIZE 367 |
664 | 905 | ||
665 | /* Main struct for holding digested recurrence rules */ | 906 | /** Main struct for holding digested recurrence rules */ |
666 | struct icalrecurrencetype | 907 | struct icalrecurrencetype |
667 | { | 908 | { |
668 | icalrecurrencetype_frequency freq; | 909 | icalrecurrencetype_frequency freq; |
669 | 910 | ||
670 | 911 | ||
671 | /* until and count are mutually exclusive. */ | 912 | /* until and count are mutually exclusive. */ |
@@ -696,62 +937,126 @@ struct icalrecurrencetype | |||
696 | short by_set_pos[ICAL_BY_SETPOS_SIZE]; | 937 | short by_set_pos[ICAL_BY_SETPOS_SIZE]; |
697 | }; | 938 | }; |
698 | 939 | ||
699 | 940 | ||
700 | void icalrecurrencetype_clear(struct icalrecurrencetype *r); | 941 | void icalrecurrencetype_clear(struct icalrecurrencetype *r); |
701 | 942 | ||
702 | /* The 'day' element of the by_day array is encoded to allow | 943 | /** |
703 | representation of both the day of the week ( Monday, Tueday), but also | 944 | * Array Encoding |
704 | the Nth day of the week ( First tuesday of the month, last thursday of | 945 | * |
705 | the year) These routines decode the day values */ | 946 | * The 'day' element of the by_day array is encoded to allow |
947 | * representation of both the day of the week ( Monday, Tueday), but also | ||
948 | * the Nth day of the week ( First tuesday of the month, last thursday of | ||
949 | * the year) These routines decode the day values | ||
950 | */ | ||
706 | 951 | ||
707 | /* 1 == Monday, etc. */ | 952 | /** 1 == Monday, etc. */ |
708 | enum icalrecurrencetype_weekday icalrecurrencetype_day_day_of_week(short day); | 953 | enum icalrecurrencetype_weekday icalrecurrencetype_day_day_of_week(short day); |
709 | 954 | ||
710 | /* 0 == any of day of week. 1 == first, 2 = second, -2 == second to last, etc */ | 955 | /** 0 == any of day of week. 1 == first, 2 = second, -2 == second to last, etc */ |
711 | short icalrecurrencetype_day_position(short day); | 956 | int icalrecurrencetype_day_position(short day); |
712 | 957 | ||
713 | 958 | ||
714 | /*********************************************************************** | 959 | /** Recurrance rule parser */ |
715 | * Recurrance rule parser | ||
716 | **********************************************************************/ | ||
717 | 960 | ||
718 | /* Convert between strings ans recurrencetype structures. */ | 961 | /** Convert between strings and recurrencetype structures. */ |
719 | struct icalrecurrencetype icalrecurrencetype_from_string(const char* str); | 962 | struct icalrecurrencetype icalrecurrencetype_from_string(const char* str); |
720 | char* icalrecurrencetype_as_string(struct icalrecurrencetype *recur); | 963 | char* icalrecurrencetype_as_string(struct icalrecurrencetype *recur); |
721 | 964 | ||
722 | 965 | ||
723 | /********** recurrence iteration routines ********************/ | 966 | /** Recurrence iteration routines */ |
724 | 967 | ||
725 | typedef void icalrecur_iterator; | 968 | typedef struct icalrecur_iterator_impl icalrecur_iterator; |
726 | 969 | ||
727 | /* Create a new recurrence rule iterator */ | 970 | /** Create a new recurrence rule iterator */ |
728 | icalrecur_iterator* icalrecur_iterator_new(struct icalrecurrencetype rule, | 971 | icalrecur_iterator* icalrecur_iterator_new(struct icalrecurrencetype rule, |
729 | struct icaltimetype dtstart); | 972 | struct icaltimetype dtstart); |
730 | 973 | ||
731 | /* Get the next occurrence from an iterator */ | 974 | /** Get the next occurrence from an iterator */ |
732 | struct icaltimetype icalrecur_iterator_next(icalrecur_iterator*); | 975 | struct icaltimetype icalrecur_iterator_next(icalrecur_iterator*); |
733 | 976 | ||
734 | /* Free the iterator */ | 977 | void icalrecur_iterator_decrement_count(icalrecur_iterator*); |
978 | |||
979 | /** Free the iterator */ | ||
735 | void icalrecur_iterator_free(icalrecur_iterator*); | 980 | void icalrecur_iterator_free(icalrecur_iterator*); |
736 | 981 | ||
737 | /* Fills array up with at most 'count' time_t values, each | 982 | /** |
738 | representing an occurrence time in seconds past the POSIX epoch */ | 983 | * Fills array up with at most 'count' time_t values, each |
984 | * representing an occurrence time in seconds past the POSIX epoch | ||
985 | */ | ||
739 | int icalrecur_expand_recurrence(char* rule, time_t start, | 986 | int icalrecur_expand_recurrence(char* rule, time_t start, |
740 | int count, time_t* array); | 987 | int count, time_t* array); |
741 | 988 | ||
742 | 989 | ||
743 | #endif | 990 | #endif |
744 | /* -*- Mode: C -*- */ | 991 | /* -*- Mode: C -*- */ |
745 | /*====================================================================== | 992 | /*====================================================================== |
993 | FILE: icalattach.h | ||
994 | CREATOR: acampi 28 May 02 | ||
995 | |||
996 | |||
997 | (C) COPYRIGHT 2002, Andrea Campi | ||
998 | |||
999 | This program is free software; you can redistribute it and/or modify | ||
1000 | it under the terms of either: | ||
1001 | |||
1002 | The LGPL as published by the Free Software Foundation, version | ||
1003 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
1004 | |||
1005 | Or: | ||
1006 | |||
1007 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
1008 | the License at http://www.mozilla.org/MPL/ | ||
1009 | |||
1010 | The original code is icalattach.h | ||
1011 | |||
1012 | ======================================================================*/ | ||
1013 | |||
1014 | #ifndef ICALATTACH_H | ||
1015 | #define ICALATTACH_H | ||
1016 | |||
1017 | |||
1018 | typedef struct icalattach_impl icalattach; | ||
1019 | |||
1020 | typedef void (* icalattach_free_fn_t) (unsigned char *data, void *user_data); | ||
1021 | |||
1022 | icalattach *icalattach_new_from_url (const char *url); | ||
1023 | icalattach *icalattach_new_from_data (unsigned char *data, | ||
1024 | icalattach_free_fn_t free_fn, void *free_fn_data); | ||
1025 | |||
1026 | void icalattach_ref (icalattach *attach); | ||
1027 | void icalattach_unref (icalattach *attach); | ||
1028 | |||
1029 | int icalattach_get_is_url (icalattach *attach); | ||
1030 | const char *icalattach_get_url (icalattach *attach); | ||
1031 | unsigned char *icalattach_get_data (icalattach *attach); | ||
1032 | |||
1033 | struct icalattachtype* icalattachtype_new(void); | ||
1034 | void icalattachtype_add_reference(struct icalattachtype* v); | ||
1035 | void icalattachtype_free(struct icalattachtype* v); | ||
1036 | |||
1037 | void icalattachtype_set_url(struct icalattachtype* v, char* url); | ||
1038 | char* icalattachtype_get_url(struct icalattachtype* v); | ||
1039 | |||
1040 | void icalattachtype_set_base64(struct icalattachtype* v, char* base64, | ||
1041 | int owns); | ||
1042 | char* icalattachtype_get_base64(struct icalattachtype* v); | ||
1043 | |||
1044 | void icalattachtype_set_binary(struct icalattachtype* v, char* binary, | ||
1045 | int owns); | ||
1046 | void* icalattachtype_get_binary(struct icalattachtype* v); | ||
1047 | |||
1048 | |||
1049 | |||
1050 | #endif /* !ICALATTACH_H */ | ||
1051 | /* -*- Mode: C -*- */ | ||
1052 | /*====================================================================== | ||
746 | FILE: icalvalue.h | 1053 | FILE: icalvalue.h |
747 | CREATOR: eric 20 March 1999 | 1054 | CREATOR: eric 20 March 1999 |
748 | 1055 | ||
749 | 1056 | ||
750 | $Id$ | ||
751 | $Locker$ | ||
752 | 1057 | ||
753 | 1058 | ||
754 | 1059 | ||
755 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 1060 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
756 | 1061 | ||
757 | This program is free software; you can redistribute it and/or modify | 1062 | This program is free software; you can redistribute it and/or modify |
@@ -770,68 +1075,68 @@ int icalrecur_expand_recurrence(char* rule, time_t start, | |||
770 | ======================================================================*/ | 1075 | ======================================================================*/ |
771 | 1076 | ||
772 | #ifndef ICALDERIVEDVALUE_H | 1077 | #ifndef ICALDERIVEDVALUE_H |
773 | #define ICALDERIVEDVALUE_H | 1078 | #define ICALDERIVEDVALUE_H |
774 | 1079 | ||
775 | 1080 | ||
776 | typedef void icalvalue; | 1081 | typedef struct icalvalue_impl icalvalue; |
777 | 1082 | ||
778 | 1083 | ||
779 | 1084 | ||
780 | void icalvalue_set_x(icalvalue* value, const char* v); | 1085 | void icalvalue_set_x(icalvalue* value, const char* v); |
781 | icalvalue* icalvalue_new_x(const char* v); | 1086 | icalvalue* icalvalue_new_x(const char* v); |
782 | const char* icalvalue_get_x(icalvalue* value); | 1087 | const char* icalvalue_get_x(const icalvalue* value); |
783 | |||
784 | icalvalue* icalvalue_new_attach (struct icalattachtype* v); | ||
785 | void icalvalue_set_attach(icalvalue* value, struct icalattachtype* v); | ||
786 | struct icalattachtype* icalvalue_get_attach(icalvalue* value); | ||
787 | 1088 | ||
788 | icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); | 1089 | icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); |
789 | void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); | 1090 | void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); |
790 | struct icalrecurrencetype icalvalue_get_recur(icalvalue* value); | 1091 | struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value); |
791 | 1092 | ||
792 | icalvalue* icalvalue_new_trigger (struct icaltriggertype v); | 1093 | icalvalue* icalvalue_new_trigger (struct icaltriggertype v); |
793 | void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); | 1094 | void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); |
794 | struct icaltriggertype icalvalue_get_trigger(icalvalue* value); | 1095 | struct icaltriggertype icalvalue_get_trigger(const icalvalue* value); |
795 | 1096 | ||
796 | icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); | 1097 | icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); |
797 | void icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v); | 1098 | void icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v); |
798 | struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value); | 1099 | struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value); |
1100 | |||
1101 | icalvalue *icalvalue_new_attach (icalattach *attach); | ||
1102 | void icalvalue_set_attach (icalvalue *value, icalattach *attach); | ||
1103 | icalattach *icalvalue_get_attach (const icalvalue *value); | ||
799 | 1104 | ||
800 | void icalvalue_reset_kind(icalvalue* value); | 1105 | void icalvalue_reset_kind(icalvalue* value); |
801 | 1106 | ||
802 | /* Everything below this line is machine generated. Do not edit. */ | ||
803 | typedef enum icalvalue_kind { | 1107 | typedef enum icalvalue_kind { |
804 | ICAL_ANY_VALUE=5000, | 1108 | ICAL_ANY_VALUE=5000, |
805 | ICAL_QUERY_VALUE=5001, | 1109 | ICAL_QUERY_VALUE=5001, |
806 | ICAL_TRIGGER_VALUE=5002, | 1110 | ICAL_DATE_VALUE=5002, |
807 | ICAL_STATUS_VALUE=5003, | 1111 | ICAL_ATTACH_VALUE=5003, |
808 | ICAL_TRANSP_VALUE=5004, | 1112 | ICAL_GEO_VALUE=5004, |
809 | ICAL_CLASS_VALUE=5005, | 1113 | ICAL_STATUS_VALUE=5005, |
810 | ICAL_DATE_VALUE=5006, | 1114 | ICAL_TRANSP_VALUE=5006, |
811 | ICAL_STRING_VALUE=5007, | 1115 | ICAL_STRING_VALUE=5007, |
812 | ICAL_INTEGER_VALUE=5008, | 1116 | ICAL_TEXT_VALUE=5008, |
813 | ICAL_PERIOD_VALUE=5009, | 1117 | ICAL_REQUESTSTATUS_VALUE=5009, |
814 | ICAL_TEXT_VALUE=5010, | 1118 | ICAL_BINARY_VALUE=5010, |
815 | ICAL_DURATION_VALUE=5011, | 1119 | ICAL_PERIOD_VALUE=5011, |
816 | ICAL_BOOLEAN_VALUE=5012, | 1120 | ICAL_FLOAT_VALUE=5012, |
817 | ICAL_URI_VALUE=5013, | 1121 | ICAL_DATETIMEPERIOD_VALUE=5013, |
818 | ICAL_DATETIMEPERIOD_VALUE=5014, | 1122 | ICAL_INTEGER_VALUE=5014, |
819 | ICAL_GEO_VALUE=5015, | 1123 | ICAL_CLASS_VALUE=5015, |
820 | ICAL_DATETIME_VALUE=5016, | 1124 | ICAL_URI_VALUE=5016, |
821 | ICAL_UTCOFFSET_VALUE=5017, | 1125 | ICAL_DURATION_VALUE=5017, |
822 | ICAL_ATTACH_VALUE=5018, | 1126 | ICAL_BOOLEAN_VALUE=5018, |
823 | ICAL_ACTION_VALUE=5019, | 1127 | ICAL_X_VALUE=5019, |
824 | ICAL_CALADDRESS_VALUE=5020, | 1128 | ICAL_CALADDRESS_VALUE=5020, |
825 | ICAL_X_VALUE=5021, | 1129 | ICAL_TRIGGER_VALUE=5021, |
826 | ICAL_FLOAT_VALUE=5022, | 1130 | ICAL_XLICCLASS_VALUE=5022, |
827 | ICAL_REQUESTSTATUS_VALUE=5023, | 1131 | ICAL_RECUR_VALUE=5023, |
828 | ICAL_METHOD_VALUE=5024, | 1132 | ICAL_ACTION_VALUE=5024, |
829 | ICAL_BINARY_VALUE=5025, | 1133 | ICAL_DATETIME_VALUE=5025, |
830 | ICAL_RECUR_VALUE=5026, | 1134 | ICAL_UTCOFFSET_VALUE=5026, |
831 | ICAL_NO_VALUE=5027 | 1135 | ICAL_METHOD_VALUE=5027, |
1136 | ICAL_NO_VALUE=5028 | ||
832 | } icalvalue_kind ; | 1137 | } icalvalue_kind ; |
833 | 1138 | ||
834 | #define ICALPROPERTY_FIRST_ENUM 10000 | 1139 | #define ICALPROPERTY_FIRST_ENUM 10000 |
835 | 1140 | ||
836 | typedef enum icalproperty_action { | 1141 | typedef enum icalproperty_action { |
837 | ICAL_ACTION_X = 10000, | 1142 | ICAL_ACTION_X = 10000, |
@@ -883,153 +1188,191 @@ typedef enum icalproperty_status { | |||
883 | ICAL_STATUS_NONE = 10037 | 1188 | ICAL_STATUS_NONE = 10037 |
884 | } icalproperty_status; | 1189 | } icalproperty_status; |
885 | 1190 | ||
886 | typedef enum icalproperty_transp { | 1191 | typedef enum icalproperty_transp { |
887 | ICAL_TRANSP_X = 10038, | 1192 | ICAL_TRANSP_X = 10038, |
888 | ICAL_TRANSP_OPAQUE = 10039, | 1193 | ICAL_TRANSP_OPAQUE = 10039, |
889 | ICAL_TRANSP_TRANSPARENT = 10040, | 1194 | ICAL_TRANSP_OPAQUENOCONFLICT = 10040, |
890 | ICAL_TRANSP_NONE = 10041 | 1195 | ICAL_TRANSP_TRANSPARENT = 10041, |
1196 | ICAL_TRANSP_TRANSPARENTNOCONFLICT = 10042, | ||
1197 | ICAL_TRANSP_NONE = 10043 | ||
891 | } icalproperty_transp; | 1198 | } icalproperty_transp; |
892 | 1199 | ||
893 | #define ICALPROPERTY_LAST_ENUM 10042 | 1200 | typedef enum icalproperty_xlicclass { |
1201 | ICAL_XLICCLASS_X = 10044, | ||
1202 | ICAL_XLICCLASS_PUBLISHNEW = 10045, | ||
1203 | ICAL_XLICCLASS_PUBLISHUPDATE = 10046, | ||
1204 | ICAL_XLICCLASS_PUBLISHFREEBUSY = 10047, | ||
1205 | ICAL_XLICCLASS_REQUESTNEW = 10048, | ||
1206 | ICAL_XLICCLASS_REQUESTUPDATE = 10049, | ||
1207 | ICAL_XLICCLASS_REQUESTRESCHEDULE = 10050, | ||
1208 | ICAL_XLICCLASS_REQUESTDELEGATE = 10051, | ||
1209 | ICAL_XLICCLASS_REQUESTNEWORGANIZER = 10052, | ||
1210 | ICAL_XLICCLASS_REQUESTFORWARD = 10053, | ||
1211 | ICAL_XLICCLASS_REQUESTSTATUS = 10054, | ||
1212 | ICAL_XLICCLASS_REQUESTFREEBUSY = 10055, | ||
1213 | ICAL_XLICCLASS_REPLYACCEPT = 10056, | ||
1214 | ICAL_XLICCLASS_REPLYDECLINE = 10057, | ||
1215 | ICAL_XLICCLASS_REPLYDELEGATE = 10058, | ||
1216 | ICAL_XLICCLASS_REPLYCRASHERACCEPT = 10059, | ||
1217 | ICAL_XLICCLASS_REPLYCRASHERDECLINE = 10060, | ||
1218 | ICAL_XLICCLASS_ADDINSTANCE = 10061, | ||
1219 | ICAL_XLICCLASS_CANCELEVENT = 10062, | ||
1220 | ICAL_XLICCLASS_CANCELINSTANCE = 10063, | ||
1221 | ICAL_XLICCLASS_CANCELALL = 10064, | ||
1222 | ICAL_XLICCLASS_REFRESH = 10065, | ||
1223 | ICAL_XLICCLASS_COUNTER = 10066, | ||
1224 | ICAL_XLICCLASS_DECLINECOUNTER = 10067, | ||
1225 | ICAL_XLICCLASS_MALFORMED = 10068, | ||
1226 | ICAL_XLICCLASS_OBSOLETE = 10069, | ||
1227 | ICAL_XLICCLASS_MISSEQUENCED = 10070, | ||
1228 | ICAL_XLICCLASS_UNKNOWN = 10071, | ||
1229 | ICAL_XLICCLASS_NONE = 10072 | ||
1230 | } icalproperty_xlicclass; | ||
1231 | |||
1232 | #define ICALPROPERTY_LAST_ENUM 10073 | ||
894 | 1233 | ||
895 | 1234 | ||
896 | /* QUERY */ | 1235 | /* QUERY */ |
897 | icalvalue* icalvalue_new_query(const char* v); | 1236 | icalvalue* icalvalue_new_query(const char* v); |
898 | const char* icalvalue_get_query(icalvalue* value); | 1237 | const char* icalvalue_get_query(const icalvalue* value); |
899 | void icalvalue_set_query(icalvalue* value, const char* v); | 1238 | void icalvalue_set_query(icalvalue* value, const char* v); |
900 | 1239 | ||
901 | 1240 | ||
1241 | /* DATE */ | ||
1242 | icalvalue* icalvalue_new_date(struct icaltimetype v); | ||
1243 | struct icaltimetype icalvalue_get_date(const icalvalue* value); | ||
1244 | void icalvalue_set_date(icalvalue* value, struct icaltimetype v); | ||
1245 | |||
1246 | |||
1247 | /* GEO */ | ||
1248 | icalvalue* icalvalue_new_geo(struct icalgeotype v); | ||
1249 | struct icalgeotype icalvalue_get_geo(const icalvalue* value); | ||
1250 | void icalvalue_set_geo(icalvalue* value, struct icalgeotype v); | ||
1251 | |||
1252 | |||
902 | /* STATUS */ | 1253 | /* STATUS */ |
903 | icalvalue* icalvalue_new_status(enum icalproperty_status v); | 1254 | icalvalue* icalvalue_new_status(enum icalproperty_status v); |
904 | enum icalproperty_status icalvalue_get_status(icalvalue* value); | 1255 | enum icalproperty_status icalvalue_get_status(const icalvalue* value); |
905 | void icalvalue_set_status(icalvalue* value, enum icalproperty_status v); | 1256 | void icalvalue_set_status(icalvalue* value, enum icalproperty_status v); |
906 | 1257 | ||
907 | 1258 | ||
908 | /* TRANSP */ | 1259 | /* TRANSP */ |
909 | icalvalue* icalvalue_new_transp(enum icalproperty_transp v); | 1260 | icalvalue* icalvalue_new_transp(enum icalproperty_transp v); |
910 | enum icalproperty_transp icalvalue_get_transp(icalvalue* value); | 1261 | enum icalproperty_transp icalvalue_get_transp(const icalvalue* value); |
911 | void icalvalue_set_transp(icalvalue* value, enum icalproperty_transp v); | 1262 | void icalvalue_set_transp(icalvalue* value, enum icalproperty_transp v); |
912 | 1263 | ||
913 | 1264 | ||
914 | /* CLASS */ | 1265 | /* STRING */ |
915 | icalvalue* icalvalue_new_class(enum icalproperty_class v); | 1266 | icalvalue* icalvalue_new_string(const char* v); |
916 | enum icalproperty_class icalvalue_get_class(icalvalue* value); | 1267 | const char* icalvalue_get_string(const icalvalue* value); |
917 | void icalvalue_set_class(icalvalue* value, enum icalproperty_class v); | 1268 | void icalvalue_set_string(icalvalue* value, const char* v); |
918 | 1269 | ||
919 | 1270 | ||
920 | /* DATE */ | 1271 | /* TEXT */ |
921 | icalvalue* icalvalue_new_date(struct icaltimetype v); | 1272 | icalvalue* icalvalue_new_text(const char* v); |
922 | struct icaltimetype icalvalue_get_date(icalvalue* value); | 1273 | const char* icalvalue_get_text(const icalvalue* value); |
923 | void icalvalue_set_date(icalvalue* value, struct icaltimetype v); | 1274 | void icalvalue_set_text(icalvalue* value, const char* v); |
924 | 1275 | ||
925 | 1276 | ||
926 | /* STRING */ | 1277 | /* REQUEST-STATUS */ |
927 | icalvalue* icalvalue_new_string(const char* v); | 1278 | icalvalue* icalvalue_new_requeststatus(struct icalreqstattype v); |
928 | const char* icalvalue_get_string(icalvalue* value); | 1279 | struct icalreqstattype icalvalue_get_requeststatus(const icalvalue* value); |
929 | void icalvalue_set_string(icalvalue* value, const char* v); | 1280 | void icalvalue_set_requeststatus(icalvalue* value, struct icalreqstattype v); |
930 | 1281 | ||
931 | 1282 | ||
932 | /* INTEGER */ | 1283 | /* BINARY */ |
933 | icalvalue* icalvalue_new_integer(int v); | 1284 | icalvalue* icalvalue_new_binary(const char* v); |
934 | int icalvalue_get_integer(icalvalue* value); | 1285 | const char* icalvalue_get_binary(const icalvalue* value); |
935 | void icalvalue_set_integer(icalvalue* value, int v); | 1286 | void icalvalue_set_binary(icalvalue* value, const char* v); |
936 | 1287 | ||
937 | 1288 | ||
938 | /* PERIOD */ | 1289 | /* PERIOD */ |
939 | icalvalue* icalvalue_new_period(struct icalperiodtype v); | 1290 | icalvalue* icalvalue_new_period(struct icalperiodtype v); |
940 | struct icalperiodtype icalvalue_get_period(icalvalue* value); | 1291 | struct icalperiodtype icalvalue_get_period(const icalvalue* value); |
941 | void icalvalue_set_period(icalvalue* value, struct icalperiodtype v); | 1292 | void icalvalue_set_period(icalvalue* value, struct icalperiodtype v); |
942 | 1293 | ||
943 | 1294 | ||
944 | /* TEXT */ | 1295 | /* FLOAT */ |
945 | icalvalue* icalvalue_new_text(const char* v); | 1296 | icalvalue* icalvalue_new_float(float v); |
946 | const char* icalvalue_get_text(icalvalue* value); | 1297 | float icalvalue_get_float(const icalvalue* value); |
947 | void icalvalue_set_text(icalvalue* value, const char* v); | 1298 | void icalvalue_set_float(icalvalue* value, float v); |
948 | 1299 | ||
949 | 1300 | ||
950 | /* DURATION */ | 1301 | /* INTEGER */ |
951 | icalvalue* icalvalue_new_duration(struct icaldurationtype v); | 1302 | icalvalue* icalvalue_new_integer(int v); |
952 | struct icaldurationtype icalvalue_get_duration(icalvalue* value); | 1303 | int icalvalue_get_integer(const icalvalue* value); |
953 | void icalvalue_set_duration(icalvalue* value, struct icaldurationtype v); | 1304 | void icalvalue_set_integer(icalvalue* value, int v); |
954 | 1305 | ||
955 | 1306 | ||
956 | /* BOOLEAN */ | 1307 | /* CLASS */ |
957 | icalvalue* icalvalue_new_boolean(int v); | 1308 | icalvalue* icalvalue_new_class(enum icalproperty_class v); |
958 | int icalvalue_get_boolean(icalvalue* value); | 1309 | enum icalproperty_class icalvalue_get_class(const icalvalue* value); |
959 | void icalvalue_set_boolean(icalvalue* value, int v); | 1310 | void icalvalue_set_class(icalvalue* value, enum icalproperty_class v); |
960 | 1311 | ||
961 | 1312 | ||
962 | /* URI */ | 1313 | /* URI */ |
963 | icalvalue* icalvalue_new_uri(const char* v); | 1314 | icalvalue* icalvalue_new_uri(const char* v); |
964 | const char* icalvalue_get_uri(icalvalue* value); | 1315 | const char* icalvalue_get_uri(const icalvalue* value); |
965 | void icalvalue_set_uri(icalvalue* value, const char* v); | 1316 | void icalvalue_set_uri(icalvalue* value, const char* v); |
966 | 1317 | ||
967 | 1318 | ||
968 | /* GEO */ | 1319 | /* DURATION */ |
969 | icalvalue* icalvalue_new_geo(struct icalgeotype v); | 1320 | icalvalue* icalvalue_new_duration(struct icaldurationtype v); |
970 | struct icalgeotype icalvalue_get_geo(icalvalue* value); | 1321 | struct icaldurationtype icalvalue_get_duration(const icalvalue* value); |
971 | void icalvalue_set_geo(icalvalue* value, struct icalgeotype v); | 1322 | void icalvalue_set_duration(icalvalue* value, struct icaldurationtype v); |
972 | 1323 | ||
973 | 1324 | ||
974 | /* DATE-TIME */ | 1325 | /* BOOLEAN */ |
975 | icalvalue* icalvalue_new_datetime(struct icaltimetype v); | 1326 | icalvalue* icalvalue_new_boolean(int v); |
976 | struct icaltimetype icalvalue_get_datetime(icalvalue* value); | 1327 | int icalvalue_get_boolean(const icalvalue* value); |
977 | void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v); | 1328 | void icalvalue_set_boolean(icalvalue* value, int v); |
978 | 1329 | ||
979 | 1330 | ||
980 | /* UTC-OFFSET */ | 1331 | /* CAL-ADDRESS */ |
981 | icalvalue* icalvalue_new_utcoffset(int v); | 1332 | icalvalue* icalvalue_new_caladdress(const char* v); |
982 | int icalvalue_get_utcoffset(icalvalue* value); | 1333 | const char* icalvalue_get_caladdress(const icalvalue* value); |
983 | void icalvalue_set_utcoffset(icalvalue* value, int v); | 1334 | void icalvalue_set_caladdress(icalvalue* value, const char* v); |
1335 | |||
1336 | |||
1337 | /* X-LIC-CLASS */ | ||
1338 | icalvalue* icalvalue_new_xlicclass(enum icalproperty_xlicclass v); | ||
1339 | enum icalproperty_xlicclass icalvalue_get_xlicclass(const icalvalue* value); | ||
1340 | void icalvalue_set_xlicclass(icalvalue* value, enum icalproperty_xlicclass v); | ||
984 | 1341 | ||
985 | 1342 | ||
986 | /* ACTION */ | 1343 | /* ACTION */ |
987 | icalvalue* icalvalue_new_action(enum icalproperty_action v); | 1344 | icalvalue* icalvalue_new_action(enum icalproperty_action v); |
988 | enum icalproperty_action icalvalue_get_action(icalvalue* value); | 1345 | enum icalproperty_action icalvalue_get_action(const icalvalue* value); |
989 | void icalvalue_set_action(icalvalue* value, enum icalproperty_action v); | 1346 | void icalvalue_set_action(icalvalue* value, enum icalproperty_action v); |
990 | 1347 | ||
991 | 1348 | ||
992 | /* CAL-ADDRESS */ | 1349 | /* DATE-TIME */ |
993 | icalvalue* icalvalue_new_caladdress(const char* v); | 1350 | icalvalue* icalvalue_new_datetime(struct icaltimetype v); |
994 | const char* icalvalue_get_caladdress(icalvalue* value); | 1351 | struct icaltimetype icalvalue_get_datetime(const icalvalue* value); |
995 | void icalvalue_set_caladdress(icalvalue* value, const char* v); | 1352 | void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v); |
996 | |||
997 | |||
998 | /* FLOAT */ | ||
999 | icalvalue* icalvalue_new_float(float v); | ||
1000 | float icalvalue_get_float(icalvalue* value); | ||
1001 | void icalvalue_set_float(icalvalue* value, float v); | ||
1002 | 1353 | ||
1003 | 1354 | ||
1004 | /* REQUEST-STATUS */ | 1355 | /* UTC-OFFSET */ |
1005 | icalvalue* icalvalue_new_requeststatus(struct icalreqstattype v); | 1356 | icalvalue* icalvalue_new_utcoffset(int v); |
1006 | struct icalreqstattype icalvalue_get_requeststatus(icalvalue* value); | 1357 | int icalvalue_get_utcoffset(const icalvalue* value); |
1007 | void icalvalue_set_requeststatus(icalvalue* value, struct icalreqstattype v); | 1358 | void icalvalue_set_utcoffset(icalvalue* value, int v); |
1008 | 1359 | ||
1009 | 1360 | ||
1010 | /* METHOD */ | 1361 | /* METHOD */ |
1011 | icalvalue* icalvalue_new_method(enum icalproperty_method v); | 1362 | icalvalue* icalvalue_new_method(enum icalproperty_method v); |
1012 | enum icalproperty_method icalvalue_get_method(icalvalue* value); | 1363 | enum icalproperty_method icalvalue_get_method(const icalvalue* value); |
1013 | void icalvalue_set_method(icalvalue* value, enum icalproperty_method v); | 1364 | void icalvalue_set_method(icalvalue* value, enum icalproperty_method v); |
1014 | 1365 | ||
1015 | |||
1016 | /* BINARY */ | ||
1017 | icalvalue* icalvalue_new_binary(const char* v); | ||
1018 | const char* icalvalue_get_binary(icalvalue* value); | ||
1019 | void icalvalue_set_binary(icalvalue* value, const char* v); | ||
1020 | |||
1021 | #endif /*ICALVALUE_H*/ | 1366 | #endif /*ICALVALUE_H*/ |
1022 | /* -*- Mode: C -*- */ | 1367 | /* -*- Mode: C -*- */ |
1023 | /*====================================================================== | 1368 | /*====================================================================== |
1024 | FILE: icalparam.h | 1369 | FILE: icalparam.h |
1025 | CREATOR: eric 20 March 1999 | 1370 | CREATOR: eric 20 March 1999 |
1026 | 1371 | ||
1027 | 1372 | ||
1028 | $Id$ | ||
1029 | $Locker$ | ||
1030 | 1373 | ||
1031 | 1374 | ||
1032 | 1375 | ||
1033 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 1376 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
1034 | 1377 | ||
1035 | This program is free software; you can redistribute it and/or modify | 1378 | This program is free software; you can redistribute it and/or modify |
@@ -1048,18 +1391,17 @@ void icalvalue_set_binary(icalvalue* value, const char* v); | |||
1048 | ======================================================================*/ | 1391 | ======================================================================*/ |
1049 | 1392 | ||
1050 | #ifndef ICALDERIVEDPARAMETER_H | 1393 | #ifndef ICALDERIVEDPARAMETER_H |
1051 | #define ICALDERIVEDPARAMETER_H | 1394 | #define ICALDERIVEDPARAMETER_H |
1052 | 1395 | ||
1053 | 1396 | ||
1054 | typedef void icalparameter; | 1397 | typedef struct icalparameter_impl icalparameter; |
1055 | 1398 | ||
1056 | const char* icalparameter_enum_to_string(int e); | 1399 | const char* icalparameter_enum_to_string(int e); |
1057 | int icalparameter_string_to_enum(const char* str); | 1400 | int icalparameter_string_to_enum(const char* str); |
1058 | 1401 | ||
1059 | /* Everything below this line is machine generated. Do not edit. */ | ||
1060 | typedef enum icalparameter_kind { | 1402 | typedef enum icalparameter_kind { |
1061 | ICAL_ANY_PARAMETER = 0, | 1403 | ICAL_ANY_PARAMETER = 0, |
1062 | ICAL_ALTREP_PARAMETER, | 1404 | ICAL_ALTREP_PARAMETER, |
1063 | ICAL_CN_PARAMETER, | 1405 | ICAL_CN_PARAMETER, |
1064 | ICAL_CUTYPE_PARAMETER, | 1406 | ICAL_CUTYPE_PARAMETER, |
1065 | ICAL_DELEGATEDFROM_PARAMETER, | 1407 | ICAL_DELEGATEDFROM_PARAMETER, |
@@ -1188,203 +1530,359 @@ typedef enum icalparameter_xliccomparetype { | |||
1188 | ICAL_XLICCOMPARETYPE_NOTEQUAL = 20067, | 1530 | ICAL_XLICCOMPARETYPE_NOTEQUAL = 20067, |
1189 | ICAL_XLICCOMPARETYPE_LESS = 20068, | 1531 | ICAL_XLICCOMPARETYPE_LESS = 20068, |
1190 | ICAL_XLICCOMPARETYPE_GREATER = 20069, | 1532 | ICAL_XLICCOMPARETYPE_GREATER = 20069, |
1191 | ICAL_XLICCOMPARETYPE_LESSEQUAL = 20070, | 1533 | ICAL_XLICCOMPARETYPE_LESSEQUAL = 20070, |
1192 | ICAL_XLICCOMPARETYPE_GREATEREQUAL = 20071, | 1534 | ICAL_XLICCOMPARETYPE_GREATEREQUAL = 20071, |
1193 | ICAL_XLICCOMPARETYPE_REGEX = 20072, | 1535 | ICAL_XLICCOMPARETYPE_REGEX = 20072, |
1194 | ICAL_XLICCOMPARETYPE_NONE = 20073 | 1536 | ICAL_XLICCOMPARETYPE_ISNULL = 20073, |
1537 | ICAL_XLICCOMPARETYPE_ISNOTNULL = 20074, | ||
1538 | ICAL_XLICCOMPARETYPE_NONE = 20075 | ||
1195 | } icalparameter_xliccomparetype; | 1539 | } icalparameter_xliccomparetype; |
1196 | 1540 | ||
1197 | typedef enum icalparameter_xlicerrortype { | 1541 | typedef enum icalparameter_xlicerrortype { |
1198 | ICAL_XLICERRORTYPE_X = 20074, | 1542 | ICAL_XLICERRORTYPE_X = 20076, |
1199 | ICAL_XLICERRORTYPE_COMPONENTPARSEERROR = 20075, | 1543 | ICAL_XLICERRORTYPE_COMPONENTPARSEERROR = 20077, |
1200 | ICAL_XLICERRORTYPE_PROPERTYPARSEERROR = 20076, | 1544 | ICAL_XLICERRORTYPE_PROPERTYPARSEERROR = 20078, |
1201 | ICAL_XLICERRORTYPE_PARAMETERNAMEPARSEERROR = 20077, | 1545 | ICAL_XLICERRORTYPE_PARAMETERNAMEPARSEERROR = 20079, |
1202 | ICAL_XLICERRORTYPE_PARAMETERVALUEPARSEERROR = 20078, | 1546 | ICAL_XLICERRORTYPE_PARAMETERVALUEPARSEERROR = 20080, |
1203 | ICAL_XLICERRORTYPE_VALUEPARSEERROR = 20079, | 1547 | ICAL_XLICERRORTYPE_VALUEPARSEERROR = 20081, |
1204 | ICAL_XLICERRORTYPE_INVALIDITIP = 20080, | 1548 | ICAL_XLICERRORTYPE_INVALIDITIP = 20082, |
1205 | ICAL_XLICERRORTYPE_UNKNOWNVCALPROPERROR = 20081, | 1549 | ICAL_XLICERRORTYPE_UNKNOWNVCALPROPERROR = 20083, |
1206 | ICAL_XLICERRORTYPE_MIMEPARSEERROR = 20082, | 1550 | ICAL_XLICERRORTYPE_MIMEPARSEERROR = 20084, |
1207 | ICAL_XLICERRORTYPE_NONE = 20083 | 1551 | ICAL_XLICERRORTYPE_VCALPROPPARSEERROR = 20085, |
1552 | ICAL_XLICERRORTYPE_NONE = 20086 | ||
1208 | } icalparameter_xlicerrortype; | 1553 | } icalparameter_xlicerrortype; |
1209 | 1554 | ||
1210 | #define ICALPARAMETER_LAST_ENUM 20084 | 1555 | #define ICALPARAMETER_LAST_ENUM 20087 |
1211 | 1556 | ||
1212 | /* DELEGATED-FROM */ | 1557 | /* LANGUAGE */ |
1213 | icalparameter* icalparameter_new_delegatedfrom(const char* v); | 1558 | icalparameter* icalparameter_new_language(const char* v); |
1214 | const char* icalparameter_get_delegatedfrom(icalparameter* value); | 1559 | const char* icalparameter_get_language(const icalparameter* value); |
1215 | void icalparameter_set_delegatedfrom(icalparameter* value, const char* v); | 1560 | void icalparameter_set_language(icalparameter* value, const char* v); |
1216 | |||
1217 | /* DELEGATED-TO */ | ||
1218 | icalparameter* icalparameter_new_delegatedto(const char* v); | ||
1219 | const char* icalparameter_get_delegatedto(icalparameter* value); | ||
1220 | void icalparameter_set_delegatedto(icalparameter* value, const char* v); | ||
1221 | |||
1222 | /* RANGE */ | ||
1223 | icalparameter* icalparameter_new_range(icalparameter_range v); | ||
1224 | icalparameter_range icalparameter_get_range(icalparameter* value); | ||
1225 | void icalparameter_set_range(icalparameter* value, icalparameter_range v); | ||
1226 | |||
1227 | /* ENCODING */ | ||
1228 | icalparameter* icalparameter_new_encoding(icalparameter_encoding v); | ||
1229 | icalparameter_encoding icalparameter_get_encoding(icalparameter* value); | ||
1230 | void icalparameter_set_encoding(icalparameter* value, icalparameter_encoding v); | ||
1231 | |||
1232 | /* RSVP */ | ||
1233 | icalparameter* icalparameter_new_rsvp(icalparameter_rsvp v); | ||
1234 | icalparameter_rsvp icalparameter_get_rsvp(icalparameter* value); | ||
1235 | void icalparameter_set_rsvp(icalparameter* value, icalparameter_rsvp v); | ||
1236 | 1561 | ||
1237 | /* PARTSTAT */ | 1562 | /* DIR */ |
1238 | icalparameter* icalparameter_new_partstat(icalparameter_partstat v); | 1563 | icalparameter* icalparameter_new_dir(const char* v); |
1239 | icalparameter_partstat icalparameter_get_partstat(icalparameter* value); | 1564 | const char* icalparameter_get_dir(const icalparameter* value); |
1240 | void icalparameter_set_partstat(icalparameter* value, icalparameter_partstat v); | 1565 | void icalparameter_set_dir(icalparameter* value, const char* v); |
1241 | 1566 | ||
1242 | /* RELTYPE */ | 1567 | /* RELTYPE */ |
1243 | icalparameter* icalparameter_new_reltype(icalparameter_reltype v); | 1568 | icalparameter* icalparameter_new_reltype(icalparameter_reltype v); |
1244 | icalparameter_reltype icalparameter_get_reltype(icalparameter* value); | 1569 | icalparameter_reltype icalparameter_get_reltype(const icalparameter* value); |
1245 | void icalparameter_set_reltype(icalparameter* value, icalparameter_reltype v); | 1570 | void icalparameter_set_reltype(icalparameter* value, icalparameter_reltype v); |
1246 | 1571 | ||
1247 | /* CUTYPE */ | ||
1248 | icalparameter* icalparameter_new_cutype(icalparameter_cutype v); | ||
1249 | icalparameter_cutype icalparameter_get_cutype(icalparameter* value); | ||
1250 | void icalparameter_set_cutype(icalparameter* value, icalparameter_cutype v); | ||
1251 | |||
1252 | /* MEMBER */ | ||
1253 | icalparameter* icalparameter_new_member(const char* v); | ||
1254 | const char* icalparameter_get_member(icalparameter* value); | ||
1255 | void icalparameter_set_member(icalparameter* value, const char* v); | ||
1256 | |||
1257 | /* FMTTYPE */ | 1572 | /* FMTTYPE */ |
1258 | icalparameter* icalparameter_new_fmttype(const char* v); | 1573 | icalparameter* icalparameter_new_fmttype(const char* v); |
1259 | const char* icalparameter_get_fmttype(icalparameter* value); | 1574 | const char* icalparameter_get_fmttype(const icalparameter* value); |
1260 | void icalparameter_set_fmttype(icalparameter* value, const char* v); | 1575 | void icalparameter_set_fmttype(icalparameter* value, const char* v); |
1261 | 1576 | ||
1262 | /* SENT-BY */ | 1577 | /* TZID */ |
1263 | icalparameter* icalparameter_new_sentby(const char* v); | 1578 | icalparameter* icalparameter_new_tzid(const char* v); |
1264 | const char* icalparameter_get_sentby(icalparameter* value); | 1579 | const char* icalparameter_get_tzid(const icalparameter* value); |
1265 | void icalparameter_set_sentby(icalparameter* value, const char* v); | 1580 | void icalparameter_set_tzid(icalparameter* value, const char* v); |
1581 | |||
1582 | /* RANGE */ | ||
1583 | icalparameter* icalparameter_new_range(icalparameter_range v); | ||
1584 | icalparameter_range icalparameter_get_range(const icalparameter* value); | ||
1585 | void icalparameter_set_range(icalparameter* value, icalparameter_range v); | ||
1586 | |||
1587 | /* DELEGATED-TO */ | ||
1588 | icalparameter* icalparameter_new_delegatedto(const char* v); | ||
1589 | const char* icalparameter_get_delegatedto(const icalparameter* value); | ||
1590 | void icalparameter_set_delegatedto(icalparameter* value, const char* v); | ||
1591 | |||
1592 | /* CN */ | ||
1593 | icalparameter* icalparameter_new_cn(const char* v); | ||
1594 | const char* icalparameter_get_cn(const icalparameter* value); | ||
1595 | void icalparameter_set_cn(icalparameter* value, const char* v); | ||
1266 | 1596 | ||
1267 | /* VALUE */ | 1597 | /* VALUE */ |
1268 | icalparameter* icalparameter_new_value(icalparameter_value v); | 1598 | icalparameter* icalparameter_new_value(icalparameter_value v); |
1269 | icalparameter_value icalparameter_get_value(icalparameter* value); | 1599 | icalparameter_value icalparameter_get_value(const icalparameter* value); |
1270 | void icalparameter_set_value(icalparameter* value, icalparameter_value v); | 1600 | void icalparameter_set_value(icalparameter* value, icalparameter_value v); |
1271 | 1601 | ||
1272 | /* ALTREP */ | 1602 | /* X-LIC-COMPARETYPE */ |
1273 | icalparameter* icalparameter_new_altrep(const char* v); | 1603 | icalparameter* icalparameter_new_xliccomparetype(icalparameter_xliccomparetype v); |
1274 | const char* icalparameter_get_altrep(icalparameter* value); | 1604 | icalparameter_xliccomparetype icalparameter_get_xliccomparetype(const icalparameter* value); |
1275 | void icalparameter_set_altrep(icalparameter* value, const char* v); | 1605 | void icalparameter_set_xliccomparetype(icalparameter* value, icalparameter_xliccomparetype v); |
1276 | 1606 | ||
1277 | /* DIR */ | 1607 | /* X */ |
1278 | icalparameter* icalparameter_new_dir(const char* v); | 1608 | icalparameter* icalparameter_new_x(const char* v); |
1279 | const char* icalparameter_get_dir(icalparameter* value); | 1609 | const char* icalparameter_get_x(const icalparameter* value); |
1280 | void icalparameter_set_dir(icalparameter* value, const char* v); | 1610 | void icalparameter_set_x(icalparameter* value, const char* v); |
1281 | 1611 | ||
1282 | /* RELATED */ | 1612 | /* SENT-BY */ |
1283 | icalparameter* icalparameter_new_related(icalparameter_related v); | 1613 | icalparameter* icalparameter_new_sentby(const char* v); |
1284 | icalparameter_related icalparameter_get_related(icalparameter* value); | 1614 | const char* icalparameter_get_sentby(const icalparameter* value); |
1285 | void icalparameter_set_related(icalparameter* value, icalparameter_related v); | 1615 | void icalparameter_set_sentby(icalparameter* value, const char* v); |
1286 | 1616 | ||
1287 | /* CN */ | 1617 | /* MEMBER */ |
1288 | icalparameter* icalparameter_new_cn(const char* v); | 1618 | icalparameter* icalparameter_new_member(const char* v); |
1289 | const char* icalparameter_get_cn(icalparameter* value); | 1619 | const char* icalparameter_get_member(const icalparameter* value); |
1290 | void icalparameter_set_cn(icalparameter* value, const char* v); | 1620 | void icalparameter_set_member(icalparameter* value, const char* v); |
1621 | |||
1622 | /* RSVP */ | ||
1623 | icalparameter* icalparameter_new_rsvp(icalparameter_rsvp v); | ||
1624 | icalparameter_rsvp icalparameter_get_rsvp(const icalparameter* value); | ||
1625 | void icalparameter_set_rsvp(icalparameter* value, icalparameter_rsvp v); | ||
1626 | |||
1627 | /* CUTYPE */ | ||
1628 | icalparameter* icalparameter_new_cutype(icalparameter_cutype v); | ||
1629 | icalparameter_cutype icalparameter_get_cutype(const icalparameter* value); | ||
1630 | void icalparameter_set_cutype(icalparameter* value, icalparameter_cutype v); | ||
1291 | 1631 | ||
1292 | /* X-LIC-ERRORTYPE */ | 1632 | /* X-LIC-ERRORTYPE */ |
1293 | icalparameter* icalparameter_new_xlicerrortype(icalparameter_xlicerrortype v); | 1633 | icalparameter* icalparameter_new_xlicerrortype(icalparameter_xlicerrortype v); |
1294 | icalparameter_xlicerrortype icalparameter_get_xlicerrortype(icalparameter* value); | 1634 | icalparameter_xlicerrortype icalparameter_get_xlicerrortype(const icalparameter* value); |
1295 | void icalparameter_set_xlicerrortype(icalparameter* value, icalparameter_xlicerrortype v); | 1635 | void icalparameter_set_xlicerrortype(icalparameter* value, icalparameter_xlicerrortype v); |
1296 | 1636 | ||
1297 | /* X */ | 1637 | /* RELATED */ |
1298 | icalparameter* icalparameter_new_x(const char* v); | 1638 | icalparameter* icalparameter_new_related(icalparameter_related v); |
1299 | const char* icalparameter_get_x(icalparameter* value); | 1639 | icalparameter_related icalparameter_get_related(const icalparameter* value); |
1300 | void icalparameter_set_x(icalparameter* value, const char* v); | 1640 | void icalparameter_set_related(icalparameter* value, icalparameter_related v); |
1301 | 1641 | ||
1302 | /* LANGUAGE */ | 1642 | /* ENCODING */ |
1303 | icalparameter* icalparameter_new_language(const char* v); | 1643 | icalparameter* icalparameter_new_encoding(icalparameter_encoding v); |
1304 | const char* icalparameter_get_language(icalparameter* value); | 1644 | icalparameter_encoding icalparameter_get_encoding(const icalparameter* value); |
1305 | void icalparameter_set_language(icalparameter* value, const char* v); | 1645 | void icalparameter_set_encoding(icalparameter* value, icalparameter_encoding v); |
1306 | 1646 | ||
1307 | /* ROLE */ | 1647 | /* ALTREP */ |
1308 | icalparameter* icalparameter_new_role(icalparameter_role v); | 1648 | icalparameter* icalparameter_new_altrep(const char* v); |
1309 | icalparameter_role icalparameter_get_role(icalparameter* value); | 1649 | const char* icalparameter_get_altrep(const icalparameter* value); |
1310 | void icalparameter_set_role(icalparameter* value, icalparameter_role v); | 1650 | void icalparameter_set_altrep(icalparameter* value, const char* v); |
1311 | 1651 | ||
1312 | /* X-LIC-COMPARETYPE */ | 1652 | /* DELEGATED-FROM */ |
1313 | icalparameter* icalparameter_new_xliccomparetype(icalparameter_xliccomparetype v); | 1653 | icalparameter* icalparameter_new_delegatedfrom(const char* v); |
1314 | icalparameter_xliccomparetype icalparameter_get_xliccomparetype(icalparameter* value); | 1654 | const char* icalparameter_get_delegatedfrom(const icalparameter* value); |
1315 | void icalparameter_set_xliccomparetype(icalparameter* value, icalparameter_xliccomparetype v); | 1655 | void icalparameter_set_delegatedfrom(icalparameter* value, const char* v); |
1316 | 1656 | ||
1317 | /* FBTYPE */ | 1657 | /* FBTYPE */ |
1318 | icalparameter* icalparameter_new_fbtype(icalparameter_fbtype v); | 1658 | icalparameter* icalparameter_new_fbtype(icalparameter_fbtype v); |
1319 | icalparameter_fbtype icalparameter_get_fbtype(icalparameter* value); | 1659 | icalparameter_fbtype icalparameter_get_fbtype(const icalparameter* value); |
1320 | void icalparameter_set_fbtype(icalparameter* value, icalparameter_fbtype v); | 1660 | void icalparameter_set_fbtype(icalparameter* value, icalparameter_fbtype v); |
1321 | 1661 | ||
1322 | /* TZID */ | 1662 | /* ROLE */ |
1323 | icalparameter* icalparameter_new_tzid(const char* v); | 1663 | icalparameter* icalparameter_new_role(icalparameter_role v); |
1324 | const char* icalparameter_get_tzid(icalparameter* value); | 1664 | icalparameter_role icalparameter_get_role(const icalparameter* value); |
1325 | void icalparameter_set_tzid(icalparameter* value, const char* v); | 1665 | void icalparameter_set_role(icalparameter* value, icalparameter_role v); |
1666 | |||
1667 | /* PARTSTAT */ | ||
1668 | icalparameter* icalparameter_new_partstat(icalparameter_partstat v); | ||
1669 | icalparameter_partstat icalparameter_get_partstat(const icalparameter* value); | ||
1670 | void icalparameter_set_partstat(icalparameter* value, icalparameter_partstat v); | ||
1326 | 1671 | ||
1327 | #endif /*ICALPARAMETER_H*/ | 1672 | #endif /*ICALPARAMETER_H*/ |
1328 | 1673 | ||
1674 | /* Everything below this line is machine generated. Do not edit. */ | ||
1675 | /* -*- Mode: C -*- */ | ||
1676 | /*====================================================================== | ||
1677 | FILE: icalvalue.h | ||
1678 | CREATOR: eric 20 March 1999 | ||
1679 | |||
1680 | |||
1681 | |||
1682 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | ||
1683 | |||
1684 | This program is free software; you can redistribute it and/or modify | ||
1685 | it under the terms of either: | ||
1686 | |||
1687 | The LGPL as published by the Free Software Foundation, version | ||
1688 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
1689 | |||
1690 | Or: | ||
1691 | |||
1692 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
1693 | the License at http://www.mozilla.org/MPL/ | ||
1694 | |||
1695 | The original code is icalvalue.h | ||
1696 | |||
1697 | ======================================================================*/ | ||
1698 | |||
1699 | #ifndef ICALVALUE_H | ||
1700 | #define ICALVALUE_H | ||
1701 | |||
1702 | #include <time.h> | ||
1703 | |||
1704 | /* Defined in icalderivedvalue.h */ | ||
1705 | /*typedef struct icalvalue_impl icalvalue;*/ | ||
1706 | |||
1707 | icalvalue* icalvalue_new(icalvalue_kind kind); | ||
1708 | |||
1709 | icalvalue* icalvalue_new_clone(const icalvalue* value); | ||
1710 | |||
1711 | icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str); | ||
1712 | |||
1713 | void icalvalue_free(icalvalue* value); | ||
1714 | |||
1715 | int icalvalue_is_valid(const icalvalue* value); | ||
1716 | |||
1717 | const char* icalvalue_as_ical_string(const icalvalue* value); | ||
1718 | |||
1719 | icalvalue_kind icalvalue_isa(const icalvalue* value); | ||
1720 | |||
1721 | int icalvalue_isa_value(void*); | ||
1722 | |||
1723 | icalparameter_xliccomparetype icalvalue_compare(const icalvalue* a, const icalvalue *b); | ||
1724 | |||
1725 | |||
1726 | /* Special, non autogenerated value accessors */ | ||
1727 | |||
1728 | icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); | ||
1729 | void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); | ||
1730 | struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value); | ||
1731 | |||
1732 | icalvalue* icalvalue_new_trigger (struct icaltriggertype v); | ||
1733 | void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); | ||
1734 | struct icaltriggertype icalvalue_get_trigger(const icalvalue* value); | ||
1735 | |||
1736 | icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); | ||
1737 | void icalvalue_set_datetimeperiod(icalvalue* value, | ||
1738 | struct icaldatetimeperiodtype v); | ||
1739 | struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value); | ||
1740 | |||
1741 | /* Convert enumerations */ | ||
1742 | |||
1743 | icalvalue_kind icalvalue_string_to_kind(const char* str); | ||
1744 | const char* icalvalue_kind_to_string(const icalvalue_kind kind); | ||
1745 | |||
1746 | /** Check validity of a specific icalvalue_kind **/ | ||
1747 | int icalvalue_kind_is_valid(const icalvalue_kind kind); | ||
1748 | |||
1749 | /** Encode a character string in ical format, esacpe certain characters, etc. */ | ||
1750 | int icalvalue_encode_ical_string(const char *szText, char *szEncText, int MaxBufferLen); | ||
1751 | |||
1752 | #endif /*ICALVALUE_H*/ | ||
1753 | /* -*- Mode: C -*- */ | ||
1754 | /*====================================================================== | ||
1755 | FILE: icalparam.h | ||
1756 | CREATOR: eric 20 March 1999 | ||
1757 | |||
1758 | |||
1759 | |||
1760 | |||
1761 | |||
1762 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | ||
1763 | |||
1764 | This program is free software; you can redistribute it and/or modify | ||
1765 | it under the terms of either: | ||
1766 | |||
1767 | The LGPL as published by the Free Software Foundation, version | ||
1768 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
1769 | |||
1770 | Or: | ||
1771 | |||
1772 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
1773 | the License at http://www.mozilla.org/MPL/ | ||
1774 | |||
1775 | The original code is icalparam.h | ||
1776 | |||
1777 | ======================================================================*/ | ||
1778 | |||
1779 | #ifndef ICALPARAM_H | ||
1780 | #define ICALPARAM_H | ||
1781 | |||
1782 | |||
1783 | /* Declared in icalderivedparameter.h */ | ||
1784 | /*typedef struct icalparameter_impl icalparameter;*/ | ||
1785 | |||
1786 | icalparameter* icalparameter_new(icalparameter_kind kind); | ||
1787 | icalparameter* icalparameter_new_clone(icalparameter* p); | ||
1788 | |||
1789 | /* Create from string of form "PARAMNAME=VALUE" */ | ||
1790 | icalparameter* icalparameter_new_from_string(const char* value); | ||
1791 | |||
1792 | /* Create from just the value, the part after the "=" */ | ||
1793 | icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind, const char* value); | ||
1794 | |||
1795 | void icalparameter_free(icalparameter* parameter); | ||
1796 | |||
1797 | char* icalparameter_as_ical_string(icalparameter* parameter); | ||
1798 | |||
1799 | int icalparameter_is_valid(icalparameter* parameter); | ||
1800 | |||
1801 | icalparameter_kind icalparameter_isa(icalparameter* parameter); | ||
1802 | |||
1803 | int icalparameter_isa_parameter(void* param); | ||
1804 | |||
1805 | /* Acess the name of an X parameer */ | ||
1806 | void icalparameter_set_xname (icalparameter* param, const char* v); | ||
1807 | const char* icalparameter_get_xname(icalparameter* param); | ||
1808 | void icalparameter_set_xvalue (icalparameter* param, const char* v); | ||
1809 | const char* icalparameter_get_xvalue(icalparameter* param); | ||
1810 | |||
1811 | /* Convert enumerations */ | ||
1812 | |||
1813 | const char* icalparameter_kind_to_string(icalparameter_kind kind); | ||
1814 | icalparameter_kind icalparameter_string_to_kind(const char* string); | ||
1815 | |||
1816 | |||
1817 | |||
1818 | #endif | ||
1329 | /* -*- Mode: C -*- | 1819 | /* -*- Mode: C -*- |
1330 | ====================================================================== | 1820 | ====================================================================== |
1331 | FILE: icalderivedproperties.{c,h} | 1821 | FILE: icalderivedproperties.{c,h} |
1332 | CREATOR: eric 09 May 1999 | 1822 | CREATOR: eric 09 May 1999 |
1333 | 1823 | ||
1334 | $Id$ | ||
1335 | 1824 | ||
1336 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 1825 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
1337 | ======================================================================*/ | 1826 | ======================================================================*/ |
1338 | 1827 | ||
1339 | 1828 | ||
1340 | #ifndef ICALDERIVEDPROPERTY_H | 1829 | #ifndef ICALDERIVEDPROPERTY_H |
1341 | #define ICALDERIVEDPROPERTY_H | 1830 | #define ICALDERIVEDPROPERTY_H |
1342 | 1831 | ||
1343 | #include <time.h> | 1832 | #include <time.h> |
1344 | 1833 | ||
1345 | typedef void icalproperty; | 1834 | typedef struct icalproperty_impl icalproperty; |
1346 | 1835 | ||
1347 | |||
1348 | /* Everything below this line is machine generated. Do not edit. */ | ||
1349 | typedef enum icalproperty_kind { | 1836 | typedef enum icalproperty_kind { |
1350 | ICAL_ANY_PROPERTY = 0, | 1837 | ICAL_ANY_PROPERTY = 0, |
1351 | ICAL_ACTION_PROPERTY, | 1838 | ICAL_ACTION_PROPERTY, |
1839 | ICAL_ALLOWCONFLICT_PROPERTY, | ||
1352 | ICAL_ATTACH_PROPERTY, | 1840 | ICAL_ATTACH_PROPERTY, |
1353 | ICAL_ATTENDEE_PROPERTY, | 1841 | ICAL_ATTENDEE_PROPERTY, |
1842 | ICAL_CALID_PROPERTY, | ||
1843 | ICAL_CALMASTER_PROPERTY, | ||
1354 | ICAL_CALSCALE_PROPERTY, | 1844 | ICAL_CALSCALE_PROPERTY, |
1845 | ICAL_CARID_PROPERTY, | ||
1355 | ICAL_CATEGORIES_PROPERTY, | 1846 | ICAL_CATEGORIES_PROPERTY, |
1356 | ICAL_CLASS_PROPERTY, | 1847 | ICAL_CLASS_PROPERTY, |
1357 | ICAL_COMMENT_PROPERTY, | 1848 | ICAL_COMMENT_PROPERTY, |
1358 | ICAL_COMPLETED_PROPERTY, | 1849 | ICAL_COMPLETED_PROPERTY, |
1359 | ICAL_CONTACT_PROPERTY, | 1850 | ICAL_CONTACT_PROPERTY, |
1360 | ICAL_CREATED_PROPERTY, | 1851 | ICAL_CREATED_PROPERTY, |
1852 | ICAL_DECREED_PROPERTY, | ||
1853 | ICAL_DEFAULTCHARSET_PROPERTY, | ||
1854 | ICAL_DEFAULTLOCALE_PROPERTY, | ||
1855 | ICAL_DEFAULTTZID_PROPERTY, | ||
1361 | ICAL_DESCRIPTION_PROPERTY, | 1856 | ICAL_DESCRIPTION_PROPERTY, |
1362 | ICAL_DTEND_PROPERTY, | 1857 | ICAL_DTEND_PROPERTY, |
1363 | ICAL_DTSTAMP_PROPERTY, | 1858 | ICAL_DTSTAMP_PROPERTY, |
1364 | ICAL_DTSTART_PROPERTY, | 1859 | ICAL_DTSTART_PROPERTY, |
1365 | ICAL_DUE_PROPERTY, | 1860 | ICAL_DUE_PROPERTY, |
1366 | ICAL_DURATION_PROPERTY, | 1861 | ICAL_DURATION_PROPERTY, |
1367 | ICAL_EXDATE_PROPERTY, | 1862 | ICAL_EXDATE_PROPERTY, |
1863 | ICAL_EXPAND_PROPERTY, | ||
1368 | ICAL_EXRULE_PROPERTY, | 1864 | ICAL_EXRULE_PROPERTY, |
1369 | ICAL_FREEBUSY_PROPERTY, | 1865 | ICAL_FREEBUSY_PROPERTY, |
1370 | ICAL_GEO_PROPERTY, | 1866 | ICAL_GEO_PROPERTY, |
1371 | ICAL_LASTMODIFIED_PROPERTY, | 1867 | ICAL_LASTMODIFIED_PROPERTY, |
1372 | ICAL_LOCATION_PROPERTY, | 1868 | ICAL_LOCATION_PROPERTY, |
1373 | ICAL_MAXRESULTS_PROPERTY, | 1869 | ICAL_MAXRESULTS_PROPERTY, |
1374 | ICAL_MAXRESULTSSIZE_PROPERTY, | 1870 | ICAL_MAXRESULTSSIZE_PROPERTY, |
1375 | ICAL_METHOD_PROPERTY, | 1871 | ICAL_METHOD_PROPERTY, |
1376 | ICAL_ORGANIZER_PROPERTY, | 1872 | ICAL_ORGANIZER_PROPERTY, |
1873 | ICAL_OWNER_PROPERTY, | ||
1377 | ICAL_PERCENTCOMPLETE_PROPERTY, | 1874 | ICAL_PERCENTCOMPLETE_PROPERTY, |
1378 | ICAL_PRIORITY_PROPERTY, | 1875 | ICAL_PRIORITY_PROPERTY, |
1379 | ICAL_PRODID_PROPERTY, | 1876 | ICAL_PRODID_PROPERTY, |
1380 | ICAL_QUERY_PROPERTY, | 1877 | ICAL_QUERY_PROPERTY, |
1381 | ICAL_QUERYNAME_PROPERTY, | 1878 | ICAL_QUERYNAME_PROPERTY, |
1382 | ICAL_RDATE_PROPERTY, | 1879 | ICAL_RDATE_PROPERTY, |
1383 | ICAL_RECURRENCEID_PROPERTY, | 1880 | ICAL_RECURRENCEID_PROPERTY, |
1384 | ICAL_RELATEDTO_PROPERTY, | 1881 | ICAL_RELATEDTO_PROPERTY, |
1882 | ICAL_RELCALID_PROPERTY, | ||
1385 | ICAL_REPEAT_PROPERTY, | 1883 | ICAL_REPEAT_PROPERTY, |
1386 | ICAL_REQUESTSTATUS_PROPERTY, | 1884 | ICAL_REQUESTSTATUS_PROPERTY, |
1387 | ICAL_RESOURCES_PROPERTY, | 1885 | ICAL_RESOURCES_PROPERTY, |
1388 | ICAL_RRULE_PROPERTY, | 1886 | ICAL_RRULE_PROPERTY, |
1389 | ICAL_SCOPE_PROPERTY, | 1887 | ICAL_SCOPE_PROPERTY, |
1390 | ICAL_SEQUENCE_PROPERTY, | 1888 | ICAL_SEQUENCE_PROPERTY, |
@@ -1399,489 +1897,403 @@ typedef enum icalproperty_kind { | |||
1399 | ICAL_TZOFFSETTO_PROPERTY, | 1897 | ICAL_TZOFFSETTO_PROPERTY, |
1400 | ICAL_TZURL_PROPERTY, | 1898 | ICAL_TZURL_PROPERTY, |
1401 | ICAL_UID_PROPERTY, | 1899 | ICAL_UID_PROPERTY, |
1402 | ICAL_URL_PROPERTY, | 1900 | ICAL_URL_PROPERTY, |
1403 | ICAL_VERSION_PROPERTY, | 1901 | ICAL_VERSION_PROPERTY, |
1404 | ICAL_X_PROPERTY, | 1902 | ICAL_X_PROPERTY, |
1903 | ICAL_XLICCLASS_PROPERTY, | ||
1405 | ICAL_XLICCLUSTERCOUNT_PROPERTY, | 1904 | ICAL_XLICCLUSTERCOUNT_PROPERTY, |
1406 | ICAL_XLICERROR_PROPERTY, | 1905 | ICAL_XLICERROR_PROPERTY, |
1407 | ICAL_XLICMIMECHARSET_PROPERTY, | 1906 | ICAL_XLICMIMECHARSET_PROPERTY, |
1408 | ICAL_XLICMIMECID_PROPERTY, | 1907 | ICAL_XLICMIMECID_PROPERTY, |
1409 | ICAL_XLICMIMECONTENTTYPE_PROPERTY, | 1908 | ICAL_XLICMIMECONTENTTYPE_PROPERTY, |
1410 | ICAL_XLICMIMEENCODING_PROPERTY, | 1909 | ICAL_XLICMIMEENCODING_PROPERTY, |
1411 | ICAL_XLICMIMEFILENAME_PROPERTY, | 1910 | ICAL_XLICMIMEFILENAME_PROPERTY, |
1412 | ICAL_XLICMIMEOPTINFO_PROPERTY, | 1911 | ICAL_XLICMIMEOPTINFO_PROPERTY, |
1413 | ICAL_NO_PROPERTY | 1912 | ICAL_NO_PROPERTY |
1414 | } icalproperty_kind; | 1913 | } icalproperty_kind; |
1415 | 1914 | ||
1416 | icalproperty* icalproperty_vanew_action(enum icalproperty_action v, ...); | ||
1417 | 1915 | ||
1418 | /* ACTION */ | 1916 | /* ACTION */ |
1419 | icalproperty* icalproperty_new_action(enum icalproperty_action v); | 1917 | icalproperty* icalproperty_new_action(enum icalproperty_action v); |
1420 | void icalproperty_set_action(icalproperty* prop, enum icalproperty_action v); | 1918 | void icalproperty_set_action(icalproperty* prop, enum icalproperty_action v); |
1421 | enum icalproperty_action icalproperty_get_action(icalproperty* prop);icalproperty* icalproperty_vanew_attach(struct icalattachtype* v, ...); | 1919 | enum icalproperty_action icalproperty_get_action(const icalproperty* prop);icalproperty* icalproperty_vanew_action(enum icalproperty_action v, ...); |
1920 | |||
1921 | /* ALLOW-CONFLICT */ | ||
1922 | icalproperty* icalproperty_new_allowconflict(const char* v); | ||
1923 | void icalproperty_set_allowconflict(icalproperty* prop, const char* v); | ||
1924 | const char* icalproperty_get_allowconflict(const icalproperty* prop);icalproperty* icalproperty_vanew_allowconflict(const char* v, ...); | ||
1422 | 1925 | ||
1423 | /* ATTACH */ | 1926 | /* ATTACH */ |
1424 | icalproperty* icalproperty_new_attach(struct icalattachtype* v); | 1927 | icalproperty* icalproperty_new_attach(icalattach * v); |
1425 | void icalproperty_set_attach(icalproperty* prop, struct icalattachtype* v); | 1928 | void icalproperty_set_attach(icalproperty* prop, icalattach * v); |
1426 | struct icalattachtype* icalproperty_get_attach(icalproperty* prop);icalproperty* icalproperty_vanew_attendee(const char* v, ...); | 1929 | icalattach * icalproperty_get_attach(const icalproperty* prop);icalproperty* icalproperty_vanew_attach(icalattach * v, ...); |
1427 | 1930 | ||
1428 | /* ATTENDEE */ | 1931 | /* ATTENDEE */ |
1429 | icalproperty* icalproperty_new_attendee(const char* v); | 1932 | icalproperty* icalproperty_new_attendee(const char* v); |
1430 | void icalproperty_set_attendee(icalproperty* prop, const char* v); | 1933 | void icalproperty_set_attendee(icalproperty* prop, const char* v); |
1431 | const char* icalproperty_get_attendee(icalproperty* prop);icalproperty* icalproperty_vanew_calscale(const char* v, ...); | 1934 | const char* icalproperty_get_attendee(const icalproperty* prop);icalproperty* icalproperty_vanew_attendee(const char* v, ...); |
1935 | |||
1936 | /* CALID */ | ||
1937 | icalproperty* icalproperty_new_calid(const char* v); | ||
1938 | void icalproperty_set_calid(icalproperty* prop, const char* v); | ||
1939 | const char* icalproperty_get_calid(const icalproperty* prop);icalproperty* icalproperty_vanew_calid(const char* v, ...); | ||
1940 | |||
1941 | /* CALMASTER */ | ||
1942 | icalproperty* icalproperty_new_calmaster(const char* v); | ||
1943 | void icalproperty_set_calmaster(icalproperty* prop, const char* v); | ||
1944 | const char* icalproperty_get_calmaster(const icalproperty* prop);icalproperty* icalproperty_vanew_calmaster(const char* v, ...); | ||
1432 | 1945 | ||
1433 | /* CALSCALE */ | 1946 | /* CALSCALE */ |
1434 | icalproperty* icalproperty_new_calscale(const char* v); | 1947 | icalproperty* icalproperty_new_calscale(const char* v); |
1435 | void icalproperty_set_calscale(icalproperty* prop, const char* v); | 1948 | void icalproperty_set_calscale(icalproperty* prop, const char* v); |
1436 | const char* icalproperty_get_calscale(icalproperty* prop);icalproperty* icalproperty_vanew_categories(const char* v, ...); | 1949 | const char* icalproperty_get_calscale(const icalproperty* prop);icalproperty* icalproperty_vanew_calscale(const char* v, ...); |
1950 | |||
1951 | /* CARID */ | ||
1952 | icalproperty* icalproperty_new_carid(const char* v); | ||
1953 | void icalproperty_set_carid(icalproperty* prop, const char* v); | ||
1954 | const char* icalproperty_get_carid(const icalproperty* prop);icalproperty* icalproperty_vanew_carid(const char* v, ...); | ||
1437 | 1955 | ||
1438 | /* CATEGORIES */ | 1956 | /* CATEGORIES */ |
1439 | icalproperty* icalproperty_new_categories(const char* v); | 1957 | icalproperty* icalproperty_new_categories(const char* v); |
1440 | void icalproperty_set_categories(icalproperty* prop, const char* v); | 1958 | void icalproperty_set_categories(icalproperty* prop, const char* v); |
1441 | const char* icalproperty_get_categories(icalproperty* prop);icalproperty* icalproperty_vanew_class(const char* v, ...); | 1959 | const char* icalproperty_get_categories(const icalproperty* prop);icalproperty* icalproperty_vanew_categories(const char* v, ...); |
1442 | 1960 | ||
1443 | /* CLASS */ | 1961 | /* CLASS */ |
1444 | icalproperty* icalproperty_new_class(const char* v); | 1962 | icalproperty* icalproperty_new_class(enum icalproperty_class v); |
1445 | void icalproperty_set_class(icalproperty* prop, const char* v); | 1963 | void icalproperty_set_class(icalproperty* prop, enum icalproperty_class v); |
1446 | const char* icalproperty_get_class(icalproperty* prop);icalproperty* icalproperty_vanew_comment(const char* v, ...); | 1964 | enum icalproperty_class icalproperty_get_class(const icalproperty* prop);icalproperty* icalproperty_vanew_class(enum icalproperty_class v, ...); |
1447 | 1965 | ||
1448 | /* COMMENT */ | 1966 | /* COMMENT */ |
1449 | icalproperty* icalproperty_new_comment(const char* v); | 1967 | icalproperty* icalproperty_new_comment(const char* v); |
1450 | void icalproperty_set_comment(icalproperty* prop, const char* v); | 1968 | void icalproperty_set_comment(icalproperty* prop, const char* v); |
1451 | const char* icalproperty_get_comment(icalproperty* prop);icalproperty* icalproperty_vanew_completed(struct icaltimetype v, ...); | 1969 | const char* icalproperty_get_comment(const icalproperty* prop);icalproperty* icalproperty_vanew_comment(const char* v, ...); |
1452 | 1970 | ||
1453 | /* COMPLETED */ | 1971 | /* COMPLETED */ |
1454 | icalproperty* icalproperty_new_completed(struct icaltimetype v); | 1972 | icalproperty* icalproperty_new_completed(struct icaltimetype v); |
1455 | void icalproperty_set_completed(icalproperty* prop, struct icaltimetype v); | 1973 | void icalproperty_set_completed(icalproperty* prop, struct icaltimetype v); |
1456 | struct icaltimetype icalproperty_get_completed(icalproperty* prop);icalproperty* icalproperty_vanew_contact(const char* v, ...); | 1974 | struct icaltimetype icalproperty_get_completed(const icalproperty* prop);icalproperty* icalproperty_vanew_completed(struct icaltimetype v, ...); |
1457 | 1975 | ||
1458 | /* CONTACT */ | 1976 | /* CONTACT */ |
1459 | icalproperty* icalproperty_new_contact(const char* v); | 1977 | icalproperty* icalproperty_new_contact(const char* v); |
1460 | void icalproperty_set_contact(icalproperty* prop, const char* v); | 1978 | void icalproperty_set_contact(icalproperty* prop, const char* v); |
1461 | const char* icalproperty_get_contact(icalproperty* prop);icalproperty* icalproperty_vanew_created(struct icaltimetype v, ...); | 1979 | const char* icalproperty_get_contact(const icalproperty* prop);icalproperty* icalproperty_vanew_contact(const char* v, ...); |
1462 | 1980 | ||
1463 | /* CREATED */ | 1981 | /* CREATED */ |
1464 | icalproperty* icalproperty_new_created(struct icaltimetype v); | 1982 | icalproperty* icalproperty_new_created(struct icaltimetype v); |
1465 | void icalproperty_set_created(icalproperty* prop, struct icaltimetype v); | 1983 | void icalproperty_set_created(icalproperty* prop, struct icaltimetype v); |
1466 | struct icaltimetype icalproperty_get_created(icalproperty* prop);icalproperty* icalproperty_vanew_description(const char* v, ...); | 1984 | struct icaltimetype icalproperty_get_created(const icalproperty* prop);icalproperty* icalproperty_vanew_created(struct icaltimetype v, ...); |
1985 | |||
1986 | /* DECREED */ | ||
1987 | icalproperty* icalproperty_new_decreed(const char* v); | ||
1988 | void icalproperty_set_decreed(icalproperty* prop, const char* v); | ||
1989 | const char* icalproperty_get_decreed(const icalproperty* prop);icalproperty* icalproperty_vanew_decreed(const char* v, ...); | ||
1990 | |||
1991 | /* DEFAULT-CHARSET */ | ||
1992 | icalproperty* icalproperty_new_defaultcharset(const char* v); | ||
1993 | void icalproperty_set_defaultcharset(icalproperty* prop, const char* v); | ||
1994 | const char* icalproperty_get_defaultcharset(const icalproperty* prop);icalproperty* icalproperty_vanew_defaultcharset(const char* v, ...); | ||
1995 | |||
1996 | /* DEFAULT-LOCALE */ | ||
1997 | icalproperty* icalproperty_new_defaultlocale(const char* v); | ||
1998 | void icalproperty_set_defaultlocale(icalproperty* prop, const char* v); | ||
1999 | const char* icalproperty_get_defaultlocale(const icalproperty* prop);icalproperty* icalproperty_vanew_defaultlocale(const char* v, ...); | ||
2000 | |||
2001 | /* DEFAULT-TZID */ | ||
2002 | icalproperty* icalproperty_new_defaulttzid(const char* v); | ||
2003 | void icalproperty_set_defaulttzid(icalproperty* prop, const char* v); | ||
2004 | const char* icalproperty_get_defaulttzid(const icalproperty* prop);icalproperty* icalproperty_vanew_defaulttzid(const char* v, ...); | ||
1467 | 2005 | ||
1468 | /* DESCRIPTION */ | 2006 | /* DESCRIPTION */ |
1469 | icalproperty* icalproperty_new_description(const char* v); | 2007 | icalproperty* icalproperty_new_description(const char* v); |
1470 | void icalproperty_set_description(icalproperty* prop, const char* v); | 2008 | void icalproperty_set_description(icalproperty* prop, const char* v); |
1471 | const char* icalproperty_get_description(icalproperty* prop);icalproperty* icalproperty_vanew_dtend(struct icaltimetype v, ...); | 2009 | const char* icalproperty_get_description(const icalproperty* prop);icalproperty* icalproperty_vanew_description(const char* v, ...); |
1472 | 2010 | ||
1473 | /* DTEND */ | 2011 | /* DTEND */ |
1474 | icalproperty* icalproperty_new_dtend(struct icaltimetype v); | 2012 | icalproperty* icalproperty_new_dtend(struct icaltimetype v); |
1475 | void icalproperty_set_dtend(icalproperty* prop, struct icaltimetype v); | 2013 | void icalproperty_set_dtend(icalproperty* prop, struct icaltimetype v); |
1476 | struct icaltimetype icalproperty_get_dtend(icalproperty* prop);icalproperty* icalproperty_vanew_dtstamp(struct icaltimetype v, ...); | 2014 | struct icaltimetype icalproperty_get_dtend(const icalproperty* prop);icalproperty* icalproperty_vanew_dtend(struct icaltimetype v, ...); |
1477 | 2015 | ||
1478 | /* DTSTAMP */ | 2016 | /* DTSTAMP */ |
1479 | icalproperty* icalproperty_new_dtstamp(struct icaltimetype v); | 2017 | icalproperty* icalproperty_new_dtstamp(struct icaltimetype v); |
1480 | void icalproperty_set_dtstamp(icalproperty* prop, struct icaltimetype v); | 2018 | void icalproperty_set_dtstamp(icalproperty* prop, struct icaltimetype v); |
1481 | struct icaltimetype icalproperty_get_dtstamp(icalproperty* prop);icalproperty* icalproperty_vanew_dtstart(struct icaltimetype v, ...); | 2019 | struct icaltimetype icalproperty_get_dtstamp(const icalproperty* prop);icalproperty* icalproperty_vanew_dtstamp(struct icaltimetype v, ...); |
1482 | 2020 | ||
1483 | /* DTSTART */ | 2021 | /* DTSTART */ |
1484 | icalproperty* icalproperty_new_dtstart(struct icaltimetype v); | 2022 | icalproperty* icalproperty_new_dtstart(struct icaltimetype v); |
1485 | void icalproperty_set_dtstart(icalproperty* prop, struct icaltimetype v); | 2023 | void icalproperty_set_dtstart(icalproperty* prop, struct icaltimetype v); |
1486 | struct icaltimetype icalproperty_get_dtstart(icalproperty* prop);icalproperty* icalproperty_vanew_due(struct icaltimetype v, ...); | 2024 | struct icaltimetype icalproperty_get_dtstart(const icalproperty* prop);icalproperty* icalproperty_vanew_dtstart(struct icaltimetype v, ...); |
1487 | 2025 | ||
1488 | /* DUE */ | 2026 | /* DUE */ |
1489 | icalproperty* icalproperty_new_due(struct icaltimetype v); | 2027 | icalproperty* icalproperty_new_due(struct icaltimetype v); |
1490 | void icalproperty_set_due(icalproperty* prop, struct icaltimetype v); | 2028 | void icalproperty_set_due(icalproperty* prop, struct icaltimetype v); |
1491 | struct icaltimetype icalproperty_get_due(icalproperty* prop);icalproperty* icalproperty_vanew_duration(struct icaldurationtype v, ...); | 2029 | struct icaltimetype icalproperty_get_due(const icalproperty* prop);icalproperty* icalproperty_vanew_due(struct icaltimetype v, ...); |
1492 | 2030 | ||
1493 | /* DURATION */ | 2031 | /* DURATION */ |
1494 | icalproperty* icalproperty_new_duration(struct icaldurationtype v); | 2032 | icalproperty* icalproperty_new_duration(struct icaldurationtype v); |
1495 | void icalproperty_set_duration(icalproperty* prop, struct icaldurationtype v); | 2033 | void icalproperty_set_duration(icalproperty* prop, struct icaldurationtype v); |
1496 | struct icaldurationtype icalproperty_get_duration(icalproperty* prop);icalproperty* icalproperty_vanew_exdate(struct icaltimetype v, ...); | 2034 | struct icaldurationtype icalproperty_get_duration(const icalproperty* prop);icalproperty* icalproperty_vanew_duration(struct icaldurationtype v, ...); |
1497 | 2035 | ||
1498 | /* EXDATE */ | 2036 | /* EXDATE */ |
1499 | icalproperty* icalproperty_new_exdate(struct icaltimetype v); | 2037 | icalproperty* icalproperty_new_exdate(struct icaltimetype v); |
1500 | void icalproperty_set_exdate(icalproperty* prop, struct icaltimetype v); | 2038 | void icalproperty_set_exdate(icalproperty* prop, struct icaltimetype v); |
1501 | struct icaltimetype icalproperty_get_exdate(icalproperty* prop);icalproperty* icalproperty_vanew_exrule(struct icalrecurrencetype v, ...); | 2039 | struct icaltimetype icalproperty_get_exdate(const icalproperty* prop);icalproperty* icalproperty_vanew_exdate(struct icaltimetype v, ...); |
2040 | |||
2041 | /* EXPAND */ | ||
2042 | icalproperty* icalproperty_new_expand(int v); | ||
2043 | void icalproperty_set_expand(icalproperty* prop, int v); | ||
2044 | int icalproperty_get_expand(const icalproperty* prop);icalproperty* icalproperty_vanew_expand(int v, ...); | ||
1502 | 2045 | ||
1503 | /* EXRULE */ | 2046 | /* EXRULE */ |
1504 | icalproperty* icalproperty_new_exrule(struct icalrecurrencetype v); | 2047 | icalproperty* icalproperty_new_exrule(struct icalrecurrencetype v); |
1505 | void icalproperty_set_exrule(icalproperty* prop, struct icalrecurrencetype v); | 2048 | void icalproperty_set_exrule(icalproperty* prop, struct icalrecurrencetype v); |
1506 | struct icalrecurrencetype icalproperty_get_exrule(icalproperty* prop);icalproperty* icalproperty_vanew_freebusy(struct icalperiodtype v, ...); | 2049 | struct icalrecurrencetype icalproperty_get_exrule(const icalproperty* prop);icalproperty* icalproperty_vanew_exrule(struct icalrecurrencetype v, ...); |
1507 | 2050 | ||
1508 | /* FREEBUSY */ | 2051 | /* FREEBUSY */ |
1509 | icalproperty* icalproperty_new_freebusy(struct icalperiodtype v); | 2052 | icalproperty* icalproperty_new_freebusy(struct icalperiodtype v); |
1510 | void icalproperty_set_freebusy(icalproperty* prop, struct icalperiodtype v); | 2053 | void icalproperty_set_freebusy(icalproperty* prop, struct icalperiodtype v); |
1511 | struct icalperiodtype icalproperty_get_freebusy(icalproperty* prop);icalproperty* icalproperty_vanew_geo(struct icalgeotype v, ...); | 2054 | struct icalperiodtype icalproperty_get_freebusy(const icalproperty* prop);icalproperty* icalproperty_vanew_freebusy(struct icalperiodtype v, ...); |
1512 | 2055 | ||
1513 | /* GEO */ | 2056 | /* GEO */ |
1514 | icalproperty* icalproperty_new_geo(struct icalgeotype v); | 2057 | icalproperty* icalproperty_new_geo(struct icalgeotype v); |
1515 | void icalproperty_set_geo(icalproperty* prop, struct icalgeotype v); | 2058 | void icalproperty_set_geo(icalproperty* prop, struct icalgeotype v); |
1516 | struct icalgeotype icalproperty_get_geo(icalproperty* prop);icalproperty* icalproperty_vanew_lastmodified(struct icaltimetype v, ...); | 2059 | struct icalgeotype icalproperty_get_geo(const icalproperty* prop);icalproperty* icalproperty_vanew_geo(struct icalgeotype v, ...); |
1517 | 2060 | ||
1518 | /* LAST-MODIFIED */ | 2061 | /* LAST-MODIFIED */ |
1519 | icalproperty* icalproperty_new_lastmodified(struct icaltimetype v); | 2062 | icalproperty* icalproperty_new_lastmodified(struct icaltimetype v); |
1520 | void icalproperty_set_lastmodified(icalproperty* prop, struct icaltimetype v); | 2063 | void icalproperty_set_lastmodified(icalproperty* prop, struct icaltimetype v); |
1521 | struct icaltimetype icalproperty_get_lastmodified(icalproperty* prop);icalproperty* icalproperty_vanew_location(const char* v, ...); | 2064 | struct icaltimetype icalproperty_get_lastmodified(const icalproperty* prop);icalproperty* icalproperty_vanew_lastmodified(struct icaltimetype v, ...); |
1522 | 2065 | ||
1523 | /* LOCATION */ | 2066 | /* LOCATION */ |
1524 | icalproperty* icalproperty_new_location(const char* v); | 2067 | icalproperty* icalproperty_new_location(const char* v); |
1525 | void icalproperty_set_location(icalproperty* prop, const char* v); | 2068 | void icalproperty_set_location(icalproperty* prop, const char* v); |
1526 | const char* icalproperty_get_location(icalproperty* prop);icalproperty* icalproperty_vanew_maxresults(int v, ...); | 2069 | const char* icalproperty_get_location(const icalproperty* prop);icalproperty* icalproperty_vanew_location(const char* v, ...); |
1527 | 2070 | ||
1528 | /* MAXRESULTS */ | 2071 | /* MAXRESULTS */ |
1529 | icalproperty* icalproperty_new_maxresults(int v); | 2072 | icalproperty* icalproperty_new_maxresults(int v); |
1530 | void icalproperty_set_maxresults(icalproperty* prop, int v); | 2073 | void icalproperty_set_maxresults(icalproperty* prop, int v); |
1531 | int icalproperty_get_maxresults(icalproperty* prop);icalproperty* icalproperty_vanew_maxresultssize(int v, ...); | 2074 | int icalproperty_get_maxresults(const icalproperty* prop);icalproperty* icalproperty_vanew_maxresults(int v, ...); |
1532 | 2075 | ||
1533 | /* MAXRESULTSSIZE */ | 2076 | /* MAXRESULTSSIZE */ |
1534 | icalproperty* icalproperty_new_maxresultssize(int v); | 2077 | icalproperty* icalproperty_new_maxresultssize(int v); |
1535 | void icalproperty_set_maxresultssize(icalproperty* prop, int v); | 2078 | void icalproperty_set_maxresultssize(icalproperty* prop, int v); |
1536 | int icalproperty_get_maxresultssize(icalproperty* prop);icalproperty* icalproperty_vanew_method(enum icalproperty_method v, ...); | 2079 | int icalproperty_get_maxresultssize(const icalproperty* prop);icalproperty* icalproperty_vanew_maxresultssize(int v, ...); |
1537 | 2080 | ||
1538 | /* METHOD */ | 2081 | /* METHOD */ |
1539 | icalproperty* icalproperty_new_method(enum icalproperty_method v); | 2082 | icalproperty* icalproperty_new_method(enum icalproperty_method v); |
1540 | void icalproperty_set_method(icalproperty* prop, enum icalproperty_method v); | 2083 | void icalproperty_set_method(icalproperty* prop, enum icalproperty_method v); |
1541 | enum icalproperty_method icalproperty_get_method(icalproperty* prop);icalproperty* icalproperty_vanew_organizer(const char* v, ...); | 2084 | enum icalproperty_method icalproperty_get_method(const icalproperty* prop);icalproperty* icalproperty_vanew_method(enum icalproperty_method v, ...); |
1542 | 2085 | ||
1543 | /* ORGANIZER */ | 2086 | /* ORGANIZER */ |
1544 | icalproperty* icalproperty_new_organizer(const char* v); | 2087 | icalproperty* icalproperty_new_organizer(const char* v); |
1545 | void icalproperty_set_organizer(icalproperty* prop, const char* v); | 2088 | void icalproperty_set_organizer(icalproperty* prop, const char* v); |
1546 | const char* icalproperty_get_organizer(icalproperty* prop);icalproperty* icalproperty_vanew_percentcomplete(int v, ...); | 2089 | const char* icalproperty_get_organizer(const icalproperty* prop);icalproperty* icalproperty_vanew_organizer(const char* v, ...); |
2090 | |||
2091 | /* OWNER */ | ||
2092 | icalproperty* icalproperty_new_owner(const char* v); | ||
2093 | void icalproperty_set_owner(icalproperty* prop, const char* v); | ||
2094 | const char* icalproperty_get_owner(const icalproperty* prop);icalproperty* icalproperty_vanew_owner(const char* v, ...); | ||
1547 | 2095 | ||
1548 | /* PERCENT-COMPLETE */ | 2096 | /* PERCENT-COMPLETE */ |
1549 | icalproperty* icalproperty_new_percentcomplete(int v); | 2097 | icalproperty* icalproperty_new_percentcomplete(int v); |
1550 | void icalproperty_set_percentcomplete(icalproperty* prop, int v); | 2098 | void icalproperty_set_percentcomplete(icalproperty* prop, int v); |
1551 | int icalproperty_get_percentcomplete(icalproperty* prop);icalproperty* icalproperty_vanew_priority(int v, ...); | 2099 | int icalproperty_get_percentcomplete(const icalproperty* prop);icalproperty* icalproperty_vanew_percentcomplete(int v, ...); |
1552 | 2100 | ||
1553 | /* PRIORITY */ | 2101 | /* PRIORITY */ |
1554 | icalproperty* icalproperty_new_priority(int v); | 2102 | icalproperty* icalproperty_new_priority(int v); |
1555 | void icalproperty_set_priority(icalproperty* prop, int v); | 2103 | void icalproperty_set_priority(icalproperty* prop, int v); |
1556 | int icalproperty_get_priority(icalproperty* prop);icalproperty* icalproperty_vanew_prodid(const char* v, ...); | 2104 | int icalproperty_get_priority(const icalproperty* prop);icalproperty* icalproperty_vanew_priority(int v, ...); |
1557 | 2105 | ||
1558 | /* PRODID */ | 2106 | /* PRODID */ |
1559 | icalproperty* icalproperty_new_prodid(const char* v); | 2107 | icalproperty* icalproperty_new_prodid(const char* v); |
1560 | void icalproperty_set_prodid(icalproperty* prop, const char* v); | 2108 | void icalproperty_set_prodid(icalproperty* prop, const char* v); |
1561 | const char* icalproperty_get_prodid(icalproperty* prop);icalproperty* icalproperty_vanew_query(const char* v, ...); | 2109 | const char* icalproperty_get_prodid(const icalproperty* prop);icalproperty* icalproperty_vanew_prodid(const char* v, ...); |
1562 | 2110 | ||
1563 | /* QUERY */ | 2111 | /* QUERY */ |
1564 | icalproperty* icalproperty_new_query(const char* v); | 2112 | icalproperty* icalproperty_new_query(const char* v); |
1565 | void icalproperty_set_query(icalproperty* prop, const char* v); | 2113 | void icalproperty_set_query(icalproperty* prop, const char* v); |
1566 | const char* icalproperty_get_query(icalproperty* prop);icalproperty* icalproperty_vanew_queryname(const char* v, ...); | 2114 | const char* icalproperty_get_query(const icalproperty* prop);icalproperty* icalproperty_vanew_query(const char* v, ...); |
1567 | 2115 | ||
1568 | /* QUERYNAME */ | 2116 | /* QUERYNAME */ |
1569 | icalproperty* icalproperty_new_queryname(const char* v); | 2117 | icalproperty* icalproperty_new_queryname(const char* v); |
1570 | void icalproperty_set_queryname(icalproperty* prop, const char* v); | 2118 | void icalproperty_set_queryname(icalproperty* prop, const char* v); |
1571 | const char* icalproperty_get_queryname(icalproperty* prop);icalproperty* icalproperty_vanew_rdate(struct icaldatetimeperiodtype v, ...); | 2119 | const char* icalproperty_get_queryname(const icalproperty* prop);icalproperty* icalproperty_vanew_queryname(const char* v, ...); |
1572 | 2120 | ||
1573 | /* RDATE */ | 2121 | /* RDATE */ |
1574 | icalproperty* icalproperty_new_rdate(struct icaldatetimeperiodtype v); | 2122 | icalproperty* icalproperty_new_rdate(struct icaldatetimeperiodtype v); |
1575 | void icalproperty_set_rdate(icalproperty* prop, struct icaldatetimeperiodtype v); | 2123 | void icalproperty_set_rdate(icalproperty* prop, struct icaldatetimeperiodtype v); |
1576 | struct icaldatetimeperiodtype icalproperty_get_rdate(icalproperty* prop);icalproperty* icalproperty_vanew_recurrenceid(struct icaltimetype v, ...); | 2124 | struct icaldatetimeperiodtype icalproperty_get_rdate(const icalproperty* prop);icalproperty* icalproperty_vanew_rdate(struct icaldatetimeperiodtype v, ...); |
1577 | 2125 | ||
1578 | /* RECURRENCE-ID */ | 2126 | /* RECURRENCE-ID */ |
1579 | icalproperty* icalproperty_new_recurrenceid(struct icaltimetype v); | 2127 | icalproperty* icalproperty_new_recurrenceid(struct icaltimetype v); |
1580 | void icalproperty_set_recurrenceid(icalproperty* prop, struct icaltimetype v); | 2128 | void icalproperty_set_recurrenceid(icalproperty* prop, struct icaltimetype v); |
1581 | struct icaltimetype icalproperty_get_recurrenceid(icalproperty* prop);icalproperty* icalproperty_vanew_relatedto(const char* v, ...); | 2129 | struct icaltimetype icalproperty_get_recurrenceid(const icalproperty* prop);icalproperty* icalproperty_vanew_recurrenceid(struct icaltimetype v, ...); |
1582 | 2130 | ||
1583 | /* RELATED-TO */ | 2131 | /* RELATED-TO */ |
1584 | icalproperty* icalproperty_new_relatedto(const char* v); | 2132 | icalproperty* icalproperty_new_relatedto(const char* v); |
1585 | void icalproperty_set_relatedto(icalproperty* prop, const char* v); | 2133 | void icalproperty_set_relatedto(icalproperty* prop, const char* v); |
1586 | const char* icalproperty_get_relatedto(icalproperty* prop);icalproperty* icalproperty_vanew_repeat(int v, ...); | 2134 | const char* icalproperty_get_relatedto(const icalproperty* prop);icalproperty* icalproperty_vanew_relatedto(const char* v, ...); |
2135 | |||
2136 | /* RELCALID */ | ||
2137 | icalproperty* icalproperty_new_relcalid(const char* v); | ||
2138 | void icalproperty_set_relcalid(icalproperty* prop, const char* v); | ||
2139 | const char* icalproperty_get_relcalid(const icalproperty* prop);icalproperty* icalproperty_vanew_relcalid(const char* v, ...); | ||
1587 | 2140 | ||
1588 | /* REPEAT */ | 2141 | /* REPEAT */ |
1589 | icalproperty* icalproperty_new_repeat(int v); | 2142 | icalproperty* icalproperty_new_repeat(int v); |
1590 | void icalproperty_set_repeat(icalproperty* prop, int v); | 2143 | void icalproperty_set_repeat(icalproperty* prop, int v); |
1591 | int icalproperty_get_repeat(icalproperty* prop);icalproperty* icalproperty_vanew_requeststatus(struct icalreqstattype v, ...); | 2144 | int icalproperty_get_repeat(const icalproperty* prop);icalproperty* icalproperty_vanew_repeat(int v, ...); |
1592 | 2145 | ||
1593 | /* REQUEST-STATUS */ | 2146 | /* REQUEST-STATUS */ |
1594 | icalproperty* icalproperty_new_requeststatus(struct icalreqstattype v); | 2147 | icalproperty* icalproperty_new_requeststatus(struct icalreqstattype v); |
1595 | void icalproperty_set_requeststatus(icalproperty* prop, struct icalreqstattype v); | 2148 | void icalproperty_set_requeststatus(icalproperty* prop, struct icalreqstattype v); |
1596 | struct icalreqstattype icalproperty_get_requeststatus(icalproperty* prop);icalproperty* icalproperty_vanew_resources(const char* v, ...); | 2149 | struct icalreqstattype icalproperty_get_requeststatus(const icalproperty* prop);icalproperty* icalproperty_vanew_requeststatus(struct icalreqstattype v, ...); |
1597 | 2150 | ||
1598 | /* RESOURCES */ | 2151 | /* RESOURCES */ |
1599 | icalproperty* icalproperty_new_resources(const char* v); | 2152 | icalproperty* icalproperty_new_resources(const char* v); |
1600 | void icalproperty_set_resources(icalproperty* prop, const char* v); | 2153 | void icalproperty_set_resources(icalproperty* prop, const char* v); |
1601 | const char* icalproperty_get_resources(icalproperty* prop);icalproperty* icalproperty_vanew_rrule(struct icalrecurrencetype v, ...); | 2154 | const char* icalproperty_get_resources(const icalproperty* prop);icalproperty* icalproperty_vanew_resources(const char* v, ...); |
1602 | 2155 | ||
1603 | /* RRULE */ | 2156 | /* RRULE */ |
1604 | icalproperty* icalproperty_new_rrule(struct icalrecurrencetype v); | 2157 | icalproperty* icalproperty_new_rrule(struct icalrecurrencetype v); |
1605 | void icalproperty_set_rrule(icalproperty* prop, struct icalrecurrencetype v); | 2158 | void icalproperty_set_rrule(icalproperty* prop, struct icalrecurrencetype v); |
1606 | struct icalrecurrencetype icalproperty_get_rrule(icalproperty* prop);icalproperty* icalproperty_vanew_scope(const char* v, ...); | 2159 | struct icalrecurrencetype icalproperty_get_rrule(const icalproperty* prop);icalproperty* icalproperty_vanew_rrule(struct icalrecurrencetype v, ...); |
1607 | 2160 | ||
1608 | /* SCOPE */ | 2161 | /* SCOPE */ |
1609 | icalproperty* icalproperty_new_scope(const char* v); | 2162 | icalproperty* icalproperty_new_scope(const char* v); |
1610 | void icalproperty_set_scope(icalproperty* prop, const char* v); | 2163 | void icalproperty_set_scope(icalproperty* prop, const char* v); |
1611 | const char* icalproperty_get_scope(icalproperty* prop);icalproperty* icalproperty_vanew_sequence(int v, ...); | 2164 | const char* icalproperty_get_scope(const icalproperty* prop);icalproperty* icalproperty_vanew_scope(const char* v, ...); |
1612 | 2165 | ||
1613 | /* SEQUENCE */ | 2166 | /* SEQUENCE */ |
1614 | icalproperty* icalproperty_new_sequence(int v); | 2167 | icalproperty* icalproperty_new_sequence(int v); |
1615 | void icalproperty_set_sequence(icalproperty* prop, int v); | 2168 | void icalproperty_set_sequence(icalproperty* prop, int v); |
1616 | int icalproperty_get_sequence(icalproperty* prop);icalproperty* icalproperty_vanew_status(enum icalproperty_status v, ...); | 2169 | int icalproperty_get_sequence(const icalproperty* prop);icalproperty* icalproperty_vanew_sequence(int v, ...); |
1617 | 2170 | ||
1618 | /* STATUS */ | 2171 | /* STATUS */ |
1619 | icalproperty* icalproperty_new_status(enum icalproperty_status v); | 2172 | icalproperty* icalproperty_new_status(enum icalproperty_status v); |
1620 | void icalproperty_set_status(icalproperty* prop, enum icalproperty_status v); | 2173 | void icalproperty_set_status(icalproperty* prop, enum icalproperty_status v); |
1621 | enum icalproperty_status icalproperty_get_status(icalproperty* prop);icalproperty* icalproperty_vanew_summary(const char* v, ...); | 2174 | enum icalproperty_status icalproperty_get_status(const icalproperty* prop);icalproperty* icalproperty_vanew_status(enum icalproperty_status v, ...); |
1622 | 2175 | ||
1623 | /* SUMMARY */ | 2176 | /* SUMMARY */ |
1624 | icalproperty* icalproperty_new_summary(const char* v); | 2177 | icalproperty* icalproperty_new_summary(const char* v); |
1625 | void icalproperty_set_summary(icalproperty* prop, const char* v); | 2178 | void icalproperty_set_summary(icalproperty* prop, const char* v); |
1626 | const char* icalproperty_get_summary(icalproperty* prop);icalproperty* icalproperty_vanew_target(const char* v, ...); | 2179 | const char* icalproperty_get_summary(const icalproperty* prop);icalproperty* icalproperty_vanew_summary(const char* v, ...); |
1627 | 2180 | ||
1628 | /* TARGET */ | 2181 | /* TARGET */ |
1629 | icalproperty* icalproperty_new_target(const char* v); | 2182 | icalproperty* icalproperty_new_target(const char* v); |
1630 | void icalproperty_set_target(icalproperty* prop, const char* v); | 2183 | void icalproperty_set_target(icalproperty* prop, const char* v); |
1631 | const char* icalproperty_get_target(icalproperty* prop);icalproperty* icalproperty_vanew_transp(const char* v, ...); | 2184 | const char* icalproperty_get_target(const icalproperty* prop);icalproperty* icalproperty_vanew_target(const char* v, ...); |
1632 | 2185 | ||
1633 | /* TRANSP */ | 2186 | /* TRANSP */ |
1634 | icalproperty* icalproperty_new_transp(const char* v); | 2187 | icalproperty* icalproperty_new_transp(enum icalproperty_transp v); |
1635 | void icalproperty_set_transp(icalproperty* prop, const char* v); | 2188 | void icalproperty_set_transp(icalproperty* prop, enum icalproperty_transp v); |
1636 | const char* icalproperty_get_transp(icalproperty* prop);icalproperty* icalproperty_vanew_trigger(struct icaltriggertype v, ...); | 2189 | enum icalproperty_transp icalproperty_get_transp(const icalproperty* prop);icalproperty* icalproperty_vanew_transp(enum icalproperty_transp v, ...); |
1637 | 2190 | ||
1638 | /* TRIGGER */ | 2191 | /* TRIGGER */ |
1639 | icalproperty* icalproperty_new_trigger(struct icaltriggertype v); | 2192 | icalproperty* icalproperty_new_trigger(struct icaltriggertype v); |
1640 | void icalproperty_set_trigger(icalproperty* prop, struct icaltriggertype v); | 2193 | void icalproperty_set_trigger(icalproperty* prop, struct icaltriggertype v); |
1641 | struct icaltriggertype icalproperty_get_trigger(icalproperty* prop);icalproperty* icalproperty_vanew_tzid(const char* v, ...); | 2194 | struct icaltriggertype icalproperty_get_trigger(const icalproperty* prop);icalproperty* icalproperty_vanew_trigger(struct icaltriggertype v, ...); |
1642 | 2195 | ||
1643 | /* TZID */ | 2196 | /* TZID */ |
1644 | icalproperty* icalproperty_new_tzid(const char* v); | 2197 | icalproperty* icalproperty_new_tzid(const char* v); |
1645 | void icalproperty_set_tzid(icalproperty* prop, const char* v); | 2198 | void icalproperty_set_tzid(icalproperty* prop, const char* v); |
1646 | const char* icalproperty_get_tzid(icalproperty* prop);icalproperty* icalproperty_vanew_tzname(const char* v, ...); | 2199 | const char* icalproperty_get_tzid(const icalproperty* prop);icalproperty* icalproperty_vanew_tzid(const char* v, ...); |
1647 | 2200 | ||
1648 | /* TZNAME */ | 2201 | /* TZNAME */ |
1649 | icalproperty* icalproperty_new_tzname(const char* v); | 2202 | icalproperty* icalproperty_new_tzname(const char* v); |
1650 | void icalproperty_set_tzname(icalproperty* prop, const char* v); | 2203 | void icalproperty_set_tzname(icalproperty* prop, const char* v); |
1651 | const char* icalproperty_get_tzname(icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetfrom(int v, ...); | 2204 | const char* icalproperty_get_tzname(const icalproperty* prop);icalproperty* icalproperty_vanew_tzname(const char* v, ...); |
1652 | 2205 | ||
1653 | /* TZOFFSETFROM */ | 2206 | /* TZOFFSETFROM */ |
1654 | icalproperty* icalproperty_new_tzoffsetfrom(int v); | 2207 | icalproperty* icalproperty_new_tzoffsetfrom(int v); |
1655 | void icalproperty_set_tzoffsetfrom(icalproperty* prop, int v); | 2208 | void icalproperty_set_tzoffsetfrom(icalproperty* prop, int v); |
1656 | int icalproperty_get_tzoffsetfrom(icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetto(int v, ...); | 2209 | int icalproperty_get_tzoffsetfrom(const icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetfrom(int v, ...); |
1657 | 2210 | ||
1658 | /* TZOFFSETTO */ | 2211 | /* TZOFFSETTO */ |
1659 | icalproperty* icalproperty_new_tzoffsetto(int v); | 2212 | icalproperty* icalproperty_new_tzoffsetto(int v); |
1660 | void icalproperty_set_tzoffsetto(icalproperty* prop, int v); | 2213 | void icalproperty_set_tzoffsetto(icalproperty* prop, int v); |
1661 | int icalproperty_get_tzoffsetto(icalproperty* prop);icalproperty* icalproperty_vanew_tzurl(const char* v, ...); | 2214 | int icalproperty_get_tzoffsetto(const icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetto(int v, ...); |
1662 | 2215 | ||
1663 | /* TZURL */ | 2216 | /* TZURL */ |
1664 | icalproperty* icalproperty_new_tzurl(const char* v); | 2217 | icalproperty* icalproperty_new_tzurl(const char* v); |
1665 | void icalproperty_set_tzurl(icalproperty* prop, const char* v); | 2218 | void icalproperty_set_tzurl(icalproperty* prop, const char* v); |
1666 | const char* icalproperty_get_tzurl(icalproperty* prop);icalproperty* icalproperty_vanew_uid(const char* v, ...); | 2219 | const char* icalproperty_get_tzurl(const icalproperty* prop);icalproperty* icalproperty_vanew_tzurl(const char* v, ...); |
1667 | 2220 | ||
1668 | /* UID */ | 2221 | /* UID */ |
1669 | icalproperty* icalproperty_new_uid(const char* v); | 2222 | icalproperty* icalproperty_new_uid(const char* v); |
1670 | void icalproperty_set_uid(icalproperty* prop, const char* v); | 2223 | void icalproperty_set_uid(icalproperty* prop, const char* v); |
1671 | const char* icalproperty_get_uid(icalproperty* prop);icalproperty* icalproperty_vanew_url(const char* v, ...); | 2224 | const char* icalproperty_get_uid(const icalproperty* prop);icalproperty* icalproperty_vanew_uid(const char* v, ...); |
1672 | 2225 | ||
1673 | /* URL */ | 2226 | /* URL */ |
1674 | icalproperty* icalproperty_new_url(const char* v); | 2227 | icalproperty* icalproperty_new_url(const char* v); |
1675 | void icalproperty_set_url(icalproperty* prop, const char* v); | 2228 | void icalproperty_set_url(icalproperty* prop, const char* v); |
1676 | const char* icalproperty_get_url(icalproperty* prop);icalproperty* icalproperty_vanew_version(const char* v, ...); | 2229 | const char* icalproperty_get_url(const icalproperty* prop);icalproperty* icalproperty_vanew_url(const char* v, ...); |
1677 | 2230 | ||
1678 | /* VERSION */ | 2231 | /* VERSION */ |
1679 | icalproperty* icalproperty_new_version(const char* v); | 2232 | icalproperty* icalproperty_new_version(const char* v); |
1680 | void icalproperty_set_version(icalproperty* prop, const char* v); | 2233 | void icalproperty_set_version(icalproperty* prop, const char* v); |
1681 | const char* icalproperty_get_version(icalproperty* prop);icalproperty* icalproperty_vanew_x(const char* v, ...); | 2234 | const char* icalproperty_get_version(const icalproperty* prop);icalproperty* icalproperty_vanew_version(const char* v, ...); |
1682 | 2235 | ||
1683 | /* X */ | 2236 | /* X */ |
1684 | icalproperty* icalproperty_new_x(const char* v); | 2237 | icalproperty* icalproperty_new_x(const char* v); |
1685 | void icalproperty_set_x(icalproperty* prop, const char* v); | 2238 | void icalproperty_set_x(icalproperty* prop, const char* v); |
1686 | const char* icalproperty_get_x(icalproperty* prop);icalproperty* icalproperty_vanew_xlicclustercount(const char* v, ...); | 2239 | const char* icalproperty_get_x(const icalproperty* prop);icalproperty* icalproperty_vanew_x(const char* v, ...); |
2240 | |||
2241 | /* X-LIC-CLASS */ | ||
2242 | icalproperty* icalproperty_new_xlicclass(enum icalproperty_xlicclass v); | ||
2243 | void icalproperty_set_xlicclass(icalproperty* prop, enum icalproperty_xlicclass v); | ||
2244 | enum icalproperty_xlicclass icalproperty_get_xlicclass(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicclass(enum icalproperty_xlicclass v, ...); | ||
1687 | 2245 | ||
1688 | /* X-LIC-CLUSTERCOUNT */ | 2246 | /* X-LIC-CLUSTERCOUNT */ |
1689 | icalproperty* icalproperty_new_xlicclustercount(const char* v); | 2247 | icalproperty* icalproperty_new_xlicclustercount(const char* v); |
1690 | void icalproperty_set_xlicclustercount(icalproperty* prop, const char* v); | 2248 | void icalproperty_set_xlicclustercount(icalproperty* prop, const char* v); |
1691 | const char* icalproperty_get_xlicclustercount(icalproperty* prop);icalproperty* icalproperty_vanew_xlicerror(const char* v, ...); | 2249 | const char* icalproperty_get_xlicclustercount(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicclustercount(const char* v, ...); |
1692 | 2250 | ||
1693 | /* X-LIC-ERROR */ | 2251 | /* X-LIC-ERROR */ |
1694 | icalproperty* icalproperty_new_xlicerror(const char* v); | 2252 | icalproperty* icalproperty_new_xlicerror(const char* v); |
1695 | void icalproperty_set_xlicerror(icalproperty* prop, const char* v); | 2253 | void icalproperty_set_xlicerror(icalproperty* prop, const char* v); |
1696 | const char* icalproperty_get_xlicerror(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecharset(const char* v, ...); | 2254 | const char* icalproperty_get_xlicerror(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicerror(const char* v, ...); |
1697 | 2255 | ||
1698 | /* X-LIC-MIMECHARSET */ | 2256 | /* X-LIC-MIMECHARSET */ |
1699 | icalproperty* icalproperty_new_xlicmimecharset(const char* v); | 2257 | icalproperty* icalproperty_new_xlicmimecharset(const char* v); |
1700 | void icalproperty_set_xlicmimecharset(icalproperty* prop, const char* v); | 2258 | void icalproperty_set_xlicmimecharset(icalproperty* prop, const char* v); |
1701 | const char* icalproperty_get_xlicmimecharset(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecid(const char* v, ...); | 2259 | const char* icalproperty_get_xlicmimecharset(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecharset(const char* v, ...); |
1702 | 2260 | ||
1703 | /* X-LIC-MIMECID */ | 2261 | /* X-LIC-MIMECID */ |
1704 | icalproperty* icalproperty_new_xlicmimecid(const char* v); | 2262 | icalproperty* icalproperty_new_xlicmimecid(const char* v); |
1705 | void icalproperty_set_xlicmimecid(icalproperty* prop, const char* v); | 2263 | void icalproperty_set_xlicmimecid(icalproperty* prop, const char* v); |
1706 | const char* icalproperty_get_xlicmimecid(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecontenttype(const char* v, ...); | 2264 | const char* icalproperty_get_xlicmimecid(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecid(const char* v, ...); |
1707 | 2265 | ||
1708 | /* X-LIC-MIMECONTENTTYPE */ | 2266 | /* X-LIC-MIMECONTENTTYPE */ |
1709 | icalproperty* icalproperty_new_xlicmimecontenttype(const char* v); | 2267 | icalproperty* icalproperty_new_xlicmimecontenttype(const char* v); |
1710 | void icalproperty_set_xlicmimecontenttype(icalproperty* prop, const char* v); | 2268 | void icalproperty_set_xlicmimecontenttype(icalproperty* prop, const char* v); |
1711 | const char* icalproperty_get_xlicmimecontenttype(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimeencoding(const char* v, ...); | 2269 | const char* icalproperty_get_xlicmimecontenttype(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecontenttype(const char* v, ...); |
1712 | 2270 | ||
1713 | /* X-LIC-MIMEENCODING */ | 2271 | /* X-LIC-MIMEENCODING */ |
1714 | icalproperty* icalproperty_new_xlicmimeencoding(const char* v); | 2272 | icalproperty* icalproperty_new_xlicmimeencoding(const char* v); |
1715 | void icalproperty_set_xlicmimeencoding(icalproperty* prop, const char* v); | 2273 | void icalproperty_set_xlicmimeencoding(icalproperty* prop, const char* v); |
1716 | const char* icalproperty_get_xlicmimeencoding(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimefilename(const char* v, ...); | 2274 | const char* icalproperty_get_xlicmimeencoding(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimeencoding(const char* v, ...); |
1717 | 2275 | ||
1718 | /* X-LIC-MIMEFILENAME */ | 2276 | /* X-LIC-MIMEFILENAME */ |
1719 | icalproperty* icalproperty_new_xlicmimefilename(const char* v); | 2277 | icalproperty* icalproperty_new_xlicmimefilename(const char* v); |
1720 | void icalproperty_set_xlicmimefilename(icalproperty* prop, const char* v); | 2278 | void icalproperty_set_xlicmimefilename(icalproperty* prop, const char* v); |
1721 | const char* icalproperty_get_xlicmimefilename(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimeoptinfo(const char* v, ...); | 2279 | const char* icalproperty_get_xlicmimefilename(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimefilename(const char* v, ...); |
1722 | 2280 | ||
1723 | /* X-LIC-MIMEOPTINFO */ | 2281 | /* X-LIC-MIMEOPTINFO */ |
1724 | icalproperty* icalproperty_new_xlicmimeoptinfo(const char* v); | 2282 | icalproperty* icalproperty_new_xlicmimeoptinfo(const char* v); |
1725 | void icalproperty_set_xlicmimeoptinfo(icalproperty* prop, const char* v); | 2283 | void icalproperty_set_xlicmimeoptinfo(icalproperty* prop, const char* v); |
1726 | const char* icalproperty_get_xlicmimeoptinfo(icalproperty* prop); | 2284 | const char* icalproperty_get_xlicmimeoptinfo(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimeoptinfo(const char* v, ...); |
1727 | |||
1728 | #endif /*ICALPROPERTY_H*/ | ||
1729 | /* -*- Mode: C -*- */ | ||
1730 | /*====================================================================== | ||
1731 | FILE: icalvalue.h | ||
1732 | CREATOR: eric 20 March 1999 | ||
1733 | |||
1734 | |||
1735 | $Id$ | ||
1736 | $Locker$ | ||
1737 | |||
1738 | |||
1739 | |||
1740 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | ||
1741 | |||
1742 | This program is free software; you can redistribute it and/or modify | ||
1743 | it under the terms of either: | ||
1744 | |||
1745 | The LGPL as published by the Free Software Foundation, version | ||
1746 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
1747 | |||
1748 | Or: | ||
1749 | |||
1750 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
1751 | the License at http://www.mozilla.org/MPL/ | ||
1752 | |||
1753 | The original code is icalvalue.h | ||
1754 | |||
1755 | ======================================================================*/ | ||
1756 | |||
1757 | #ifndef ICALVALUE_H | ||
1758 | #define ICALVALUE_H | ||
1759 | |||
1760 | #include <time.h> | ||
1761 | |||
1762 | /* Defined in icalderivedvalue.h */ | ||
1763 | /*typedef void icalvalue;*/ | ||
1764 | |||
1765 | icalvalue* icalvalue_new(icalvalue_kind kind); | ||
1766 | |||
1767 | icalvalue* icalvalue_new_clone(icalvalue* value); | ||
1768 | |||
1769 | icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str); | ||
1770 | |||
1771 | void icalvalue_free(icalvalue* value); | ||
1772 | |||
1773 | int icalvalue_is_valid(icalvalue* value); | ||
1774 | |||
1775 | const char* icalvalue_as_ical_string(icalvalue* value); | ||
1776 | |||
1777 | icalvalue_kind icalvalue_isa(icalvalue* value); | ||
1778 | |||
1779 | int icalvalue_isa_value(void*); | ||
1780 | |||
1781 | icalparameter_xliccomparetype icalvalue_compare(icalvalue* a, icalvalue *b); | ||
1782 | |||
1783 | |||
1784 | /* Special, non autogenerated value accessors */ | ||
1785 | 2285 | ||
1786 | icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); | ||
1787 | void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); | ||
1788 | struct icalrecurrencetype icalvalue_get_recur(icalvalue* value); | ||
1789 | |||
1790 | icalvalue* icalvalue_new_trigger (struct icaltriggertype v); | ||
1791 | void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); | ||
1792 | struct icaltriggertype icalvalue_get_trigger(icalvalue* value); | ||
1793 | |||
1794 | icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); | ||
1795 | void icalvalue_set_datetimeperiod(icalvalue* value, | ||
1796 | struct icaldatetimeperiodtype v); | ||
1797 | struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value); | ||
1798 | |||
1799 | /* Convert enumerations */ | ||
1800 | |||
1801 | icalvalue_kind icalvalue_string_to_kind(const char* str); | ||
1802 | const char* icalvalue_kind_to_string(icalvalue_kind kind); | ||
1803 | |||
1804 | |||
1805 | #endif /*ICALVALUE_H*/ | ||
1806 | /* -*- Mode: C -*- */ | ||
1807 | /*====================================================================== | ||
1808 | FILE: icalparam.h | ||
1809 | CREATOR: eric 20 March 1999 | ||
1810 | |||
1811 | |||
1812 | $Id$ | ||
1813 | $Locker$ | ||
1814 | |||
1815 | |||
1816 | |||
1817 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | ||
1818 | |||
1819 | This program is free software; you can redistribute it and/or modify | ||
1820 | it under the terms of either: | ||
1821 | |||
1822 | The LGPL as published by the Free Software Foundation, version | ||
1823 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
1824 | |||
1825 | Or: | ||
1826 | |||
1827 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
1828 | the License at http://www.mozilla.org/MPL/ | ||
1829 | |||
1830 | The original code is icalparam.h | ||
1831 | |||
1832 | ======================================================================*/ | ||
1833 | |||
1834 | #ifndef ICALPARAM_H | ||
1835 | #define ICALPARAM_H | ||
1836 | |||
1837 | |||
1838 | /* Declared in icalderivedparameter.h */ | ||
1839 | /*typedef void icalparameter;*/ | ||
1840 | |||
1841 | icalparameter* icalparameter_new(icalparameter_kind kind); | ||
1842 | icalparameter* icalparameter_new_clone(icalparameter* p); | ||
1843 | |||
1844 | /* Create from string of form "PARAMNAME=VALUE" */ | ||
1845 | icalparameter* icalparameter_new_from_string(const char* value); | ||
1846 | 2286 | ||
1847 | /* Create from just the value, the part after the "=" */ | 2287 | #endif /*ICALPROPERTY_H*/ |
1848 | icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind, const char* value); | ||
1849 | |||
1850 | void icalparameter_free(icalparameter* parameter); | ||
1851 | |||
1852 | char* icalparameter_as_ical_string(icalparameter* parameter); | ||
1853 | |||
1854 | int icalparameter_is_valid(icalparameter* parameter); | ||
1855 | |||
1856 | icalparameter_kind icalparameter_isa(icalparameter* parameter); | ||
1857 | |||
1858 | int icalparameter_isa_parameter(void* param); | ||
1859 | |||
1860 | /* Acess the name of an X parameer */ | ||
1861 | void icalparameter_set_xname (icalparameter* param, const char* v); | ||
1862 | const char* icalparameter_get_xname(icalparameter* param); | ||
1863 | void icalparameter_set_xvalue (icalparameter* param, const char* v); | ||
1864 | const char* icalparameter_get_xvalue(icalparameter* param); | ||
1865 | |||
1866 | /* Convert enumerations */ | ||
1867 | |||
1868 | const char* icalparameter_kind_to_string(icalparameter_kind kind); | ||
1869 | icalparameter_kind icalparameter_string_to_kind(const char* string); | ||
1870 | |||
1871 | |||
1872 | |||
1873 | #endif | ||
1874 | /* -*- Mode: C -*- */ | 2288 | /* -*- Mode: C -*- */ |
1875 | /*====================================================================== | 2289 | /*====================================================================== |
1876 | FILE: icalproperty.h | 2290 | FILE: icalproperty.h |
1877 | CREATOR: eric 20 March 1999 | 2291 | CREATOR: eric 20 March 1999 |
1878 | 2292 | ||
1879 | 2293 | ||
1880 | $Id$ | ||
1881 | $Locker$ | ||
1882 | 2294 | ||
1883 | 2295 | ||
1884 | 2296 | ||
1885 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 2297 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
1886 | 2298 | ||
1887 | This program is free software; you can redistribute it and/or modify | 2299 | This program is free software; you can redistribute it and/or modify |
@@ -1901,18 +2313,18 @@ icalparameter_kind icalparameter_string_to_kind(const char* string); | |||
1901 | 2313 | ||
1902 | 2314 | ||
1903 | #ifndef ICALPROPERTY_H | 2315 | #ifndef ICALPROPERTY_H |
1904 | #define ICALPROPERTY_H | 2316 | #define ICALPROPERTY_H |
1905 | 2317 | ||
1906 | #include <time.h> | 2318 | #include <time.h> |
1907 | 2319 | #include <stdarg.h> /* for va_... */ | |
1908 | 2320 | ||
1909 | 2321 | ||
1910 | 2322 | ||
1911 | /* Actually in icalderivedproperty.h: | 2323 | /* Actually in icalderivedproperty.h: |
1912 | typedef void icalproperty; */ | 2324 | typedef struct icalproperty_impl icalproperty; */ |
1913 | 2325 | ||
1914 | 2326 | ||
1915 | icalproperty* icalproperty_new(icalproperty_kind kind); | 2327 | icalproperty* icalproperty_new(icalproperty_kind kind); |
1916 | 2328 | ||
1917 | icalproperty* icalproperty_new_clone(icalproperty * prop); | 2329 | icalproperty* icalproperty_new_clone(icalproperty * prop); |
1918 | 2330 | ||
@@ -1922,167 +2334,123 @@ const char* icalproperty_as_ical_string(icalproperty* prop); | |||
1922 | 2334 | ||
1923 | void icalproperty_free(icalproperty* prop); | 2335 | void icalproperty_free(icalproperty* prop); |
1924 | 2336 | ||
1925 | icalproperty_kind icalproperty_isa(icalproperty* property); | 2337 | icalproperty_kind icalproperty_isa(icalproperty* property); |
1926 | int icalproperty_isa_property(void* property); | 2338 | int icalproperty_isa_property(void* property); |
1927 | 2339 | ||
2340 | void icalproperty_add_parameters(struct icalproperty_impl *prop,va_list args); | ||
1928 | void icalproperty_add_parameter(icalproperty* prop,icalparameter* parameter); | 2341 | void icalproperty_add_parameter(icalproperty* prop,icalparameter* parameter); |
1929 | void icalproperty_set_parameter(icalproperty* prop,icalparameter* parameter); | 2342 | void icalproperty_set_parameter(icalproperty* prop,icalparameter* parameter); |
1930 | void icalproperty_set_parameter_from_string(icalproperty* prop, | 2343 | void icalproperty_set_parameter_from_string(icalproperty* prop, |
1931 | const char* name, const char* value); | 2344 | const char* name, const char* value); |
1932 | const char* icalproperty_get_parameter_as_string(icalproperty* prop, | 2345 | const char* icalproperty_get_parameter_as_string(icalproperty* prop, |
1933 | const char* name); | 2346 | const char* name); |
1934 | 2347 | ||
1935 | void icalproperty_remove_parameter(icalproperty* prop, | 2348 | void icalproperty_remove_parameter(icalproperty* prop, |
1936 | icalparameter_kind kind); | 2349 | icalparameter_kind kind); |
1937 | 2350 | ||
1938 | int icalproperty_count_parameters(icalproperty* prop); | 2351 | void icalproperty_remove_parameter_by_kind(icalproperty* prop, |
2352 | icalparameter_kind kind); | ||
2353 | |||
2354 | void icalproperty_remove_parameter_by_name(icalproperty* prop, | ||
2355 | const char *name); | ||
2356 | |||
2357 | void icalproperty_remove_parameter_by_ref(icalproperty* prop, | ||
2358 | icalparameter *param); | ||
2359 | |||
2360 | |||
2361 | |||
2362 | int icalproperty_count_parameters(const icalproperty* prop); | ||
1939 | 2363 | ||
1940 | /* Iterate through the parameters */ | 2364 | /* Iterate through the parameters */ |
1941 | icalparameter* icalproperty_get_first_parameter(icalproperty* prop, | 2365 | icalparameter* icalproperty_get_first_parameter(icalproperty* prop, |
1942 | icalparameter_kind kind); | 2366 | icalparameter_kind kind); |
1943 | icalparameter* icalproperty_get_next_parameter(icalproperty* prop, | 2367 | icalparameter* icalproperty_get_next_parameter(icalproperty* prop, |
1944 | icalparameter_kind kind); | 2368 | icalparameter_kind kind); |
1945 | /* Access the value of the property */ | 2369 | /* Access the value of the property */ |
1946 | void icalproperty_set_value(icalproperty* prop, icalvalue* value); | 2370 | void icalproperty_set_value(icalproperty* prop, icalvalue* value); |
1947 | void icalproperty_set_value_from_string(icalproperty* prop,const char* value, const char* kind); | 2371 | void icalproperty_set_value_from_string(icalproperty* prop,const char* value, const char* kind); |
1948 | 2372 | ||
1949 | icalvalue* icalproperty_get_value(icalproperty* prop); | 2373 | icalvalue* icalproperty_get_value(const icalproperty* prop); |
1950 | const char* icalproperty_get_value_as_string(icalproperty* prop); | 2374 | const char* icalproperty_get_value_as_string(const icalproperty* prop); |
1951 | 2375 | ||
1952 | /* Deal with X properties */ | 2376 | /* Deal with X properties */ |
1953 | 2377 | ||
1954 | void icalproperty_set_x_name(icalproperty* prop, const char* name); | 2378 | void icalproperty_set_x_name(icalproperty* prop, const char* name); |
1955 | const char* icalproperty_get_x_name(icalproperty* prop); | 2379 | const char* icalproperty_get_x_name(icalproperty* prop); |
1956 | 2380 | ||
1957 | /* Return the name of the property -- the type name converted to a | 2381 | /** Return the name of the property -- the type name converted to a |
1958 | string, or the value of _get_x_name if the type is and X property */ | 2382 | * string, or the value of _get_x_name if the type is and X |
1959 | const char* icalproperty_get_name (icalproperty* prop); | 2383 | * property |
2384 | */ | ||
2385 | const char* icalproperty_get_property_name (const icalproperty* prop); | ||
1960 | 2386 | ||
1961 | icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value value); | 2387 | icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value value); |
1962 | 2388 | ||
1963 | /* Convert kinds to string and get default value type */ | 2389 | /* Convert kinds to string and get default value type */ |
1964 | 2390 | ||
1965 | icalvalue_kind icalproperty_kind_to_value_kind(icalproperty_kind kind); | 2391 | icalvalue_kind icalproperty_kind_to_value_kind(icalproperty_kind kind); |
1966 | icalvalue_kind icalproperty_value_kind_to_kind(icalvalue_kind kind); | 2392 | icalproperty_kind icalproperty_value_kind_to_kind(icalvalue_kind kind); |
1967 | const char* icalproperty_kind_to_string(icalproperty_kind kind); | 2393 | const char* icalproperty_kind_to_string(icalproperty_kind kind); |
1968 | icalproperty_kind icalproperty_string_to_kind(const char* string); | 2394 | icalproperty_kind icalproperty_string_to_kind(const char* string); |
1969 | 2395 | ||
2396 | /** Check validity of a specific icalproperty_kind **/ | ||
2397 | int icalproperty_kind_is_valid(const icalproperty_kind kind); | ||
2398 | |||
1970 | icalproperty_method icalproperty_string_to_method(const char* str); | 2399 | icalproperty_method icalproperty_string_to_method(const char* str); |
1971 | const char* icalproperty_method_to_string(icalproperty_method method); | 2400 | const char* icalproperty_method_to_string(icalproperty_method method); |
1972 | 2401 | ||
1973 | 2402 | ||
1974 | const char* icalproperty_enum_to_string(int e); | 2403 | const char* icalproperty_enum_to_string(int e); |
1975 | int icalproperty_string_to_enum(const char* str); | 2404 | int icalproperty_string_to_enum(const char* str); |
2405 | int icalproperty_kind_and_string_to_enum(const int kind, const char* str); | ||
1976 | 2406 | ||
1977 | const char* icalproperty_status_to_string(icalproperty_status); | 2407 | const char* icalproperty_status_to_string(icalproperty_status); |
1978 | icalproperty_status icalproperty_string_to_status(const char* string); | 2408 | icalproperty_status icalproperty_string_to_status(const char* string); |
1979 | 2409 | ||
1980 | int icalproperty_enum_belongs_to_property(icalproperty_kind kind, int e); | 2410 | int icalproperty_enum_belongs_to_property(icalproperty_kind kind, int e); |
1981 | 2411 | ||
1982 | 2412 | ||
1983 | 2413 | ||
1984 | 2414 | ||
1985 | #endif /*ICALPROPERTY_H*/ | 2415 | #endif /*ICALPROPERTY_H*/ |
1986 | /* -*- Mode: C -*- */ | ||
1987 | /*====================================================================== | ||
1988 | FILE: icalattendee.h | ||
1989 | CREATOR: eric 8 Mar 01 | ||
1990 | |||
1991 | |||
1992 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | ||
1993 | |||
1994 | This program is free software; you can redistribute it and/or modify | ||
1995 | it under the terms of either: | ||
1996 | |||
1997 | The LGPL as published by the Free Software Foundation, version | ||
1998 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
1999 | |||
2000 | Or: | ||
2001 | |||
2002 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
2003 | the License at http://www.mozilla.org/MPL/ | ||
2004 | |||
2005 | The original code is icaltypes.h | ||
2006 | |||
2007 | ======================================================================*/ | ||
2008 | |||
2009 | #ifndef ICALATTENDEE_H | ||
2010 | #define ICALATTENDEE_H | ||
2011 | |||
2012 | #include <time.h> | ||
2013 | |||
2014 | struct icalorganizertype { | ||
2015 | const char* value; | ||
2016 | const char* common_name; | ||
2017 | const char* dir; | ||
2018 | const char* sentby; | ||
2019 | const char* language; | ||
2020 | |||
2021 | }; | ||
2022 | |||
2023 | /* Create a copy of the given organizer. Libical will not own the | ||
2024 | memory for the strings in the copy; the call must free them */ | ||
2025 | struct icalorganizertype icalorganizertype_new_clone(struct icalorganizertype a); | ||
2026 | |||
2027 | |||
2028 | struct icalattendeetype { | ||
2029 | const char* cuid; /* Cal user id, contents of the property value */ | ||
2030 | /*icalparameter_cutype cutype;*/ | ||
2031 | const char* member; | ||
2032 | /*icalparameter_role role;*/ | ||
2033 | int rsvp; | ||
2034 | const char* delto; | ||
2035 | const char* delfrom; | ||
2036 | const char* sentby; | ||
2037 | const char* cn; | ||
2038 | const char* dir; | ||
2039 | const char* language; | ||
2040 | }; | ||
2041 | |||
2042 | /* Create a copy of the given attendee. Libical will not own the | ||
2043 | memory for the strings in the copy; the call must free them */ | ||
2044 | struct icalattendeetype icalattendeetype_new_clone(struct icalattendeetype a); | ||
2045 | |||
2046 | |||
2047 | #endif /* !ICALATTENDEE_H */ | ||
2048 | /*====================================================================== | 2416 | /*====================================================================== |
2049 | FILE: pvl.h | 2417 | FILE: pvl.h |
2050 | CREATOR: eric November, 1995 | 2418 | CREATOR: eric November, 1995 |
2051 | 2419 | ||
2052 | 2420 | ||
2053 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 2421 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
2054 | ======================================================================*/ | 2422 | ======================================================================*/ |
2055 | 2423 | ||
2056 | 2424 | ||
2057 | #ifndef __PVL_H__ | 2425 | #ifndef __PVL_H__ |
2058 | #define __PVL_H__ | 2426 | #define __PVL_H__ |
2059 | 2427 | ||
2060 | typedef void* pvl_list; | 2428 | typedef struct pvl_list_t* pvl_list; |
2061 | typedef void* pvl_elem; | 2429 | typedef struct pvl_elem_t* pvl_elem; |
2062 | |||
2063 | /* | ||
2064 | struct pvl_elem_t | ||
2065 | |||
2066 | This type is private. Always use pvl_elem instead. The struct would | ||
2067 | not even appear in this header except to make code in the USE_MACROS | ||
2068 | blocks work | ||
2069 | 2430 | ||
2431 | /** | ||
2432 | * This type is private. Always use pvl_elem instead. The struct would | ||
2433 | * not even appear in this header except to make code in the USE_MACROS | ||
2434 | * blocks work | ||
2070 | */ | 2435 | */ |
2436 | |||
2071 | typedef struct pvl_elem_t | 2437 | typedef struct pvl_elem_t |
2072 | { | 2438 | { |
2073 | int MAGIC; /* Magic Identifier */ | 2439 | int MAGIC; /**< Magic Identifier */ |
2074 | void *d; /* Pointer to data user is storing */ | 2440 | void *d; /**< Pointer to data user is storing */ |
2075 | struct pvl_elem_t *next;/* Next element */ | 2441 | struct pvl_elem_t *next;/**< Next element */ |
2076 | struct pvl_elem_t *prior;/* prior element */ | 2442 | struct pvl_elem_t *prior;/**< Prior element */ |
2077 | } pvl_elem_t; | 2443 | } pvl_elem_t; |
2078 | 2444 | ||
2079 | 2445 | ||
2080 | 2446 | ||
2081 | /* This global is incremented for each call to pvl_new_element(); it gives each | 2447 | /** |
2082 | * list a unique identifer */ | 2448 | * This global is incremented for each call to pvl_new_element(); it gives each |
2449 | * list a unique identifer | ||
2450 | */ | ||
2083 | 2451 | ||
2084 | extern int pvl_elem_count; | 2452 | extern int pvl_elem_count; |
2085 | extern int pvl_list_count; | 2453 | extern int pvl_list_count; |
2086 | 2454 | ||
2087 | /* Create new lists or elements */ | 2455 | /* Create new lists or elements */ |
2088 | pvl_elem pvl_new_element(void* d, pvl_elem next,pvl_elem prior); | 2456 | pvl_elem pvl_new_element(void* d, pvl_elem next,pvl_elem prior); |
@@ -2125,23 +2493,87 @@ void* pvl_data(pvl_elem); | |||
2125 | 2493 | ||
2126 | /* Find an element for which a function returns true */ | 2494 | /* Find an element for which a function returns true */ |
2127 | typedef int (*pvl_findf)(void* a, void* b); /*a is list elem, b is other data*/ | 2495 | typedef int (*pvl_findf)(void* a, void* b); /*a is list elem, b is other data*/ |
2128 | pvl_elem pvl_find(pvl_list l,pvl_findf f,void* v); | 2496 | pvl_elem pvl_find(pvl_list l,pvl_findf f,void* v); |
2129 | pvl_elem pvl_find_next(pvl_list l,pvl_findf f,void* v); | 2497 | pvl_elem pvl_find_next(pvl_list l,pvl_findf f,void* v); |
2130 | 2498 | ||
2131 | /* Pass each element in the list to a function */ | 2499 | /** |
2132 | typedef void (*pvl_applyf)(void* a, void* b); /*a is list elem, b is other data*/ | 2500 | * Pass each element in the list to a function |
2501 | * a is list elem, b is other data | ||
2502 | */ | ||
2503 | typedef void (*pvl_applyf)(void* a, void* b); | ||
2133 | void pvl_apply(pvl_list l,pvl_applyf f, void *v); | 2504 | void pvl_apply(pvl_list l,pvl_applyf f, void *v); |
2134 | 2505 | ||
2135 | 2506 | ||
2136 | #endif /* __PVL_H__ */ | 2507 | #endif /* __PVL_H__ */ |
2137 | 2508 | ||
2138 | 2509 | ||
2139 | 2510 | ||
2140 | 2511 | ||
2141 | 2512 | ||
2513 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||
2514 | /*====================================================================== | ||
2515 | FILE: icalarray.h | ||
2516 | CREATOR: Damon Chaplin 07 March 2001 | ||
2517 | |||
2518 | |||
2519 | |||
2520 | (C) COPYRIGHT 2001, Ximian, Inc. | ||
2521 | |||
2522 | This program is free software; you can redistribute it and/or modify | ||
2523 | it under the terms of either: | ||
2524 | |||
2525 | The LGPL as published by the Free Software Foundation, version | ||
2526 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
2527 | |||
2528 | Or: | ||
2529 | |||
2530 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
2531 | the License at http://www.mozilla.org/MPL/ | ||
2532 | |||
2533 | |||
2534 | ======================================================================*/ | ||
2535 | |||
2536 | |||
2537 | #ifndef ICALARRAY_H | ||
2538 | #define ICALARRAY_H | ||
2539 | |||
2540 | /** @file icalarray.h | ||
2541 | * | ||
2542 | * @brief An array of arbitrarily-sized elements which grows | ||
2543 | * dynamically as elements are added. | ||
2544 | */ | ||
2545 | |||
2546 | typedef struct _icalarray icalarray; | ||
2547 | struct _icalarray { | ||
2548 | unsigned int element_size; | ||
2549 | unsigned int increment_size; | ||
2550 | unsigned int num_elements; | ||
2551 | unsigned int space_allocated; | ||
2552 | void *data; | ||
2553 | }; | ||
2554 | |||
2555 | |||
2556 | |||
2557 | icalarray *icalarray_new (int element_size, | ||
2558 | int increment_size); | ||
2559 | void icalarray_free (icalarray*array); | ||
2560 | |||
2561 | void icalarray_append (icalarray*array, | ||
2562 | void *element); | ||
2563 | void icalarray_remove_element_at (icalarray*array, | ||
2564 | int position); | ||
2565 | |||
2566 | void *icalarray_element_at (icalarray*array, | ||
2567 | int position); | ||
2568 | |||
2569 | void icalarray_sort (icalarray*array, | ||
2570 | int (*compare) (const void *, const void *)); | ||
2571 | |||
2572 | |||
2573 | #endif /* ICALARRAY_H */ | ||
2142 | /* -*- Mode: C -*- */ | 2574 | /* -*- Mode: C -*- */ |
2143 | /*====================================================================== | 2575 | /*====================================================================== |
2144 | FILE: icalcomponent.h | 2576 | FILE: icalcomponent.h |
2145 | CREATOR: eric 20 March 1999 | 2577 | CREATOR: eric 20 March 1999 |
2146 | 2578 | ||
2147 | 2579 | ||
@@ -2163,13 +2595,22 @@ void pvl_apply(pvl_list l,pvl_applyf f, void *v); | |||
2163 | ======================================================================*/ | 2595 | ======================================================================*/ |
2164 | 2596 | ||
2165 | #ifndef ICALCOMPONENT_H | 2597 | #ifndef ICALCOMPONENT_H |
2166 | #define ICALCOMPONENT_H | 2598 | #define ICALCOMPONENT_H |
2167 | 2599 | ||
2168 | 2600 | ||
2169 | typedef void icalcomponent; | 2601 | typedef struct icalcomponent_impl icalcomponent; |
2602 | |||
2603 | #ifndef ICALTIMEZONE_DEFINED | ||
2604 | #define ICALTIMEZONE_DEFINED | ||
2605 | /** @brief An opaque struct representing a timezone. | ||
2606 | * We declare this here to avoid a circular dependancy. | ||
2607 | */ | ||
2608 | typedef struct _icaltimezone icaltimezone; | ||
2609 | #endif | ||
2610 | |||
2170 | 2611 | ||
2171 | /* This is exposed so that callers will not have to allocate and | 2612 | /* This is exposed so that callers will not have to allocate and |
2172 | deallocate iterators. Pretend that you can't see it. */ | 2613 | deallocate iterators. Pretend that you can't see it. */ |
2173 | typedef struct icalcompiter | 2614 | typedef struct icalcompiter |
2174 | { | 2615 | { |
2175 | icalcomponent_kind kind; | 2616 | icalcomponent_kind kind; |
@@ -2184,13 +2625,13 @@ icalcomponent* icalcomponent_vanew(icalcomponent_kind kind, ...); | |||
2184 | void icalcomponent_free(icalcomponent* component); | 2625 | void icalcomponent_free(icalcomponent* component); |
2185 | 2626 | ||
2186 | char* icalcomponent_as_ical_string(icalcomponent* component); | 2627 | char* icalcomponent_as_ical_string(icalcomponent* component); |
2187 | 2628 | ||
2188 | int icalcomponent_is_valid(icalcomponent* component); | 2629 | int icalcomponent_is_valid(icalcomponent* component); |
2189 | 2630 | ||
2190 | icalcomponent_kind icalcomponent_isa(icalcomponent* component); | 2631 | icalcomponent_kind icalcomponent_isa(const icalcomponent* component); |
2191 | 2632 | ||
2192 | int icalcomponent_isa_component (void* component); | 2633 | int icalcomponent_isa_component (void* component); |
2193 | 2634 | ||
2194 | /* | 2635 | /* |
2195 | * Working with properties | 2636 | * Working with properties |
2196 | */ | 2637 | */ |
@@ -2230,12 +2671,20 @@ void icalcomponent_add_component(icalcomponent* parent, | |||
2230 | void icalcomponent_remove_component(icalcomponent* parent, | 2671 | void icalcomponent_remove_component(icalcomponent* parent, |
2231 | icalcomponent* child); | 2672 | icalcomponent* child); |
2232 | 2673 | ||
2233 | int icalcomponent_count_components(icalcomponent* component, | 2674 | int icalcomponent_count_components(icalcomponent* component, |
2234 | icalcomponent_kind kind); | 2675 | icalcomponent_kind kind); |
2235 | 2676 | ||
2677 | /** | ||
2678 | This takes 2 VCALENDAR components and merges the second one into the first, | ||
2679 | resolving any problems with conflicting TZIDs. comp_to_merge will no | ||
2680 | longer exist after calling this function. */ | ||
2681 | void icalcomponent_merge_component(icalcomponent* comp, | ||
2682 | icalcomponent* comp_to_merge); | ||
2683 | |||
2684 | |||
2236 | /* Iteration Routines. There are two forms of iterators, internal and | 2685 | /* Iteration Routines. There are two forms of iterators, internal and |
2237 | external. The internal ones came first, and are almost completely | 2686 | external. The internal ones came first, and are almost completely |
2238 | sufficient, but they fail badly when you want to construct a loop that | 2687 | sufficient, but they fail badly when you want to construct a loop that |
2239 | removes components from the container.*/ | 2688 | removes components from the container.*/ |
2240 | 2689 | ||
2241 | 2690 | ||
@@ -2254,47 +2703,53 @@ icalcompiter icalcomponent_end_component(icalcomponent* component, | |||
2254 | icalcomponent_kind kind); | 2703 | icalcomponent_kind kind); |
2255 | icalcomponent* icalcompiter_next(icalcompiter* i); | 2704 | icalcomponent* icalcompiter_next(icalcompiter* i); |
2256 | icalcomponent* icalcompiter_prior(icalcompiter* i); | 2705 | icalcomponent* icalcompiter_prior(icalcompiter* i); |
2257 | icalcomponent* icalcompiter_deref(icalcompiter* i); | 2706 | icalcomponent* icalcompiter_deref(icalcompiter* i); |
2258 | 2707 | ||
2259 | 2708 | ||
2709 | /* Working with embedded error properties */ | ||
2260 | 2710 | ||
2261 | 2711 | ||
2712 | /* Check the component against itip rules and insert error properties*/ | ||
2262 | /* Working with embedded error properties */ | 2713 | /* Working with embedded error properties */ |
2714 | int icalcomponent_check_restrictions(icalcomponent* comp); | ||
2263 | 2715 | ||
2716 | /** Count embedded errors. */ | ||
2264 | int icalcomponent_count_errors(icalcomponent* component); | 2717 | int icalcomponent_count_errors(icalcomponent* component); |
2265 | 2718 | ||
2266 | /* Remove all X-LIC-ERROR properties*/ | 2719 | /** Remove all X-LIC-ERROR properties*/ |
2267 | void icalcomponent_strip_errors(icalcomponent* component); | 2720 | void icalcomponent_strip_errors(icalcomponent* component); |
2268 | 2721 | ||
2269 | /* Convert some X-LIC-ERROR properties into RETURN-STATUS properties*/ | 2722 | /** Convert some X-LIC-ERROR properties into RETURN-STATUS properties*/ |
2270 | void icalcomponent_convert_errors(icalcomponent* component); | 2723 | void icalcomponent_convert_errors(icalcomponent* component); |
2271 | 2724 | ||
2272 | /* Internal operations. They are private, and you should not be using them. */ | 2725 | /* Internal operations. They are private, and you should not be using them. */ |
2273 | icalcomponent* icalcomponent_get_parent(icalcomponent* component); | 2726 | icalcomponent* icalcomponent_get_parent(icalcomponent* component); |
2274 | void icalcomponent_set_parent(icalcomponent* component, | 2727 | void icalcomponent_set_parent(icalcomponent* component, |
2275 | icalcomponent* parent); | 2728 | icalcomponent* parent); |
2276 | 2729 | ||
2277 | /* Kind conversion routiens */ | 2730 | /* Kind conversion routines */ |
2731 | |||
2732 | int icalcomponent_kind_is_valid(const icalcomponent_kind kind); | ||
2278 | 2733 | ||
2279 | icalcomponent_kind icalcomponent_string_to_kind(const char* string); | 2734 | icalcomponent_kind icalcomponent_string_to_kind(const char* string); |
2280 | 2735 | ||
2281 | const char* icalcomponent_kind_to_string(icalcomponent_kind kind); | 2736 | const char* icalcomponent_kind_to_string(icalcomponent_kind kind); |
2282 | 2737 | ||
2283 | 2738 | ||
2284 | /************* Derived class methods. **************************** | 2739 | /************* Derived class methods. **************************** |
2285 | 2740 | ||
2286 | If the code was in an OO language, the remaining routines would be | 2741 | If the code was in an OO language, the remaining routines would be |
2287 | members of classes derived from icalcomponent. Don't call them on the | 2742 | members of classes derived from icalcomponent. Don't call them on the |
2288 | wrong component subtypes. */ | 2743 | wrong component subtypes. */ |
2289 | 2744 | ||
2290 | /* For VCOMPONENT: Return a reference to the first VEVENT, VTODO or | 2745 | /** For VCOMPONENT: Return a reference to the first VEVENT, VTODO or |
2291 | VJOURNAL */ | 2746 | VJOURNAL */ |
2292 | icalcomponent* icalcomponent_get_first_real_component(icalcomponent *c); | 2747 | icalcomponent* icalcomponent_get_first_real_component(icalcomponent *c); |
2293 | 2748 | ||
2294 | /* For VEVENT, VTODO, VJOURNAL and VTIMEZONE: report the start and end | 2749 | /** For VEVENT, VTODO, VJOURNAL and VTIMEZONE: report the start and end |
2295 | times of an event in UTC */ | 2750 | times of an event in UTC */ |
2296 | struct icaltime_span icalcomponent_get_span(icalcomponent* comp); | 2751 | struct icaltime_span icalcomponent_get_span(icalcomponent* comp); |
2297 | 2752 | ||
2298 | /******************** Convienience routines **********************/ | 2753 | /******************** Convienience routines **********************/ |
2299 | 2754 | ||
2300 | void icalcomponent_set_dtstart(icalcomponent* comp, struct icaltimetype v); | 2755 | void icalcomponent_set_dtstart(icalcomponent* comp, struct icaltimetype v); |
@@ -2310,53 +2765,76 @@ struct icaltimetype icalcomponent_get_dtstart(icalcomponent* comp); | |||
2310 | routine will create the apcompriate comperty */ | 2765 | routine will create the apcompriate comperty */ |
2311 | 2766 | ||
2312 | 2767 | ||
2313 | struct icaltimetype icalcomponent_get_dtend(icalcomponent* comp); | 2768 | struct icaltimetype icalcomponent_get_dtend(icalcomponent* comp); |
2314 | void icalcomponent_set_dtend(icalcomponent* comp, struct icaltimetype v); | 2769 | void icalcomponent_set_dtend(icalcomponent* comp, struct icaltimetype v); |
2315 | 2770 | ||
2771 | struct icaltimetype icalcomponent_get_due(icalcomponent* comp); | ||
2772 | void icalcomponent_set_due(icalcomponent* comp, struct icaltimetype v); | ||
2773 | |||
2316 | void icalcomponent_set_duration(icalcomponent* comp, | 2774 | void icalcomponent_set_duration(icalcomponent* comp, |
2317 | struct icaldurationtype v); | 2775 | struct icaldurationtype v); |
2318 | struct icaldurationtype icalcomponent_get_duration(icalcomponent* comp); | 2776 | struct icaldurationtype icalcomponent_get_duration(icalcomponent* comp); |
2319 | 2777 | ||
2320 | void icalcomponent_set_method(icalcomponent* comp, icalproperty_method method); | 2778 | void icalcomponent_set_method(icalcomponent* comp, icalproperty_method method); |
2321 | icalproperty_method icalcomponent_get_method(icalcomponent* comp); | 2779 | icalproperty_method icalcomponent_get_method(icalcomponent* comp); |
2322 | 2780 | ||
2323 | struct icaltimetype icalcomponent_get_dtstamp(icalcomponent* comp); | 2781 | struct icaltimetype icalcomponent_get_dtstamp(icalcomponent* comp); |
2324 | void icalcomponent_set_dtstamp(icalcomponent* comp, struct icaltimetype v); | 2782 | void icalcomponent_set_dtstamp(icalcomponent* comp, struct icaltimetype v); |
2325 | 2783 | ||
2326 | |||
2327 | void icalcomponent_set_summary(icalcomponent* comp, const char* v); | 2784 | void icalcomponent_set_summary(icalcomponent* comp, const char* v); |
2328 | const char* icalcomponent_get_summary(icalcomponent* comp); | 2785 | const char* icalcomponent_get_summary(icalcomponent* comp); |
2329 | 2786 | ||
2330 | void icalcomponent_set_comment(icalcomponent* comp, const char* v); | 2787 | void icalcomponent_set_comment(icalcomponent* comp, const char* v); |
2331 | const char* icalcomponent_get_comment(icalcomponent* comp); | 2788 | const char* icalcomponent_get_comment(icalcomponent* comp); |
2332 | 2789 | ||
2333 | void icalcomponent_set_uid(icalcomponent* comp, const char* v); | 2790 | void icalcomponent_set_uid(icalcomponent* comp, const char* v); |
2334 | const char* icalcomponent_get_uid(icalcomponent* comp); | 2791 | const char* icalcomponent_get_uid(icalcomponent* comp); |
2335 | 2792 | ||
2793 | void icalcomponent_set_relcalid(icalcomponent* comp, const char* v); | ||
2794 | const char* icalcomponent_get_relcalid(icalcomponent* comp); | ||
2795 | |||
2336 | void icalcomponent_set_recurrenceid(icalcomponent* comp, | 2796 | void icalcomponent_set_recurrenceid(icalcomponent* comp, |
2337 | struct icaltimetype v); | 2797 | struct icaltimetype v); |
2338 | struct icaltimetype icalcomponent_get_recurrenceid(icalcomponent* comp); | 2798 | struct icaltimetype icalcomponent_get_recurrenceid(icalcomponent* comp); |
2339 | 2799 | ||
2800 | void icalcomponent_set_description(icalcomponent* comp, const char* v); | ||
2801 | const char* icalcomponent_get_description(icalcomponent* comp); | ||
2340 | 2802 | ||
2341 | void icalcomponent_set_organizer(icalcomponent* comp, | 2803 | void icalcomponent_set_location(icalcomponent* comp, const char* v); |
2342 | struct icalorganizertype org); | 2804 | const char* icalcomponent_get_location(icalcomponent* comp); |
2343 | struct icalorganizertype icalcomponent_get_organizer(icalcomponent* comp); | ||
2344 | 2805 | ||
2806 | void icalcomponent_set_sequence(icalcomponent* comp, int v); | ||
2807 | int icalcomponent_get_sequence(icalcomponent* comp); | ||
2345 | 2808 | ||
2346 | void icalcomponent_add_attendee(icalcomponent *comp, | 2809 | void icalcomponent_set_status(icalcomponent* comp, enum icalproperty_status v); |
2347 | struct icalattendeetype attendee); | 2810 | enum icalproperty_status icalcomponent_get_status(icalcomponent* comp); |
2348 | 2811 | ||
2349 | int icalcomponent_remove_attendee(icalcomponent *comp, char* cuid); | ||
2350 | 2812 | ||
2351 | /* Get the Nth attendee. Out of range indices return an attendee | 2813 | /** Calls the given function for each TZID parameter found in the |
2352 | with cuid == 0 */ | 2814 | component, and any subcomponents. */ |
2353 | struct icalattendeetype icalcomponent_get_attendee(icalcomponent *comp, | 2815 | void icalcomponent_foreach_tzid(icalcomponent* comp, |
2354 | int index); | 2816 | void (*callback)(icalparameter *param, void *data), |
2817 | void *callback_data); | ||
2355 | 2818 | ||
2819 | /** Returns the icaltimezone in the component corresponding to the | ||
2820 | TZID, or NULL if it can't be found. */ | ||
2821 | icaltimezone* icalcomponent_get_timezone(icalcomponent* comp, | ||
2822 | const char *tzid); | ||
2356 | 2823 | ||
2824 | int icalproperty_recurrence_is_excluded(icalcomponent *comp, | ||
2825 | struct icaltimetype *dtstart, | ||
2826 | struct icaltimetype *recurtime); | ||
2827 | |||
2828 | void icalcomponent_foreach_recurrence(icalcomponent* comp, | ||
2829 | struct icaltimetype start, | ||
2830 | struct icaltimetype end, | ||
2831 | void (*callback)(icalcomponent *comp, | ||
2832 | struct icaltime_span *span, | ||
2833 | void *data), | ||
2834 | void *callback_data); | ||
2357 | 2835 | ||
2358 | 2836 | ||
2359 | /*************** Type Specific routines ***************/ | 2837 | /*************** Type Specific routines ***************/ |
2360 | 2838 | ||
2361 | icalcomponent* icalcomponent_new_vcalendar(); | 2839 | icalcomponent* icalcomponent_new_vcalendar(); |
2362 | icalcomponent* icalcomponent_new_vevent(); | 2840 | icalcomponent* icalcomponent_new_vevent(); |
@@ -2364,25 +2842,183 @@ icalcomponent* icalcomponent_new_vtodo(); | |||
2364 | icalcomponent* icalcomponent_new_vjournal(); | 2842 | icalcomponent* icalcomponent_new_vjournal(); |
2365 | icalcomponent* icalcomponent_new_valarm(); | 2843 | icalcomponent* icalcomponent_new_valarm(); |
2366 | icalcomponent* icalcomponent_new_vfreebusy(); | 2844 | icalcomponent* icalcomponent_new_vfreebusy(); |
2367 | icalcomponent* icalcomponent_new_vtimezone(); | 2845 | icalcomponent* icalcomponent_new_vtimezone(); |
2368 | icalcomponent* icalcomponent_new_xstandard(); | 2846 | icalcomponent* icalcomponent_new_xstandard(); |
2369 | icalcomponent* icalcomponent_new_xdaylight(); | 2847 | icalcomponent* icalcomponent_new_xdaylight(); |
2848 | icalcomponent* icalcomponent_new_vagenda(); | ||
2849 | icalcomponent* icalcomponent_new_vquery(); | ||
2370 | 2850 | ||
2851 | #endif /* !ICALCOMPONENT_H */ | ||
2852 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||
2853 | /*====================================================================== | ||
2854 | FILE: icaltimezone.h | ||
2855 | CREATOR: Damon Chaplin 15 March 2001 | ||
2371 | 2856 | ||
2372 | 2857 | ||
2373 | #endif /* !ICALCOMPONENT_H */ | ||
2374 | 2858 | ||
2859 | (C) COPYRIGHT 2001, Damon Chaplin | ||
2860 | |||
2861 | This program is free software; you can redistribute it and/or modify | ||
2862 | it under the terms of either: | ||
2863 | |||
2864 | The LGPL as published by the Free Software Foundation, version | ||
2865 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | ||
2866 | |||
2867 | Or: | ||
2868 | |||
2869 | The Mozilla Public License Version 1.0. You may obtain a copy of | ||
2870 | the License at http://www.mozilla.org/MPL/ | ||
2871 | |||
2872 | |||
2873 | ======================================================================*/ | ||
2874 | /** | ||
2875 | * @file icaltimezone.h | ||
2876 | * @brief timezone handling routines | ||
2877 | */ | ||
2878 | |||
2879 | #ifndef ICALTIMEZONE_H | ||
2880 | #define ICALTIMEZONE_H | ||
2881 | |||
2882 | #include <stdio.h> /* For FILE* */ | ||
2883 | |||
2884 | |||
2885 | #ifndef ICALTIMEZONE_DEFINED | ||
2886 | #define ICALTIMEZONE_DEFINED | ||
2887 | /** @brief An opaque struct representing a timezone. | ||
2888 | * We declare this here to avoid a circular dependancy. | ||
2889 | */ | ||
2890 | typedef struct _icaltimezone icaltimezone; | ||
2891 | #endif | ||
2892 | |||
2893 | /** | ||
2894 | * @par Creating/Destroying individual icaltimezones. | ||
2895 | */ | ||
2896 | |||
2897 | /** Creates a new icaltimezone. */ | ||
2898 | icaltimezone *icaltimezone_new (void); | ||
2899 | |||
2900 | /** Frees all memory used for the icaltimezone. Set free_struct to free the | ||
2901 | icaltimezone struct as well. */ | ||
2902 | void icaltimezone_free (icaltimezone *zone, | ||
2903 | int free_struct); | ||
2904 | |||
2905 | |||
2906 | /** | ||
2907 | * @par Accessing timezones. | ||
2908 | */ | ||
2909 | |||
2910 | /** Free any builtin timezone information **/ | ||
2911 | void icaltimezone_free_builtin_timezones(void); | ||
2912 | |||
2913 | /** Returns the array of builtin icaltimezones. */ | ||
2914 | icalarray* icaltimezone_get_builtin_timezones(void); | ||
2915 | |||
2916 | /** Returns a single builtin timezone, given its Olson city name. */ | ||
2917 | icaltimezone* icaltimezone_get_builtin_timezone(const char *location); | ||
2918 | |||
2919 | /** Returns a single builtin timezone, given its TZID. */ | ||
2920 | icaltimezone* icaltimezone_get_builtin_timezone_from_tzid (const char *tzid); | ||
2921 | |||
2922 | /** Returns the UTC timezone. */ | ||
2923 | icaltimezone* icaltimezone_get_utc_timezone(void); | ||
2924 | |||
2925 | /** Returns the TZID of a timezone. */ | ||
2926 | char* icaltimezone_get_tzid (icaltimezone*zone); | ||
2927 | |||
2928 | /** Returns the city name of a timezone. */ | ||
2929 | char* icaltimezone_get_location (icaltimezone*zone); | ||
2375 | 2930 | ||
2931 | /** Returns the TZNAME properties used in the latest STANDARD and DAYLIGHT | ||
2932 | components. If they are the same it will return just one, e.g. "LMT". | ||
2933 | If they are different it will format them like "EST/EDT". Note that this | ||
2934 | may also return NULL. */ | ||
2935 | char* icaltimezone_get_tznames (icaltimezone*zone); | ||
2376 | 2936 | ||
2937 | /** Returns the latitude of a builtin timezone. */ | ||
2938 | double icaltimezone_get_latitude (icaltimezone*zone); | ||
2939 | |||
2940 | /** Returns the longitude of a builtin timezone. */ | ||
2941 | double icaltimezone_get_longitude (icaltimezone*zone); | ||
2942 | |||
2943 | /** Returns the VTIMEZONE component of a timezone. */ | ||
2944 | icalcomponent* icaltimezone_get_component (icaltimezone*zone); | ||
2945 | |||
2946 | /** Sets the VTIMEZONE component of an icaltimezone, initializing the tzid, | ||
2947 | location & tzname fields. It returns 1 on success or 0 on failure, i.e. | ||
2948 | no TZID was found. */ | ||
2949 | int icaltimezone_set_component (icaltimezone*zone, | ||
2950 | icalcomponent*comp); | ||
2951 | |||
2952 | /** | ||
2953 | * @par Converting times between timezones. | ||
2954 | */ | ||
2955 | |||
2956 | void icaltimezone_convert_time (struct icaltimetype *tt, | ||
2957 | icaltimezone*from_zone, | ||
2958 | icaltimezone*to_zone); | ||
2959 | |||
2960 | |||
2961 | /** | ||
2962 | * @par Getting offsets from UTC. | ||
2963 | */ | ||
2964 | |||
2965 | /** Calculates the UTC offset of a given local time in the given | ||
2966 | timezone. It is the number of seconds to add to UTC to get local | ||
2967 | time. The is_daylight flag is set to 1 if the time is in | ||
2968 | daylight-savings time. */ | ||
2969 | int icaltimezone_get_utc_offset (icaltimezone*zone, | ||
2970 | struct icaltimetype *tt, | ||
2971 | int *is_daylight); | ||
2972 | |||
2973 | /** Calculates the UTC offset of a given UTC time in the given | ||
2974 | timezone. It is the number of seconds to add to UTC to get local | ||
2975 | time. The is_daylight flag is set to 1 if the time is in | ||
2976 | daylight-savings time. */ | ||
2977 | int icaltimezone_get_utc_offset_of_utc_time (icaltimezone*zone, | ||
2978 | struct icaltimetype *tt, | ||
2979 | int *is_daylight); | ||
2980 | |||
2981 | |||
2982 | |||
2983 | /* | ||
2984 | * Handling arrays of timezones. Mainly for internal use. | ||
2985 | */ | ||
2986 | icalarray* icaltimezone_array_new (void); | ||
2987 | |||
2988 | void icaltimezone_array_append_from_vtimezone (icalarray *timezones, | ||
2989 | icalcomponent *child); | ||
2990 | void icaltimezone_array_free (icalarray*timezones); | ||
2991 | |||
2992 | |||
2993 | /* | ||
2994 | * @par Handling the default location the timezone files | ||
2995 | */ | ||
2996 | |||
2997 | /** Set the directory to look for the zonefiles */ | ||
2998 | void set_zone_directory(char *path); | ||
2999 | |||
3000 | /** Free memory dedicated to the zonefile directory */ | ||
3001 | void free_zone_directory(void); | ||
3002 | |||
3003 | /* | ||
3004 | * @par Debugging Output. | ||
3005 | */ | ||
3006 | |||
3007 | /** Dumps information about changes in the timezone up to and including | ||
3008 | max_year. */ | ||
3009 | int icaltimezone_dump_changes (icaltimezone*zone, | ||
3010 | int max_year, | ||
3011 | FILE *fp); | ||
3012 | |||
3013 | #endif /* ICALTIMEZONE_H */ | ||
2377 | /* -*- Mode: C -*- */ | 3014 | /* -*- Mode: C -*- */ |
2378 | /*====================================================================== | 3015 | /*====================================================================== |
2379 | FILE: icalparser.h | 3016 | FILE: icalparser.h |
2380 | CREATOR: eric 20 April 1999 | 3017 | CREATOR: eric 20 April 1999 |
2381 | 3018 | ||
2382 | $Id$ | ||
2383 | 3019 | ||
2384 | 3020 | ||
2385 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 3021 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
2386 | 3022 | ||
2387 | This program is free software; you can redistribute it and/or modify | 3023 | This program is free software; you can redistribute it and/or modify |
2388 | it under the terms of either: | 3024 | it under the terms of either: |
@@ -2403,22 +3039,23 @@ icalcomponent* icalcomponent_new_xdaylight(); | |||
2403 | #ifndef ICALPARSER_H | 3039 | #ifndef ICALPARSER_H |
2404 | #define ICALPARSER_H | 3040 | #define ICALPARSER_H |
2405 | 3041 | ||
2406 | 3042 | ||
2407 | #include <stdio.h> /* For FILE* */ | 3043 | #include <stdio.h> /* For FILE* */ |
2408 | 3044 | ||
2409 | typedef void* icalparser; | 3045 | typedef struct icalparser_impl icalparser; |
2410 | 3046 | ||
2411 | 3047 | ||
2412 | /*********************************************************************** | 3048 | /** |
2413 | * Line-oriented parsing. | 3049 | * @file icalparser.h |
3050 | * @brief Line-oriented parsing. | ||
2414 | * | 3051 | * |
2415 | * Create a new parser via icalparse_new_parser, then add ines one at | 3052 | * Create a new parser via icalparse_new_parser, then add lines one at |
2416 | * a time with icalparse_add_line(). icalparser_add_line() will return | 3053 | * a time with icalparse_add_line(). icalparser_add_line() will return |
2417 | * non-zero when it has finished with a component. | 3054 | * non-zero when it has finished with a component. |
2418 | ***********************************************************************/ | 3055 | */ |
2419 | 3056 | ||
2420 | typedef enum icalparser_state { | 3057 | typedef enum icalparser_state { |
2421 | ICALPARSER_ERROR, | 3058 | ICALPARSER_ERROR, |
2422 | ICALPARSER_SUCCESS, | 3059 | ICALPARSER_SUCCESS, |
2423 | ICALPARSER_BEGIN_COMP, | 3060 | ICALPARSER_BEGIN_COMP, |
2424 | ICALPARSER_END_COMP, | 3061 | ICALPARSER_END_COMP, |
@@ -2429,52 +3066,52 @@ icalparser* icalparser_new(void); | |||
2429 | icalcomponent* icalparser_add_line(icalparser* parser, char* str ); | 3066 | icalcomponent* icalparser_add_line(icalparser* parser, char* str ); |
2430 | icalcomponent* icalparser_clean(icalparser* parser); | 3067 | icalcomponent* icalparser_clean(icalparser* parser); |
2431 | icalparser_state icalparser_get_state(icalparser* parser); | 3068 | icalparser_state icalparser_get_state(icalparser* parser); |
2432 | void icalparser_free(icalparser* parser); | 3069 | void icalparser_free(icalparser* parser); |
2433 | 3070 | ||
2434 | 3071 | ||
2435 | /*********************************************************************** | 3072 | /** |
2436 | * Message oriented parsing. icalparser_parse takes a string that | 3073 | * Message oriented parsing. icalparser_parse takes a string that |
2437 | * holds the text ( in RFC 2445 format ) and returns a pointer to an | 3074 | * holds the text ( in RFC 2445 format ) and returns a pointer to an |
2438 | * icalcomponent. The caller owns the memory. line_gen_func is a | 3075 | * icalcomponent. The caller owns the memory. line_gen_func is a |
2439 | * pointer to a function that returns one content line per invocation | 3076 | * pointer to a function that returns one content line per invocation |
2440 | **********************************************************************/ | 3077 | */ |
2441 | 3078 | ||
2442 | icalcomponent* icalparser_parse(icalparser *parser, | 3079 | icalcomponent* icalparser_parse(icalparser *parser, |
2443 | char* (*line_gen_func)(char *s, size_t size, void *d)); | 3080 | char* (*line_gen_func)(char *s, size_t size, void *d)); |
2444 | 3081 | ||
2445 | /* Set the data that icalparser_parse will give to the line_gen_func | 3082 | /** |
2446 | as the parameter 'd'*/ | 3083 | Set the data that icalparser_parse will give to the line_gen_func |
3084 | as the parameter 'd' | ||
3085 | */ | ||
2447 | void icalparser_set_gen_data(icalparser* parser, void* data); | 3086 | void icalparser_set_gen_data(icalparser* parser, void* data); |
2448 | 3087 | ||
2449 | 3088 | ||
2450 | icalcomponent* icalparser_parse_string(const char* str); | 3089 | icalcomponent* icalparser_parse_string(const char* str); |
2451 | 3090 | ||
2452 | 3091 | ||
2453 | /*********************************************************************** | 3092 | /*********************************************************************** |
2454 | * Parser support functions | 3093 | * Parser support functions |
2455 | ***********************************************************************/ | 3094 | ***********************************************************************/ |
2456 | 3095 | ||
2457 | /* Use the flex/bison parser to turn a string into a value type */ | 3096 | /** Use the flex/bison parser to turn a string into a value type */ |
2458 | icalvalue* icalparser_parse_value(icalvalue_kind kind, | 3097 | icalvalue* icalparser_parse_value(icalvalue_kind kind, |
2459 | const char* str, icalcomponent** errors); | 3098 | const char* str, icalcomponent** errors); |
2460 | 3099 | ||
2461 | /* Given a line generator function, return a single iCal content line.*/ | 3100 | /** Given a line generator function, return a single iCal content line.*/ |
2462 | char* icalparser_get_line(icalparser* parser, char* (*line_gen_func)(char *s, size_t size, void *d)); | 3101 | char* icalparser_get_line(icalparser* parser, char* (*line_gen_func)(char *s, size_t size, void *d)); |
2463 | 3102 | ||
2464 | char* string_line_generator(char *out, size_t buf_size, void *d); | 3103 | char* icalparser_string_line_generator(char *out, size_t buf_size, void *d); |
2465 | 3104 | ||
2466 | #endif /* !ICALPARSE_H */ | 3105 | #endif /* !ICALPARSE_H */ |
2467 | /* -*- Mode: C -*- */ | 3106 | /* -*- Mode: C -*- */ |
2468 | /*====================================================================== | 3107 | /*====================================================================== |
2469 | FILE: icalmemory.h | 3108 | FILE: icalmemory.h |
2470 | CREATOR: eric 30 June 1999 | 3109 | CREATOR: eric 30 June 1999 |
2471 | 3110 | ||
2472 | 3111 | ||
2473 | $Id$ | ||
2474 | $Locker$ | ||
2475 | 3112 | ||
2476 | This program is free software; you can redistribute it and/or modify | 3113 | This program is free software; you can redistribute it and/or modify |
2477 | it under the terms of either: | 3114 | it under the terms of either: |
2478 | 3115 | ||
2479 | The LGPL as published by the Free Software Foundation, version | 3116 | The LGPL as published by the Free Software Foundation, version |
2480 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html | 3117 | 2.1, available at: http://www.fsf.org/copyleft/lesser.html |
@@ -2489,37 +3126,41 @@ char* string_line_generator(char *out, size_t buf_size, void *d); | |||
2489 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 3126 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
2490 | ======================================================================*/ | 3127 | ======================================================================*/ |
2491 | 3128 | ||
2492 | #ifndef ICALMEMORY_H | 3129 | #ifndef ICALMEMORY_H |
2493 | #define ICALMEMORY_H | 3130 | #define ICALMEMORY_H |
2494 | 3131 | ||
3132 | #ifndef WIN32 | ||
2495 | #include <sys/types.h> /* for size_t */ | 3133 | #include <sys/types.h> /* for size_t */ |
2496 | 3134 | #else | |
3135 | #include <stddef.h> | ||
3136 | #endif | ||
2497 | 3137 | ||
2498 | /* Tmp buffers are managed by ical. References can be returned to the | 3138 | /* Tmp buffers are managed by ical. References can be returned to the |
2499 | caller, although the caller will not own the memory. */ | 3139 | caller, although the caller will not own the memory. */ |
2500 | 3140 | ||
2501 | void* icalmemory_tmp_buffer(size_t size); | 3141 | void* icalmemory_tmp_buffer(size_t size); |
2502 | char* icalmemory_tmp_copy(const char* str); | 3142 | char* icalmemory_tmp_copy(const char* str); |
2503 | 3143 | ||
2504 | /* Add an externally allocated buffer to the ring. */ | 3144 | /** Add an externally allocated buffer to the ring. */ |
2505 | void icalmemory_add_tmp_buffer(void*); | 3145 | void icalmemory_add_tmp_buffer(void*); |
2506 | 3146 | ||
2507 | 3147 | ||
2508 | /* Free all memory used in the ring */ | 3148 | /** Free all memory used in the ring */ |
2509 | void icalmemory_free_ring(void); | 3149 | void icalmemory_free_ring(void); |
2510 | 3150 | ||
2511 | /* Non-tmp buffers must be freed. These are mostly wrappers around | 3151 | /* Non-tmp buffers must be freed. These are mostly wrappers around |
2512 | * malloc, etc, but are used so the caller can change the memory | 3152 | * malloc, etc, but are used so the caller can change the memory |
2513 | * allocators in a future version of the library */ | 3153 | * allocators in a future version of the library */ |
2514 | 3154 | ||
2515 | void* icalmemory_new_buffer(size_t size); | 3155 | void* icalmemory_new_buffer(size_t size); |
2516 | void* icalmemory_resize_buffer(void* buf, size_t size); | 3156 | void* icalmemory_resize_buffer(void* buf, size_t size); |
2517 | void icalmemory_free_buffer(void* buf); | 3157 | void icalmemory_free_buffer(void* buf); |
2518 | 3158 | ||
2519 | /* icalmemory_append_string will copy the string 'string' to the | 3159 | /** |
3160 | icalmemory_append_string will copy the string 'string' to the | ||
2520 | buffer 'buf' starting at position 'pos', reallocing 'buf' if it is | 3161 | buffer 'buf' starting at position 'pos', reallocing 'buf' if it is |
2521 | too small. 'buf_size' is the size of 'buf' and will be changed if | 3162 | too small. 'buf_size' is the size of 'buf' and will be changed if |
2522 | 'buf' is reallocated. 'pos' will point to the last byte of the new | 3163 | 'buf' is reallocated. 'pos' will point to the last byte of the new |
2523 | string in 'buf', usually a '\0' */ | 3164 | string in 'buf', usually a '\0' */ |
2524 | 3165 | ||
2525 | /* THESE ROUTINES CAN NOT BE USED ON TMP BUFFERS. Only use them on | 3166 | /* THESE ROUTINES CAN NOT BE USED ON TMP BUFFERS. Only use them on |
@@ -2529,30 +3170,29 @@ void icalmemory_free_buffer(void* buf); | |||
2529 | buffer on the ring, the ring will loose track of it an you will | 3170 | buffer on the ring, the ring will loose track of it an you will |
2530 | have memory problems. */ | 3171 | have memory problems. */ |
2531 | 3172 | ||
2532 | void icalmemory_append_string(char** buf, char** pos, size_t* buf_size, | 3173 | void icalmemory_append_string(char** buf, char** pos, size_t* buf_size, |
2533 | const char* string); | 3174 | const char* string); |
2534 | 3175 | ||
2535 | /* icalmemory_append_char is similar, but is appends a character instead of a string */ | 3176 | /** icalmemory_append_char is similar, but is appends a character instead of a string */ |
2536 | void icalmemory_append_char(char** buf, char** pos, size_t* buf_size, | 3177 | void icalmemory_append_char(char** buf, char** pos, size_t* buf_size, |
2537 | char ch); | 3178 | char ch); |
2538 | 3179 | ||
2539 | /* A wrapper around strdup. Partly to trap calls to strdup, partly | 3180 | /** A wrapper around strdup. Partly to trap calls to strdup, partly |
2540 | because in -ansi, gcc on Red Hat claims that strudup is undeclared */ | 3181 | because in -ansi, gcc on Red Hat claims that strdup is undeclared */ |
2541 | char* icalmemory_strdup(const char *s); | 3182 | char* icalmemory_strdup(const char *s); |
2542 | 3183 | ||
2543 | #endif /* !ICALMEMORY_H */ | 3184 | #endif /* !ICALMEMORY_H */ |
2544 | 3185 | ||
2545 | 3186 | ||
2546 | 3187 | ||
2547 | /* -*- Mode: C -*- */ | 3188 | /* -*- Mode: C -*- */ |
2548 | /*====================================================================== | 3189 | /*====================================================================== |
2549 | FILE: icalerror.h | 3190 | FILE: icalerror.h |
2550 | CREATOR: eric 09 May 1999 | 3191 | CREATOR: eric 09 May 1999 |
2551 | 3192 | ||
2552 | $Id$ | ||
2553 | 3193 | ||
2554 | 3194 | ||
2555 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 3195 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
2556 | 3196 | ||
2557 | This program is free software; you can redistribute it and/or modify | 3197 | This program is free software; you can redistribute it and/or modify |
2558 | it under the terms of either: | 3198 | it under the terms of either: |
@@ -2575,57 +3215,60 @@ char* icalmemory_strdup(const char *s); | |||
2575 | 3215 | ||
2576 | #include <assert.h> | 3216 | #include <assert.h> |
2577 | #include <stdio.h> /* For icalerror_warn() */ | 3217 | #include <stdio.h> /* For icalerror_warn() */ |
2578 | 3218 | ||
2579 | 3219 | ||
2580 | #ifdef HAVE_CONFIG_H | 3220 | #ifdef HAVE_CONFIG_H |
2581 | #include "config.h" | ||
2582 | #endif | 3221 | #endif |
2583 | 3222 | ||
2584 | #define ICAL_SETERROR_ISFUNC | 3223 | #define ICAL_SETERROR_ISFUNC |
2585 | 3224 | ||
2586 | 3225 | ||
2587 | /* This routine is called before any error is triggered. It is called | 3226 | /** This routine is called before any error is triggered. It is called |
2588 | by icalerror_set_errno, so it does not appear in all of the macros | 3227 | by icalerror_set_errno, so it does not appear in all of the macros |
2589 | below */ | 3228 | below */ |
2590 | void icalerror_stop_here(void); | 3229 | void icalerror_stop_here(void); |
2591 | 3230 | ||
2592 | void icalerror_crash_here(void); | 3231 | void icalerror_crash_here(void); |
2593 | 3232 | ||
2594 | typedef enum icalerrorenum { | 3233 | typedef enum icalerrorenum { |
2595 | 3234 | ICAL_NO_ERROR, /* icalerrno may not be initialized - put it first so and pray that the compiler initialize things to zero */ | |
2596 | ICAL_BADARG_ERROR, | 3235 | ICAL_BADARG_ERROR, |
2597 | ICAL_NEWFAILED_ERROR, | 3236 | ICAL_NEWFAILED_ERROR, |
2598 | ICAL_ALLOCATION_ERROR, | 3237 | ICAL_ALLOCATION_ERROR, |
2599 | ICAL_MALFORMEDDATA_ERROR, | 3238 | ICAL_MALFORMEDDATA_ERROR, |
2600 | ICAL_PARSE_ERROR, | 3239 | ICAL_PARSE_ERROR, |
2601 | ICAL_INTERNAL_ERROR, /* Like assert --internal consist. prob */ | 3240 | ICAL_INTERNAL_ERROR, /* Like assert --internal consist. prob */ |
2602 | ICAL_FILE_ERROR, | 3241 | ICAL_FILE_ERROR, |
2603 | ICAL_USAGE_ERROR, | 3242 | ICAL_USAGE_ERROR, |
2604 | ICAL_UNIMPLEMENTED_ERROR, | 3243 | ICAL_UNIMPLEMENTED_ERROR, |
2605 | ICAL_UNKNOWN_ERROR, /* Used for problems in input to icalerror_strerror()*/ | 3244 | ICAL_UNKNOWN_ERROR /* Used for problems in input to icalerror_strerror()*/ |
2606 | ICAL_NO_ERROR | ||
2607 | 3245 | ||
2608 | } icalerrorenum; | 3246 | } icalerrorenum; |
2609 | 3247 | ||
2610 | /* The libical error enumeration, like errno*/ | 3248 | icalerrorenum * icalerrno_return(void); |
2611 | extern icalerrorenum icalerrno; | 3249 | #define icalerrno (*(icalerrno_return())) |
2612 | 3250 | ||
2613 | /* If true, libicl aborts after a call to icalerror_set_error*/ | 3251 | /** If true, libicl aborts after a call to icalerror_set_error |
3252 | * | ||
3253 | * @warning NOT THREAD SAFE -- recommended that you do not change | ||
3254 | * this in a multithreaded program. | ||
3255 | */ | ||
2614 | extern int icalerror_errors_are_fatal; | 3256 | extern int icalerror_errors_are_fatal; |
2615 | 3257 | ||
2616 | /* Warning messages */ | 3258 | /* Warning messages */ |
2617 | 3259 | ||
2618 | #ifdef __GNUC__ca | 3260 | #ifdef __GNUC__ca |
2619 | #define icalerror_warn(message) {fprintf(stderr,"%s(), %s:%d: %s\n",__FUNCTION__,__FILE__,__LINE__,message);} | 3261 | #define icalerror_warn(message) {fprintf(stderr,"%s(), %s:%d: %s\n",__FUNCTION__,__FILE__,__LINE__,message);} |
2620 | #else /* __GNU_C__ */ | 3262 | #else /* __GNU_C__ */ |
2621 | #define icalerror_warn(message) {fprintf(stderr,"%s:%d: %s\n",__FILE__,__LINE__,message);} | 3263 | #define icalerror_warn(message) {fprintf(stderr,"%s:%d: %s\n",__FILE__,__LINE__,message);} |
2622 | #endif /* __GNU_C__ */ | 3264 | #endif /* __GNU_C__ */ |
2623 | 3265 | ||
2624 | 3266 | ||
2625 | void icalerror_clear_errno(void); | 3267 | void icalerror_clear_errno(void); |
3268 | void _icalerror_set_errno(icalerrorenum); | ||
2626 | 3269 | ||
2627 | /* Make an individual error fatal or non-fatal. */ | 3270 | /* Make an individual error fatal or non-fatal. */ |
2628 | typedef enum icalerrorstate { | 3271 | typedef enum icalerrorstate { |
2629 | ICAL_ERROR_FATAL, /* Not fata */ | 3272 | ICAL_ERROR_FATAL, /* Not fata */ |
2630 | ICAL_ERROR_NONFATAL, /* Fatal */ | 3273 | ICAL_ERROR_NONFATAL, /* Fatal */ |
2631 | ICAL_ERROR_DEFAULT, /* Use the value of icalerror_errors_are_fatal*/ | 3274 | ICAL_ERROR_DEFAULT, /* Use the value of icalerror_errors_are_fatal*/ |
@@ -2644,13 +3287,13 @@ if(icalerror_get_error_state(x)==ICAL_ERROR_FATAL || \ | |||
2644 | (icalerror_get_error_state(x)==ICAL_ERROR_DEFAULT && \ | 3287 | (icalerror_get_error_state(x)==ICAL_ERROR_DEFAULT && \ |
2645 | icalerror_errors_are_fatal == 1 )){ \ | 3288 | icalerror_errors_are_fatal == 1 )){ \ |
2646 | icalerror_warn(icalerror_strerror(x)); \ | 3289 | icalerror_warn(icalerror_strerror(x)); \ |
2647 | assert(0); \ | 3290 | assert(0); \ |
2648 | } | 3291 | } |
2649 | #else | 3292 | #else |
2650 | void icalerror_set_errno(icalerrorenum); | 3293 | void icalerror_set_errno(icalerrorenum x); |
2651 | #endif | 3294 | #endif |
2652 | 3295 | ||
2653 | #ifdef ICAL_ERRORS_ARE_FATAL | 3296 | #ifdef ICAL_ERRORS_ARE_FATAL |
2654 | #undef NDEBUG | 3297 | #undef NDEBUG |
2655 | #endif | 3298 | #endif |
2656 | 3299 | ||
@@ -2702,13 +3345,12 @@ void icalerror_restore(const char* error, icalerrorstate es); | |||
2702 | 3345 | ||
2703 | /* -*- Mode: C -*- */ | 3346 | /* -*- Mode: C -*- */ |
2704 | /*====================================================================== | 3347 | /*====================================================================== |
2705 | FILE: icalrestriction.h | 3348 | FILE: icalrestriction.h |
2706 | CREATOR: eric 24 April 1999 | 3349 | CREATOR: eric 24 April 1999 |
2707 | 3350 | ||
2708 | $Id$ | ||
2709 | 3351 | ||
2710 | 3352 | ||
2711 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 3353 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
2712 | 3354 | ||
2713 | This program is free software; you can redistribute it and/or modify | 3355 | This program is free software; you can redistribute it and/or modify |
2714 | it under the terms of either: | 3356 | it under the terms of either: |
@@ -2763,14 +3405,12 @@ int icalrestriction_check(icalcomponent* comp); | |||
2763 | 3405 | ||
2764 | /* -*- Mode: C -*- | 3406 | /* -*- Mode: C -*- |
2765 | ====================================================================== | 3407 | ====================================================================== |
2766 | FILE: sspm.h Mime Parser | 3408 | FILE: sspm.h Mime Parser |
2767 | CREATOR: eric 25 June 2000 | 3409 | CREATOR: eric 25 June 2000 |
2768 | 3410 | ||
2769 | $Id$ | ||
2770 | $Locker$ | ||
2771 | 3411 | ||
2772 | The contents of this file are subject to the Mozilla Public License | 3412 | The contents of this file are subject to the Mozilla Public License |
2773 | Version 1.0 (the "License"); you may not use this file except in | 3413 | Version 1.0 (the "License"); you may not use this file except in |
2774 | compliance with the License. You may obtain a copy of the License at | 3414 | compliance with the License. You may obtain a copy of the License at |
2775 | http://www.mozilla.org/MPL/ | 3415 | http://www.mozilla.org/MPL/ |
2776 | 3416 | ||
@@ -2907,14 +3547,12 @@ int sspm_write_mime(struct sspm_part *parts,size_t num_parts, | |||
2907 | /* -*- Mode: C -*- */ | 3547 | /* -*- Mode: C -*- */ |
2908 | /*====================================================================== | 3548 | /*====================================================================== |
2909 | FILE: icalmime.h | 3549 | FILE: icalmime.h |
2910 | CREATOR: eric 26 July 2000 | 3550 | CREATOR: eric 26 July 2000 |
2911 | 3551 | ||
2912 | 3552 | ||
2913 | $Id$ | ||
2914 | $Locker$ | ||
2915 | 3553 | ||
2916 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org | 3554 | (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org |
2917 | 3555 | ||
2918 | This program is free software; you can redistribute it and/or modify | 3556 | This program is free software; you can redistribute it and/or modify |
2919 | it under the terms of either: | 3557 | it under the terms of either: |
2920 | 3558 | ||
@@ -2949,14 +3587,12 @@ char* icalmime_as_mime_string(char* component); | |||
2949 | ====================================================================== | 3587 | ====================================================================== |
2950 | FILE: icallangbind.h | 3588 | FILE: icallangbind.h |
2951 | CREATOR: eric 25 jan 2001 | 3589 | CREATOR: eric 25 jan 2001 |
2952 | 3590 | ||
2953 | DESCRIPTION: | 3591 | DESCRIPTION: |
2954 | 3592 | ||
2955 | $Id$ | ||
2956 | $Locker$ | ||
2957 | 3593 | ||
2958 | (C) COPYRIGHT 1999 Eric Busboom | 3594 | (C) COPYRIGHT 1999 Eric Busboom |
2959 | http://www.softwarestudio.org | 3595 | http://www.softwarestudio.org |
2960 | 3596 | ||
2961 | This package is free software and is provided "as is" without | 3597 | This package is free software and is provided "as is" without |
2962 | express or implied warranty. It may be used, redistributed and/or | 3598 | express or implied warranty. It may be used, redistributed and/or |
@@ -2985,12 +3621,20 @@ icalproperty* icallangbind_get_next_property(icalcomponent *c, | |||
2985 | icalcomponent* icallangbind_get_first_component(icalcomponent *c, | 3621 | icalcomponent* icallangbind_get_first_component(icalcomponent *c, |
2986 | const char* comp); | 3622 | const char* comp); |
2987 | 3623 | ||
2988 | icalcomponent* icallangbind_get_next_component(icalcomponent *c, | 3624 | icalcomponent* icallangbind_get_next_component(icalcomponent *c, |
2989 | const char* comp); | 3625 | const char* comp); |
2990 | 3626 | ||
3627 | icalparameter* icallangbind_get_first_parameter(icalproperty *prop); | ||
3628 | |||
3629 | icalparameter* icallangbind_get_next_parameter(icalproperty *prop); | ||
2991 | 3630 | ||
2992 | const char* icallangbind_property_eval_string(icalproperty* prop, char* sep); | 3631 | const char* icallangbind_property_eval_string(icalproperty* prop, char* sep); |
2993 | 3632 | ||
2994 | 3633 | ||
2995 | int icallangbind_string_to_open_flag(const char* str); | 3634 | int icallangbind_string_to_open_flag(const char* str); |
3635 | |||
3636 | const char* icallangbind_quote_as_ical(const char* str); | ||
2996 | #endif /*__ICALLANGBIND_H__*/ | 3637 | #endif /*__ICALLANGBIND_H__*/ |
3638 | #ifdef __cplusplus | ||
3639 | }; | ||
3640 | #endif | ||