summaryrefslogtreecommitdiffabout
path: root/libical/src/libical/ical.h
Unidiff
Diffstat (limited to 'libical/src/libical/ical.h') (more/less context) (show whitespace changes)
-rw-r--r--libical/src/libical/ical.h2056
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
2extern "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() */
42struct icaltime_span { 232struct 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
238typedef 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 */
49struct icaltimetype 246struct 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*/ 264typedef struct icaltimetype icaltimetype;
66struct 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.
69time_t icaltime_as_timet(struct icaltimetype); 267 This time represent the beginning of the epoch */
268struct 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 */ 271struct icaltimetype icaltime_null_date(void);
73char* icaltime_as_ical_string(struct icaltimetype tt); 272
273/** Returns the current time in the given timezone, as an icaltimetype. */
274struct icaltimetype icaltime_current_time_with_zone(const icaltimezone *zone);
275
276/** Returns the current day as an icaltimetype, with is_date set. */
277struct 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 */ 280struct icaltimetype icaltime_from_timet(const time_t v, const int is_date);
77struct 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. */
80int icaltime_as_int(struct icaltimetype); 283struct 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 */
83struct icaltimetype icaltime_from_string(const char* str); 287struct 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 290struct icaltimetype icaltime_from_string_with_zone(const char* str,
87 indicating the date for which you want the offset */ 291 const icaltimezone *zone);
88int 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. */ 294struct icaltimetype icaltime_from_day_of_year(const int doy,
92struct 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).
96struct icaltimetype icaltime_as_zone(struct icaltimetype tt, 298 * Create a new time from a weeknumber and a year. */
97 const char* tzid); 299struct 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 */
100struct icaltimetype icaltime_null_time(void); 303time_t icaltime_as_timet(const struct icaltimetype);
304
305/** Return the time as seconds past the UNIX epoch, using timezones. */
306time_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 */
311const char* icaltime_as_ical_string(const struct icaltimetype tt);
312
313/** @brief Return the timezone */
314const icaltimezone *icaltime_get_timezone(const struct icaltimetype t);
315
316/** @brief Return the tzid, or NULL for a floating time */
317char *icaltime_get_tzid(const struct icaltimetype t);
318
319/** @brief Set the timezone */
320struct 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 */
103int icaltime_is_null_time(struct icaltimetype t); 324int 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 */
327int 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. */
331int icaltime_start_doy_of_week(const struct icaltimetype t);
332
333/** Return the week number for the week the given time is within */
334int icaltime_week_number(const struct icaltimetype t);
335
336/** Return true of the time is null. */
337int 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. */
108int icaltime_is_valid_time(struct icaltimetype t); 342int 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 345int 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. */
115struct 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 */
118short icaltime_day_of_year(struct icaltimetype t); 348int 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 */
121struct icaltimetype icaltime_from_day_of_year(short doy, short year); 351int 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 */
124short icaltime_day_of_week(struct icaltimetype t); 354int 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. */ 358int icaltime_compare(const struct icaltimetype a,
128short 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. */
131char* icaltime_as_ctime(struct icaltimetype); 362int 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. */
134short icaltime_week_number(struct icaltimetype t); 366void 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. */
137struct icaltimetype icaltime_from_week_number(short week_number, short year); 370struct 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
140int icaltime_compare(struct icaltimetype a,struct icaltimetype b); 373 time is already UTC. */
374struct 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 */
143int icaltime_compare_date_only(struct icaltimetype a, struct icaltimetype b); 378int icaltime_days_in_month(const int month, const int year);
144 379
145/* Return the number of days in the given month */
146short icaltime_days_in_month(short month,short year);
147 380
381/** @brief calculate an icaltimespan given a start and end time. */
382struct 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 **/
387int 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 */
393int 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
195struct icaldurationtype icaldurationtype_from_int(int t); 440struct icaldurationtype icaldurationtype_from_int(int t);
196struct icaldurationtype icaldurationtype_from_string(const char*); 441struct icaldurationtype icaldurationtype_from_string(const char*);
197int icaldurationtype_as_int(struct icaldurationtype duration); 442int icaldurationtype_as_int(struct icaldurationtype duration);
198char* icaldurationtype_as_ical_string(struct icaldurationtype d); 443char* icaldurationtype_as_ical_string(struct icaldurationtype d);
199struct icaldurationtype icaldurationtype_null_duration(); 444struct icaldurationtype icaldurationtype_null_duration(void);
445struct icaldurationtype icaldurationtype_bad_duration(void);
200int icaldurationtype_is_null_duration(struct icaldurationtype d); 446int icaldurationtype_is_null_duration(struct icaldurationtype d);
447int icaldurationtype_is_bad_duration(struct icaldurationtype d);
201 448
202struct icaltimetype icaltime_add(struct icaltimetype t, 449struct icaltimetype icaltime_add(struct icaltimetype t,
203 struct icaldurationtype d); 450 struct icaldurationtype d);
204 451
205struct icaldurationtype icaltime_subtract(struct icaltimetype t1, 452struct 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
251struct icalperiodtype icalperiodtype_from_string (const char* str); 496struct icalperiodtype icalperiodtype_from_string (const char* str);
252 497
253const char* icalperiodtype_as_ical_string(struct icalperiodtype p); 498const char* icalperiodtype_as_ical_string(struct icalperiodtype p);
254struct icalperiodtype icalperiodtype_null_period();
255int icalperiodtype_is_null_period(struct icalperiodtype p);
256int icalperiodtype_is_valid_period(struct icalperiodtype p);
257 499
500struct icalperiodtype icalperiodtype_null_period(void);
258 501
502int icalperiodtype_is_null_period(struct icalperiodtype p);
259 503
504int 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
373const char* icalenum_reqstat_desc(icalrequeststatus stat); 625const char* icalenum_reqstat_desc(icalrequeststatus stat);
374short icalenum_reqstat_major(icalrequeststatus stat); 626short icalenum_reqstat_major(icalrequeststatus stat);
375short icalenum_reqstat_minor(icalrequeststatus stat); 627short icalenum_reqstat_minor(icalrequeststatus stat);
376icalrequeststatus icalenum_num_to_reqstat(short major, short minor); 628icalrequeststatus icalenum_num_to_reqstat(short major, short minor);
629char* 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... */
452struct 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
469struct icalattachtype* icalattachtype_new(void);
470void icalattachtype_add_reference(struct icalattachtype* v);
471void icalattachtype_free(struct icalattachtype* v);
472
473void icalattachtype_set_url(struct icalattachtype* v, char* url);
474char* icalattachtype_get_url(struct icalattachtype* v);
475
476void icalattachtype_set_base64(struct icalattachtype* v, char* base64,
477 int owns);
478char* icalattachtype_get_base64(struct icalattachtype* v);
479
480void icalattachtype_set_binary(struct icalattachtype* v, char* binary,
481 int owns);
482void* icalattachtype_get_binary(struct icalattachtype* v);
483
484struct icalgeotype 704struct 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
498struct icaltriggertype 718struct icaltriggertype
499{ 719{
500 struct icaltimetype time; 720 struct icaltimetype time;
501 struct icaldurationtype duration; 721 struct icaldurationtype duration;
502}; 722};
503 723
724struct icaltriggertype icaltriggertype_from_int(const int reltime);
504struct icaltriggertype icaltriggertype_from_string(const char* str); 725struct icaltriggertype icaltriggertype_from_string(const char* str);
505 726
506int icaltriggertype_is_null_trigger(struct icaltriggertype tr); 727int icaltriggertype_is_null_trigger(struct icaltriggertype tr);
728int 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,
509but don't try to free either of them. The "desc" string is a pointer 731but don't try to free either of them. The "desc" string is a pointer
510to a static table inside the library. Don't try to free it. The 732to 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
512into to icalreqstattype_from_string. Don't try to free it either, and 734into 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
575How to use: 802How to use:
576 803
5771) Get a rule and a start time from a component 8041) 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
586Or, just make them up: 816Or, 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
5902) Create an iterator 8232) 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
5943) Iterator over the occurrences 8303) 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
601Note that that the time returned by icalrecur_iterator_next is in 840Note that that the time returned by icalrecur_iterator_next is in
602whatever timezone that dtstart is in. 841whatever 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
615typedef enum icalrecurrencetype_frequency 854typedef 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 */
666struct icalrecurrencetype 907struct 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
700void icalrecurrencetype_clear(struct icalrecurrencetype *r); 941void icalrecurrencetype_clear(struct icalrecurrencetype *r);
701 942
702/* The 'day' element of the by_day array is encoded to allow 943/**
703representation of both the day of the week ( Monday, Tueday), but also 944 * Array Encoding
704the Nth day of the week ( First tuesday of the month, last thursday of 945 *
705the 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. */
708enum icalrecurrencetype_weekday icalrecurrencetype_day_day_of_week(short day); 953enum 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 */
711short icalrecurrencetype_day_position(short day); 956int 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. */
719struct icalrecurrencetype icalrecurrencetype_from_string(const char* str); 962struct icalrecurrencetype icalrecurrencetype_from_string(const char* str);
720char* icalrecurrencetype_as_string(struct icalrecurrencetype *recur); 963char* icalrecurrencetype_as_string(struct icalrecurrencetype *recur);
721 964
722 965
723/********** recurrence iteration routines ********************/ 966/** Recurrence iteration routines */
724 967
725typedef void icalrecur_iterator; 968typedef struct icalrecur_iterator_impl icalrecur_iterator;
726 969
727/* Create a new recurrence rule iterator */ 970/** Create a new recurrence rule iterator */
728icalrecur_iterator* icalrecur_iterator_new(struct icalrecurrencetype rule, 971icalrecur_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 */
732struct icaltimetype icalrecur_iterator_next(icalrecur_iterator*); 975struct icaltimetype icalrecur_iterator_next(icalrecur_iterator*);
733 976
734/* Free the iterator */ 977void icalrecur_iterator_decrement_count(icalrecur_iterator*);
978
979/** Free the iterator */
735void icalrecur_iterator_free(icalrecur_iterator*); 980void 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 */
739int icalrecur_expand_recurrence(char* rule, time_t start, 986int 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
1018typedef struct icalattach_impl icalattach;
1019
1020typedef void (* icalattach_free_fn_t) (unsigned char *data, void *user_data);
1021
1022icalattach *icalattach_new_from_url (const char *url);
1023icalattach *icalattach_new_from_data (unsigned char *data,
1024 icalattach_free_fn_t free_fn, void *free_fn_data);
1025
1026void icalattach_ref (icalattach *attach);
1027void icalattach_unref (icalattach *attach);
1028
1029int icalattach_get_is_url (icalattach *attach);
1030const char *icalattach_get_url (icalattach *attach);
1031unsigned char *icalattach_get_data (icalattach *attach);
1032
1033struct icalattachtype* icalattachtype_new(void);
1034void icalattachtype_add_reference(struct icalattachtype* v);
1035void icalattachtype_free(struct icalattachtype* v);
1036
1037void icalattachtype_set_url(struct icalattachtype* v, char* url);
1038char* icalattachtype_get_url(struct icalattachtype* v);
1039
1040void icalattachtype_set_base64(struct icalattachtype* v, char* base64,
1041 int owns);
1042char* icalattachtype_get_base64(struct icalattachtype* v);
1043
1044void icalattachtype_set_binary(struct icalattachtype* v, char* binary,
1045 int owns);
1046void* 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
776typedef void icalvalue; 1081typedef struct icalvalue_impl icalvalue;
777 1082
778 1083
779 1084
780void icalvalue_set_x(icalvalue* value, const char* v); 1085void icalvalue_set_x(icalvalue* value, const char* v);
781icalvalue* icalvalue_new_x(const char* v); 1086icalvalue* icalvalue_new_x(const char* v);
782const char* icalvalue_get_x(icalvalue* value); 1087const char* icalvalue_get_x(const icalvalue* value);
783
784icalvalue* icalvalue_new_attach (struct icalattachtype* v);
785void icalvalue_set_attach(icalvalue* value, struct icalattachtype* v);
786struct icalattachtype* icalvalue_get_attach(icalvalue* value);
787 1088
788icalvalue* icalvalue_new_recur (struct icalrecurrencetype v); 1089icalvalue* icalvalue_new_recur (struct icalrecurrencetype v);
789void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v); 1090void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v);
790struct icalrecurrencetype icalvalue_get_recur(icalvalue* value); 1091struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value);
791 1092
792icalvalue* icalvalue_new_trigger (struct icaltriggertype v); 1093icalvalue* icalvalue_new_trigger (struct icaltriggertype v);
793void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v); 1094void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v);
794struct icaltriggertype icalvalue_get_trigger(icalvalue* value); 1095struct icaltriggertype icalvalue_get_trigger(const icalvalue* value);
795 1096
796icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v); 1097icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v);
797void icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v); 1098void icalvalue_set_datetimeperiod(icalvalue* value, struct icaldatetimeperiodtype v);
798struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value); 1099struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value);
1100
1101icalvalue *icalvalue_new_attach (icalattach *attach);
1102void icalvalue_set_attach (icalvalue *value, icalattach *attach);
1103icalattach *icalvalue_get_attach (const icalvalue *value);
799 1104
800void icalvalue_reset_kind(icalvalue* value); 1105void icalvalue_reset_kind(icalvalue* value);
801 1106
802/* Everything below this line is machine generated. Do not edit. */
803typedef enum icalvalue_kind { 1107typedef 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
836typedef enum icalproperty_action { 1141typedef 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
886typedef enum icalproperty_transp { 1191typedef 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 1200typedef 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 */
897icalvalue* icalvalue_new_query(const char* v); 1236icalvalue* icalvalue_new_query(const char* v);
898const char* icalvalue_get_query(icalvalue* value); 1237const char* icalvalue_get_query(const icalvalue* value);
899void icalvalue_set_query(icalvalue* value, const char* v); 1238void icalvalue_set_query(icalvalue* value, const char* v);
900 1239
901 1240
1241 /* DATE */
1242icalvalue* icalvalue_new_date(struct icaltimetype v);
1243struct icaltimetype icalvalue_get_date(const icalvalue* value);
1244void icalvalue_set_date(icalvalue* value, struct icaltimetype v);
1245
1246
1247 /* GEO */
1248icalvalue* icalvalue_new_geo(struct icalgeotype v);
1249struct icalgeotype icalvalue_get_geo(const icalvalue* value);
1250void icalvalue_set_geo(icalvalue* value, struct icalgeotype v);
1251
1252
902 /* STATUS */ 1253 /* STATUS */
903icalvalue* icalvalue_new_status(enum icalproperty_status v); 1254icalvalue* icalvalue_new_status(enum icalproperty_status v);
904enum icalproperty_status icalvalue_get_status(icalvalue* value); 1255enum icalproperty_status icalvalue_get_status(const icalvalue* value);
905void icalvalue_set_status(icalvalue* value, enum icalproperty_status v); 1256void icalvalue_set_status(icalvalue* value, enum icalproperty_status v);
906 1257
907 1258
908 /* TRANSP */ 1259 /* TRANSP */
909icalvalue* icalvalue_new_transp(enum icalproperty_transp v); 1260icalvalue* icalvalue_new_transp(enum icalproperty_transp v);
910enum icalproperty_transp icalvalue_get_transp(icalvalue* value); 1261enum icalproperty_transp icalvalue_get_transp(const icalvalue* value);
911void icalvalue_set_transp(icalvalue* value, enum icalproperty_transp v); 1262void icalvalue_set_transp(icalvalue* value, enum icalproperty_transp v);
912 1263
913 1264
914 /* CLASS */ 1265 /* STRING */
915icalvalue* icalvalue_new_class(enum icalproperty_class v); 1266icalvalue* icalvalue_new_string(const char* v);
916enum icalproperty_class icalvalue_get_class(icalvalue* value); 1267const char* icalvalue_get_string(const icalvalue* value);
917void icalvalue_set_class(icalvalue* value, enum icalproperty_class v); 1268void icalvalue_set_string(icalvalue* value, const char* v);
918 1269
919 1270
920 /* DATE */ 1271 /* TEXT */
921icalvalue* icalvalue_new_date(struct icaltimetype v); 1272icalvalue* icalvalue_new_text(const char* v);
922struct icaltimetype icalvalue_get_date(icalvalue* value); 1273const char* icalvalue_get_text(const icalvalue* value);
923void icalvalue_set_date(icalvalue* value, struct icaltimetype v); 1274void icalvalue_set_text(icalvalue* value, const char* v);
924 1275
925 1276
926 /* STRING */ 1277 /* REQUEST-STATUS */
927icalvalue* icalvalue_new_string(const char* v); 1278icalvalue* icalvalue_new_requeststatus(struct icalreqstattype v);
928const char* icalvalue_get_string(icalvalue* value); 1279struct icalreqstattype icalvalue_get_requeststatus(const icalvalue* value);
929void icalvalue_set_string(icalvalue* value, const char* v); 1280void icalvalue_set_requeststatus(icalvalue* value, struct icalreqstattype v);
930 1281
931 1282
932 /* INTEGER */ 1283 /* BINARY */
933icalvalue* icalvalue_new_integer(int v); 1284icalvalue* icalvalue_new_binary(const char* v);
934int icalvalue_get_integer(icalvalue* value); 1285const char* icalvalue_get_binary(const icalvalue* value);
935void icalvalue_set_integer(icalvalue* value, int v); 1286void icalvalue_set_binary(icalvalue* value, const char* v);
936 1287
937 1288
938 /* PERIOD */ 1289 /* PERIOD */
939icalvalue* icalvalue_new_period(struct icalperiodtype v); 1290icalvalue* icalvalue_new_period(struct icalperiodtype v);
940struct icalperiodtype icalvalue_get_period(icalvalue* value); 1291struct icalperiodtype icalvalue_get_period(const icalvalue* value);
941void icalvalue_set_period(icalvalue* value, struct icalperiodtype v); 1292void icalvalue_set_period(icalvalue* value, struct icalperiodtype v);
942 1293
943 1294
944 /* TEXT */ 1295 /* FLOAT */
945icalvalue* icalvalue_new_text(const char* v); 1296icalvalue* icalvalue_new_float(float v);
946const char* icalvalue_get_text(icalvalue* value); 1297float icalvalue_get_float(const icalvalue* value);
947void icalvalue_set_text(icalvalue* value, const char* v); 1298void icalvalue_set_float(icalvalue* value, float v);
948 1299
949 1300
950 /* DURATION */ 1301 /* INTEGER */
951icalvalue* icalvalue_new_duration(struct icaldurationtype v); 1302icalvalue* icalvalue_new_integer(int v);
952struct icaldurationtype icalvalue_get_duration(icalvalue* value); 1303int icalvalue_get_integer(const icalvalue* value);
953void icalvalue_set_duration(icalvalue* value, struct icaldurationtype v); 1304void icalvalue_set_integer(icalvalue* value, int v);
954 1305
955 1306
956 /* BOOLEAN */ 1307 /* CLASS */
957icalvalue* icalvalue_new_boolean(int v); 1308icalvalue* icalvalue_new_class(enum icalproperty_class v);
958int icalvalue_get_boolean(icalvalue* value); 1309enum icalproperty_class icalvalue_get_class(const icalvalue* value);
959void icalvalue_set_boolean(icalvalue* value, int v); 1310void icalvalue_set_class(icalvalue* value, enum icalproperty_class v);
960 1311
961 1312
962 /* URI */ 1313 /* URI */
963icalvalue* icalvalue_new_uri(const char* v); 1314icalvalue* icalvalue_new_uri(const char* v);
964const char* icalvalue_get_uri(icalvalue* value); 1315const char* icalvalue_get_uri(const icalvalue* value);
965void icalvalue_set_uri(icalvalue* value, const char* v); 1316void icalvalue_set_uri(icalvalue* value, const char* v);
966 1317
967 1318
968 /* GEO */ 1319 /* DURATION */
969icalvalue* icalvalue_new_geo(struct icalgeotype v); 1320icalvalue* icalvalue_new_duration(struct icaldurationtype v);
970struct icalgeotype icalvalue_get_geo(icalvalue* value); 1321struct icaldurationtype icalvalue_get_duration(const icalvalue* value);
971void icalvalue_set_geo(icalvalue* value, struct icalgeotype v); 1322void icalvalue_set_duration(icalvalue* value, struct icaldurationtype v);
972 1323
973 1324
974 /* DATE-TIME */ 1325 /* BOOLEAN */
975icalvalue* icalvalue_new_datetime(struct icaltimetype v); 1326icalvalue* icalvalue_new_boolean(int v);
976struct icaltimetype icalvalue_get_datetime(icalvalue* value); 1327int icalvalue_get_boolean(const icalvalue* value);
977void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v); 1328void icalvalue_set_boolean(icalvalue* value, int v);
978 1329
979 1330
980 /* UTC-OFFSET */ 1331 /* CAL-ADDRESS */
981icalvalue* icalvalue_new_utcoffset(int v); 1332icalvalue* icalvalue_new_caladdress(const char* v);
982int icalvalue_get_utcoffset(icalvalue* value); 1333const char* icalvalue_get_caladdress(const icalvalue* value);
983void icalvalue_set_utcoffset(icalvalue* value, int v); 1334void icalvalue_set_caladdress(icalvalue* value, const char* v);
1335
1336
1337 /* X-LIC-CLASS */
1338icalvalue* icalvalue_new_xlicclass(enum icalproperty_xlicclass v);
1339enum icalproperty_xlicclass icalvalue_get_xlicclass(const icalvalue* value);
1340void icalvalue_set_xlicclass(icalvalue* value, enum icalproperty_xlicclass v);
984 1341
985 1342
986 /* ACTION */ 1343 /* ACTION */
987icalvalue* icalvalue_new_action(enum icalproperty_action v); 1344icalvalue* icalvalue_new_action(enum icalproperty_action v);
988enum icalproperty_action icalvalue_get_action(icalvalue* value); 1345enum icalproperty_action icalvalue_get_action(const icalvalue* value);
989void icalvalue_set_action(icalvalue* value, enum icalproperty_action v); 1346void icalvalue_set_action(icalvalue* value, enum icalproperty_action v);
990 1347
991 1348
992 /* CAL-ADDRESS */ 1349 /* DATE-TIME */
993icalvalue* icalvalue_new_caladdress(const char* v); 1350icalvalue* icalvalue_new_datetime(struct icaltimetype v);
994const char* icalvalue_get_caladdress(icalvalue* value); 1351struct icaltimetype icalvalue_get_datetime(const icalvalue* value);
995void icalvalue_set_caladdress(icalvalue* value, const char* v); 1352void icalvalue_set_datetime(icalvalue* value, struct icaltimetype v);
996
997
998 /* FLOAT */
999icalvalue* icalvalue_new_float(float v);
1000float icalvalue_get_float(icalvalue* value);
1001void icalvalue_set_float(icalvalue* value, float v);
1002 1353
1003 1354
1004 /* REQUEST-STATUS */ 1355 /* UTC-OFFSET */
1005icalvalue* icalvalue_new_requeststatus(struct icalreqstattype v); 1356icalvalue* icalvalue_new_utcoffset(int v);
1006struct icalreqstattype icalvalue_get_requeststatus(icalvalue* value); 1357int icalvalue_get_utcoffset(const icalvalue* value);
1007void icalvalue_set_requeststatus(icalvalue* value, struct icalreqstattype v); 1358void icalvalue_set_utcoffset(icalvalue* value, int v);
1008 1359
1009 1360
1010 /* METHOD */ 1361 /* METHOD */
1011icalvalue* icalvalue_new_method(enum icalproperty_method v); 1362icalvalue* icalvalue_new_method(enum icalproperty_method v);
1012enum icalproperty_method icalvalue_get_method(icalvalue* value); 1363enum icalproperty_method icalvalue_get_method(const icalvalue* value);
1013void icalvalue_set_method(icalvalue* value, enum icalproperty_method v); 1364void icalvalue_set_method(icalvalue* value, enum icalproperty_method v);
1014 1365
1015
1016 /* BINARY */
1017icalvalue* icalvalue_new_binary(const char* v);
1018const char* icalvalue_get_binary(icalvalue* value);
1019void 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
1054typedef void icalparameter; 1397typedef struct icalparameter_impl icalparameter;
1055 1398
1056const char* icalparameter_enum_to_string(int e); 1399const char* icalparameter_enum_to_string(int e);
1057int icalparameter_string_to_enum(const char* str); 1400int icalparameter_string_to_enum(const char* str);
1058 1401
1059/* Everything below this line is machine generated. Do not edit. */
1060typedef enum icalparameter_kind { 1402typedef 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
1197typedef enum icalparameter_xlicerrortype { 1541typedef 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 */
1213icalparameter* icalparameter_new_delegatedfrom(const char* v); 1558icalparameter* icalparameter_new_language(const char* v);
1214const char* icalparameter_get_delegatedfrom(icalparameter* value); 1559const char* icalparameter_get_language(const icalparameter* value);
1215void icalparameter_set_delegatedfrom(icalparameter* value, const char* v); 1560void icalparameter_set_language(icalparameter* value, const char* v);
1216
1217/* DELEGATED-TO */
1218icalparameter* icalparameter_new_delegatedto(const char* v);
1219const char* icalparameter_get_delegatedto(icalparameter* value);
1220void icalparameter_set_delegatedto(icalparameter* value, const char* v);
1221
1222/* RANGE */
1223icalparameter* icalparameter_new_range(icalparameter_range v);
1224icalparameter_range icalparameter_get_range(icalparameter* value);
1225void icalparameter_set_range(icalparameter* value, icalparameter_range v);
1226
1227/* ENCODING */
1228icalparameter* icalparameter_new_encoding(icalparameter_encoding v);
1229icalparameter_encoding icalparameter_get_encoding(icalparameter* value);
1230void icalparameter_set_encoding(icalparameter* value, icalparameter_encoding v);
1231
1232/* RSVP */
1233icalparameter* icalparameter_new_rsvp(icalparameter_rsvp v);
1234icalparameter_rsvp icalparameter_get_rsvp(icalparameter* value);
1235void icalparameter_set_rsvp(icalparameter* value, icalparameter_rsvp v);
1236 1561
1237/* PARTSTAT */ 1562/* DIR */
1238icalparameter* icalparameter_new_partstat(icalparameter_partstat v); 1563icalparameter* icalparameter_new_dir(const char* v);
1239icalparameter_partstat icalparameter_get_partstat(icalparameter* value); 1564const char* icalparameter_get_dir(const icalparameter* value);
1240void icalparameter_set_partstat(icalparameter* value, icalparameter_partstat v); 1565void icalparameter_set_dir(icalparameter* value, const char* v);
1241 1566
1242/* RELTYPE */ 1567/* RELTYPE */
1243icalparameter* icalparameter_new_reltype(icalparameter_reltype v); 1568icalparameter* icalparameter_new_reltype(icalparameter_reltype v);
1244icalparameter_reltype icalparameter_get_reltype(icalparameter* value); 1569icalparameter_reltype icalparameter_get_reltype(const icalparameter* value);
1245void icalparameter_set_reltype(icalparameter* value, icalparameter_reltype v); 1570void icalparameter_set_reltype(icalparameter* value, icalparameter_reltype v);
1246 1571
1247/* CUTYPE */
1248icalparameter* icalparameter_new_cutype(icalparameter_cutype v);
1249icalparameter_cutype icalparameter_get_cutype(icalparameter* value);
1250void icalparameter_set_cutype(icalparameter* value, icalparameter_cutype v);
1251
1252/* MEMBER */
1253icalparameter* icalparameter_new_member(const char* v);
1254const char* icalparameter_get_member(icalparameter* value);
1255void icalparameter_set_member(icalparameter* value, const char* v);
1256
1257/* FMTTYPE */ 1572/* FMTTYPE */
1258icalparameter* icalparameter_new_fmttype(const char* v); 1573icalparameter* icalparameter_new_fmttype(const char* v);
1259const char* icalparameter_get_fmttype(icalparameter* value); 1574const char* icalparameter_get_fmttype(const icalparameter* value);
1260void icalparameter_set_fmttype(icalparameter* value, const char* v); 1575void icalparameter_set_fmttype(icalparameter* value, const char* v);
1261 1576
1262/* SENT-BY */ 1577/* TZID */
1263icalparameter* icalparameter_new_sentby(const char* v); 1578icalparameter* icalparameter_new_tzid(const char* v);
1264const char* icalparameter_get_sentby(icalparameter* value); 1579const char* icalparameter_get_tzid(const icalparameter* value);
1265void icalparameter_set_sentby(icalparameter* value, const char* v); 1580void icalparameter_set_tzid(icalparameter* value, const char* v);
1581
1582/* RANGE */
1583icalparameter* icalparameter_new_range(icalparameter_range v);
1584icalparameter_range icalparameter_get_range(const icalparameter* value);
1585void icalparameter_set_range(icalparameter* value, icalparameter_range v);
1586
1587/* DELEGATED-TO */
1588icalparameter* icalparameter_new_delegatedto(const char* v);
1589const char* icalparameter_get_delegatedto(const icalparameter* value);
1590void icalparameter_set_delegatedto(icalparameter* value, const char* v);
1591
1592/* CN */
1593icalparameter* icalparameter_new_cn(const char* v);
1594const char* icalparameter_get_cn(const icalparameter* value);
1595void icalparameter_set_cn(icalparameter* value, const char* v);
1266 1596
1267/* VALUE */ 1597/* VALUE */
1268icalparameter* icalparameter_new_value(icalparameter_value v); 1598icalparameter* icalparameter_new_value(icalparameter_value v);
1269icalparameter_value icalparameter_get_value(icalparameter* value); 1599icalparameter_value icalparameter_get_value(const icalparameter* value);
1270void icalparameter_set_value(icalparameter* value, icalparameter_value v); 1600void icalparameter_set_value(icalparameter* value, icalparameter_value v);
1271 1601
1272/* ALTREP */ 1602/* X-LIC-COMPARETYPE */
1273icalparameter* icalparameter_new_altrep(const char* v); 1603icalparameter* icalparameter_new_xliccomparetype(icalparameter_xliccomparetype v);
1274const char* icalparameter_get_altrep(icalparameter* value); 1604icalparameter_xliccomparetype icalparameter_get_xliccomparetype(const icalparameter* value);
1275void icalparameter_set_altrep(icalparameter* value, const char* v); 1605void icalparameter_set_xliccomparetype(icalparameter* value, icalparameter_xliccomparetype v);
1276 1606
1277/* DIR */ 1607/* X */
1278icalparameter* icalparameter_new_dir(const char* v); 1608icalparameter* icalparameter_new_x(const char* v);
1279const char* icalparameter_get_dir(icalparameter* value); 1609const char* icalparameter_get_x(const icalparameter* value);
1280void icalparameter_set_dir(icalparameter* value, const char* v); 1610void icalparameter_set_x(icalparameter* value, const char* v);
1281 1611
1282/* RELATED */ 1612/* SENT-BY */
1283icalparameter* icalparameter_new_related(icalparameter_related v); 1613icalparameter* icalparameter_new_sentby(const char* v);
1284icalparameter_related icalparameter_get_related(icalparameter* value); 1614const char* icalparameter_get_sentby(const icalparameter* value);
1285void icalparameter_set_related(icalparameter* value, icalparameter_related v); 1615void icalparameter_set_sentby(icalparameter* value, const char* v);
1286 1616
1287/* CN */ 1617/* MEMBER */
1288icalparameter* icalparameter_new_cn(const char* v); 1618icalparameter* icalparameter_new_member(const char* v);
1289const char* icalparameter_get_cn(icalparameter* value); 1619const char* icalparameter_get_member(const icalparameter* value);
1290void icalparameter_set_cn(icalparameter* value, const char* v); 1620void icalparameter_set_member(icalparameter* value, const char* v);
1621
1622/* RSVP */
1623icalparameter* icalparameter_new_rsvp(icalparameter_rsvp v);
1624icalparameter_rsvp icalparameter_get_rsvp(const icalparameter* value);
1625void icalparameter_set_rsvp(icalparameter* value, icalparameter_rsvp v);
1626
1627/* CUTYPE */
1628icalparameter* icalparameter_new_cutype(icalparameter_cutype v);
1629icalparameter_cutype icalparameter_get_cutype(const icalparameter* value);
1630void icalparameter_set_cutype(icalparameter* value, icalparameter_cutype v);
1291 1631
1292/* X-LIC-ERRORTYPE */ 1632/* X-LIC-ERRORTYPE */
1293icalparameter* icalparameter_new_xlicerrortype(icalparameter_xlicerrortype v); 1633icalparameter* icalparameter_new_xlicerrortype(icalparameter_xlicerrortype v);
1294icalparameter_xlicerrortype icalparameter_get_xlicerrortype(icalparameter* value); 1634icalparameter_xlicerrortype icalparameter_get_xlicerrortype(const icalparameter* value);
1295void icalparameter_set_xlicerrortype(icalparameter* value, icalparameter_xlicerrortype v); 1635void icalparameter_set_xlicerrortype(icalparameter* value, icalparameter_xlicerrortype v);
1296 1636
1297/* X */ 1637/* RELATED */
1298icalparameter* icalparameter_new_x(const char* v); 1638icalparameter* icalparameter_new_related(icalparameter_related v);
1299const char* icalparameter_get_x(icalparameter* value); 1639icalparameter_related icalparameter_get_related(const icalparameter* value);
1300void icalparameter_set_x(icalparameter* value, const char* v); 1640void icalparameter_set_related(icalparameter* value, icalparameter_related v);
1301 1641
1302/* LANGUAGE */ 1642/* ENCODING */
1303icalparameter* icalparameter_new_language(const char* v); 1643icalparameter* icalparameter_new_encoding(icalparameter_encoding v);
1304const char* icalparameter_get_language(icalparameter* value); 1644icalparameter_encoding icalparameter_get_encoding(const icalparameter* value);
1305void icalparameter_set_language(icalparameter* value, const char* v); 1645void icalparameter_set_encoding(icalparameter* value, icalparameter_encoding v);
1306 1646
1307/* ROLE */ 1647/* ALTREP */
1308icalparameter* icalparameter_new_role(icalparameter_role v); 1648icalparameter* icalparameter_new_altrep(const char* v);
1309icalparameter_role icalparameter_get_role(icalparameter* value); 1649const char* icalparameter_get_altrep(const icalparameter* value);
1310void icalparameter_set_role(icalparameter* value, icalparameter_role v); 1650void icalparameter_set_altrep(icalparameter* value, const char* v);
1311 1651
1312/* X-LIC-COMPARETYPE */ 1652/* DELEGATED-FROM */
1313icalparameter* icalparameter_new_xliccomparetype(icalparameter_xliccomparetype v); 1653icalparameter* icalparameter_new_delegatedfrom(const char* v);
1314icalparameter_xliccomparetype icalparameter_get_xliccomparetype(icalparameter* value); 1654const char* icalparameter_get_delegatedfrom(const icalparameter* value);
1315void icalparameter_set_xliccomparetype(icalparameter* value, icalparameter_xliccomparetype v); 1655void icalparameter_set_delegatedfrom(icalparameter* value, const char* v);
1316 1656
1317/* FBTYPE */ 1657/* FBTYPE */
1318icalparameter* icalparameter_new_fbtype(icalparameter_fbtype v); 1658icalparameter* icalparameter_new_fbtype(icalparameter_fbtype v);
1319icalparameter_fbtype icalparameter_get_fbtype(icalparameter* value); 1659icalparameter_fbtype icalparameter_get_fbtype(const icalparameter* value);
1320void icalparameter_set_fbtype(icalparameter* value, icalparameter_fbtype v); 1660void icalparameter_set_fbtype(icalparameter* value, icalparameter_fbtype v);
1321 1661
1322/* TZID */ 1662/* ROLE */
1323icalparameter* icalparameter_new_tzid(const char* v); 1663icalparameter* icalparameter_new_role(icalparameter_role v);
1324const char* icalparameter_get_tzid(icalparameter* value); 1664icalparameter_role icalparameter_get_role(const icalparameter* value);
1325void icalparameter_set_tzid(icalparameter* value, const char* v); 1665void icalparameter_set_role(icalparameter* value, icalparameter_role v);
1666
1667/* PARTSTAT */
1668icalparameter* icalparameter_new_partstat(icalparameter_partstat v);
1669icalparameter_partstat icalparameter_get_partstat(const icalparameter* value);
1670void 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
1707icalvalue* icalvalue_new(icalvalue_kind kind);
1708
1709icalvalue* icalvalue_new_clone(const icalvalue* value);
1710
1711icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str);
1712
1713void icalvalue_free(icalvalue* value);
1714
1715int icalvalue_is_valid(const icalvalue* value);
1716
1717const char* icalvalue_as_ical_string(const icalvalue* value);
1718
1719icalvalue_kind icalvalue_isa(const icalvalue* value);
1720
1721int icalvalue_isa_value(void*);
1722
1723icalparameter_xliccomparetype icalvalue_compare(const icalvalue* a, const icalvalue *b);
1724
1725
1726/* Special, non autogenerated value accessors */
1727
1728icalvalue* icalvalue_new_recur (struct icalrecurrencetype v);
1729void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v);
1730struct icalrecurrencetype icalvalue_get_recur(const icalvalue* value);
1731
1732icalvalue* icalvalue_new_trigger (struct icaltriggertype v);
1733void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v);
1734struct icaltriggertype icalvalue_get_trigger(const icalvalue* value);
1735
1736icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v);
1737void icalvalue_set_datetimeperiod(icalvalue* value,
1738 struct icaldatetimeperiodtype v);
1739struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(const icalvalue* value);
1740
1741/* Convert enumerations */
1742
1743icalvalue_kind icalvalue_string_to_kind(const char* str);
1744const char* icalvalue_kind_to_string(const icalvalue_kind kind);
1745
1746/** Check validity of a specific icalvalue_kind **/
1747int icalvalue_kind_is_valid(const icalvalue_kind kind);
1748
1749/** Encode a character string in ical format, esacpe certain characters, etc. */
1750int 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
1786icalparameter* icalparameter_new(icalparameter_kind kind);
1787icalparameter* icalparameter_new_clone(icalparameter* p);
1788
1789/* Create from string of form "PARAMNAME=VALUE" */
1790icalparameter* icalparameter_new_from_string(const char* value);
1791
1792/* Create from just the value, the part after the "=" */
1793icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind, const char* value);
1794
1795void icalparameter_free(icalparameter* parameter);
1796
1797char* icalparameter_as_ical_string(icalparameter* parameter);
1798
1799int icalparameter_is_valid(icalparameter* parameter);
1800
1801icalparameter_kind icalparameter_isa(icalparameter* parameter);
1802
1803int icalparameter_isa_parameter(void* param);
1804
1805/* Acess the name of an X parameer */
1806void icalparameter_set_xname (icalparameter* param, const char* v);
1807const char* icalparameter_get_xname(icalparameter* param);
1808void icalparameter_set_xvalue (icalparameter* param, const char* v);
1809const char* icalparameter_get_xvalue(icalparameter* param);
1810
1811/* Convert enumerations */
1812
1813const char* icalparameter_kind_to_string(icalparameter_kind kind);
1814icalparameter_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
1345typedef void icalproperty; 1834typedef struct icalproperty_impl icalproperty;
1346 1835
1347
1348/* Everything below this line is machine generated. Do not edit. */
1349typedef enum icalproperty_kind { 1836typedef 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
1416icalproperty* icalproperty_vanew_action(enum icalproperty_action v, ...);
1417 1915
1418/* ACTION */ 1916/* ACTION */
1419icalproperty* icalproperty_new_action(enum icalproperty_action v); 1917icalproperty* icalproperty_new_action(enum icalproperty_action v);
1420void icalproperty_set_action(icalproperty* prop, enum icalproperty_action v); 1918void icalproperty_set_action(icalproperty* prop, enum icalproperty_action v);
1421enum icalproperty_action icalproperty_get_action(icalproperty* prop);icalproperty* icalproperty_vanew_attach(struct icalattachtype* v, ...); 1919enum icalproperty_action icalproperty_get_action(const icalproperty* prop);icalproperty* icalproperty_vanew_action(enum icalproperty_action v, ...);
1920
1921/* ALLOW-CONFLICT */
1922icalproperty* icalproperty_new_allowconflict(const char* v);
1923void icalproperty_set_allowconflict(icalproperty* prop, const char* v);
1924const char* icalproperty_get_allowconflict(const icalproperty* prop);icalproperty* icalproperty_vanew_allowconflict(const char* v, ...);
1422 1925
1423/* ATTACH */ 1926/* ATTACH */
1424icalproperty* icalproperty_new_attach(struct icalattachtype* v); 1927icalproperty* icalproperty_new_attach(icalattach * v);
1425void icalproperty_set_attach(icalproperty* prop, struct icalattachtype* v); 1928void icalproperty_set_attach(icalproperty* prop, icalattach * v);
1426struct icalattachtype* icalproperty_get_attach(icalproperty* prop);icalproperty* icalproperty_vanew_attendee(const char* v, ...); 1929icalattach * icalproperty_get_attach(const icalproperty* prop);icalproperty* icalproperty_vanew_attach(icalattach * v, ...);
1427 1930
1428/* ATTENDEE */ 1931/* ATTENDEE */
1429icalproperty* icalproperty_new_attendee(const char* v); 1932icalproperty* icalproperty_new_attendee(const char* v);
1430void icalproperty_set_attendee(icalproperty* prop, const char* v); 1933void icalproperty_set_attendee(icalproperty* prop, const char* v);
1431const char* icalproperty_get_attendee(icalproperty* prop);icalproperty* icalproperty_vanew_calscale(const char* v, ...); 1934const char* icalproperty_get_attendee(const icalproperty* prop);icalproperty* icalproperty_vanew_attendee(const char* v, ...);
1935
1936/* CALID */
1937icalproperty* icalproperty_new_calid(const char* v);
1938void icalproperty_set_calid(icalproperty* prop, const char* v);
1939const char* icalproperty_get_calid(const icalproperty* prop);icalproperty* icalproperty_vanew_calid(const char* v, ...);
1940
1941/* CALMASTER */
1942icalproperty* icalproperty_new_calmaster(const char* v);
1943void icalproperty_set_calmaster(icalproperty* prop, const char* v);
1944const char* icalproperty_get_calmaster(const icalproperty* prop);icalproperty* icalproperty_vanew_calmaster(const char* v, ...);
1432 1945
1433/* CALSCALE */ 1946/* CALSCALE */
1434icalproperty* icalproperty_new_calscale(const char* v); 1947icalproperty* icalproperty_new_calscale(const char* v);
1435void icalproperty_set_calscale(icalproperty* prop, const char* v); 1948void icalproperty_set_calscale(icalproperty* prop, const char* v);
1436const char* icalproperty_get_calscale(icalproperty* prop);icalproperty* icalproperty_vanew_categories(const char* v, ...); 1949const char* icalproperty_get_calscale(const icalproperty* prop);icalproperty* icalproperty_vanew_calscale(const char* v, ...);
1950
1951/* CARID */
1952icalproperty* icalproperty_new_carid(const char* v);
1953void icalproperty_set_carid(icalproperty* prop, const char* v);
1954const char* icalproperty_get_carid(const icalproperty* prop);icalproperty* icalproperty_vanew_carid(const char* v, ...);
1437 1955
1438/* CATEGORIES */ 1956/* CATEGORIES */
1439icalproperty* icalproperty_new_categories(const char* v); 1957icalproperty* icalproperty_new_categories(const char* v);
1440void icalproperty_set_categories(icalproperty* prop, const char* v); 1958void icalproperty_set_categories(icalproperty* prop, const char* v);
1441const char* icalproperty_get_categories(icalproperty* prop);icalproperty* icalproperty_vanew_class(const char* v, ...); 1959const char* icalproperty_get_categories(const icalproperty* prop);icalproperty* icalproperty_vanew_categories(const char* v, ...);
1442 1960
1443/* CLASS */ 1961/* CLASS */
1444icalproperty* icalproperty_new_class(const char* v); 1962icalproperty* icalproperty_new_class(enum icalproperty_class v);
1445void icalproperty_set_class(icalproperty* prop, const char* v); 1963void icalproperty_set_class(icalproperty* prop, enum icalproperty_class v);
1446const char* icalproperty_get_class(icalproperty* prop);icalproperty* icalproperty_vanew_comment(const char* v, ...); 1964enum icalproperty_class icalproperty_get_class(const icalproperty* prop);icalproperty* icalproperty_vanew_class(enum icalproperty_class v, ...);
1447 1965
1448/* COMMENT */ 1966/* COMMENT */
1449icalproperty* icalproperty_new_comment(const char* v); 1967icalproperty* icalproperty_new_comment(const char* v);
1450void icalproperty_set_comment(icalproperty* prop, const char* v); 1968void icalproperty_set_comment(icalproperty* prop, const char* v);
1451const char* icalproperty_get_comment(icalproperty* prop);icalproperty* icalproperty_vanew_completed(struct icaltimetype v, ...); 1969const char* icalproperty_get_comment(const icalproperty* prop);icalproperty* icalproperty_vanew_comment(const char* v, ...);
1452 1970
1453/* COMPLETED */ 1971/* COMPLETED */
1454icalproperty* icalproperty_new_completed(struct icaltimetype v); 1972icalproperty* icalproperty_new_completed(struct icaltimetype v);
1455void icalproperty_set_completed(icalproperty* prop, struct icaltimetype v); 1973void icalproperty_set_completed(icalproperty* prop, struct icaltimetype v);
1456struct icaltimetype icalproperty_get_completed(icalproperty* prop);icalproperty* icalproperty_vanew_contact(const char* v, ...); 1974struct icaltimetype icalproperty_get_completed(const icalproperty* prop);icalproperty* icalproperty_vanew_completed(struct icaltimetype v, ...);
1457 1975
1458/* CONTACT */ 1976/* CONTACT */
1459icalproperty* icalproperty_new_contact(const char* v); 1977icalproperty* icalproperty_new_contact(const char* v);
1460void icalproperty_set_contact(icalproperty* prop, const char* v); 1978void icalproperty_set_contact(icalproperty* prop, const char* v);
1461const char* icalproperty_get_contact(icalproperty* prop);icalproperty* icalproperty_vanew_created(struct icaltimetype v, ...); 1979const char* icalproperty_get_contact(const icalproperty* prop);icalproperty* icalproperty_vanew_contact(const char* v, ...);
1462 1980
1463/* CREATED */ 1981/* CREATED */
1464icalproperty* icalproperty_new_created(struct icaltimetype v); 1982icalproperty* icalproperty_new_created(struct icaltimetype v);
1465void icalproperty_set_created(icalproperty* prop, struct icaltimetype v); 1983void icalproperty_set_created(icalproperty* prop, struct icaltimetype v);
1466struct icaltimetype icalproperty_get_created(icalproperty* prop);icalproperty* icalproperty_vanew_description(const char* v, ...); 1984struct icaltimetype icalproperty_get_created(const icalproperty* prop);icalproperty* icalproperty_vanew_created(struct icaltimetype v, ...);
1985
1986/* DECREED */
1987icalproperty* icalproperty_new_decreed(const char* v);
1988void icalproperty_set_decreed(icalproperty* prop, const char* v);
1989const char* icalproperty_get_decreed(const icalproperty* prop);icalproperty* icalproperty_vanew_decreed(const char* v, ...);
1990
1991/* DEFAULT-CHARSET */
1992icalproperty* icalproperty_new_defaultcharset(const char* v);
1993void icalproperty_set_defaultcharset(icalproperty* prop, const char* v);
1994const char* icalproperty_get_defaultcharset(const icalproperty* prop);icalproperty* icalproperty_vanew_defaultcharset(const char* v, ...);
1995
1996/* DEFAULT-LOCALE */
1997icalproperty* icalproperty_new_defaultlocale(const char* v);
1998void icalproperty_set_defaultlocale(icalproperty* prop, const char* v);
1999const char* icalproperty_get_defaultlocale(const icalproperty* prop);icalproperty* icalproperty_vanew_defaultlocale(const char* v, ...);
2000
2001/* DEFAULT-TZID */
2002icalproperty* icalproperty_new_defaulttzid(const char* v);
2003void icalproperty_set_defaulttzid(icalproperty* prop, const char* v);
2004const char* icalproperty_get_defaulttzid(const icalproperty* prop);icalproperty* icalproperty_vanew_defaulttzid(const char* v, ...);
1467 2005
1468/* DESCRIPTION */ 2006/* DESCRIPTION */
1469icalproperty* icalproperty_new_description(const char* v); 2007icalproperty* icalproperty_new_description(const char* v);
1470void icalproperty_set_description(icalproperty* prop, const char* v); 2008void icalproperty_set_description(icalproperty* prop, const char* v);
1471const char* icalproperty_get_description(icalproperty* prop);icalproperty* icalproperty_vanew_dtend(struct icaltimetype v, ...); 2009const char* icalproperty_get_description(const icalproperty* prop);icalproperty* icalproperty_vanew_description(const char* v, ...);
1472 2010
1473/* DTEND */ 2011/* DTEND */
1474icalproperty* icalproperty_new_dtend(struct icaltimetype v); 2012icalproperty* icalproperty_new_dtend(struct icaltimetype v);
1475void icalproperty_set_dtend(icalproperty* prop, struct icaltimetype v); 2013void icalproperty_set_dtend(icalproperty* prop, struct icaltimetype v);
1476struct icaltimetype icalproperty_get_dtend(icalproperty* prop);icalproperty* icalproperty_vanew_dtstamp(struct icaltimetype v, ...); 2014struct icaltimetype icalproperty_get_dtend(const icalproperty* prop);icalproperty* icalproperty_vanew_dtend(struct icaltimetype v, ...);
1477 2015
1478/* DTSTAMP */ 2016/* DTSTAMP */
1479icalproperty* icalproperty_new_dtstamp(struct icaltimetype v); 2017icalproperty* icalproperty_new_dtstamp(struct icaltimetype v);
1480void icalproperty_set_dtstamp(icalproperty* prop, struct icaltimetype v); 2018void icalproperty_set_dtstamp(icalproperty* prop, struct icaltimetype v);
1481struct icaltimetype icalproperty_get_dtstamp(icalproperty* prop);icalproperty* icalproperty_vanew_dtstart(struct icaltimetype v, ...); 2019struct icaltimetype icalproperty_get_dtstamp(const icalproperty* prop);icalproperty* icalproperty_vanew_dtstamp(struct icaltimetype v, ...);
1482 2020
1483/* DTSTART */ 2021/* DTSTART */
1484icalproperty* icalproperty_new_dtstart(struct icaltimetype v); 2022icalproperty* icalproperty_new_dtstart(struct icaltimetype v);
1485void icalproperty_set_dtstart(icalproperty* prop, struct icaltimetype v); 2023void icalproperty_set_dtstart(icalproperty* prop, struct icaltimetype v);
1486struct icaltimetype icalproperty_get_dtstart(icalproperty* prop);icalproperty* icalproperty_vanew_due(struct icaltimetype v, ...); 2024struct icaltimetype icalproperty_get_dtstart(const icalproperty* prop);icalproperty* icalproperty_vanew_dtstart(struct icaltimetype v, ...);
1487 2025
1488/* DUE */ 2026/* DUE */
1489icalproperty* icalproperty_new_due(struct icaltimetype v); 2027icalproperty* icalproperty_new_due(struct icaltimetype v);
1490void icalproperty_set_due(icalproperty* prop, struct icaltimetype v); 2028void icalproperty_set_due(icalproperty* prop, struct icaltimetype v);
1491struct icaltimetype icalproperty_get_due(icalproperty* prop);icalproperty* icalproperty_vanew_duration(struct icaldurationtype v, ...); 2029struct icaltimetype icalproperty_get_due(const icalproperty* prop);icalproperty* icalproperty_vanew_due(struct icaltimetype v, ...);
1492 2030
1493/* DURATION */ 2031/* DURATION */
1494icalproperty* icalproperty_new_duration(struct icaldurationtype v); 2032icalproperty* icalproperty_new_duration(struct icaldurationtype v);
1495void icalproperty_set_duration(icalproperty* prop, struct icaldurationtype v); 2033void icalproperty_set_duration(icalproperty* prop, struct icaldurationtype v);
1496struct icaldurationtype icalproperty_get_duration(icalproperty* prop);icalproperty* icalproperty_vanew_exdate(struct icaltimetype v, ...); 2034struct icaldurationtype icalproperty_get_duration(const icalproperty* prop);icalproperty* icalproperty_vanew_duration(struct icaldurationtype v, ...);
1497 2035
1498/* EXDATE */ 2036/* EXDATE */
1499icalproperty* icalproperty_new_exdate(struct icaltimetype v); 2037icalproperty* icalproperty_new_exdate(struct icaltimetype v);
1500void icalproperty_set_exdate(icalproperty* prop, struct icaltimetype v); 2038void icalproperty_set_exdate(icalproperty* prop, struct icaltimetype v);
1501struct icaltimetype icalproperty_get_exdate(icalproperty* prop);icalproperty* icalproperty_vanew_exrule(struct icalrecurrencetype v, ...); 2039struct icaltimetype icalproperty_get_exdate(const icalproperty* prop);icalproperty* icalproperty_vanew_exdate(struct icaltimetype v, ...);
2040
2041/* EXPAND */
2042icalproperty* icalproperty_new_expand(int v);
2043void icalproperty_set_expand(icalproperty* prop, int v);
2044int icalproperty_get_expand(const icalproperty* prop);icalproperty* icalproperty_vanew_expand(int v, ...);
1502 2045
1503/* EXRULE */ 2046/* EXRULE */
1504icalproperty* icalproperty_new_exrule(struct icalrecurrencetype v); 2047icalproperty* icalproperty_new_exrule(struct icalrecurrencetype v);
1505void icalproperty_set_exrule(icalproperty* prop, struct icalrecurrencetype v); 2048void icalproperty_set_exrule(icalproperty* prop, struct icalrecurrencetype v);
1506struct icalrecurrencetype icalproperty_get_exrule(icalproperty* prop);icalproperty* icalproperty_vanew_freebusy(struct icalperiodtype v, ...); 2049struct icalrecurrencetype icalproperty_get_exrule(const icalproperty* prop);icalproperty* icalproperty_vanew_exrule(struct icalrecurrencetype v, ...);
1507 2050
1508/* FREEBUSY */ 2051/* FREEBUSY */
1509icalproperty* icalproperty_new_freebusy(struct icalperiodtype v); 2052icalproperty* icalproperty_new_freebusy(struct icalperiodtype v);
1510void icalproperty_set_freebusy(icalproperty* prop, struct icalperiodtype v); 2053void icalproperty_set_freebusy(icalproperty* prop, struct icalperiodtype v);
1511struct icalperiodtype icalproperty_get_freebusy(icalproperty* prop);icalproperty* icalproperty_vanew_geo(struct icalgeotype v, ...); 2054struct icalperiodtype icalproperty_get_freebusy(const icalproperty* prop);icalproperty* icalproperty_vanew_freebusy(struct icalperiodtype v, ...);
1512 2055
1513/* GEO */ 2056/* GEO */
1514icalproperty* icalproperty_new_geo(struct icalgeotype v); 2057icalproperty* icalproperty_new_geo(struct icalgeotype v);
1515void icalproperty_set_geo(icalproperty* prop, struct icalgeotype v); 2058void icalproperty_set_geo(icalproperty* prop, struct icalgeotype v);
1516struct icalgeotype icalproperty_get_geo(icalproperty* prop);icalproperty* icalproperty_vanew_lastmodified(struct icaltimetype v, ...); 2059struct icalgeotype icalproperty_get_geo(const icalproperty* prop);icalproperty* icalproperty_vanew_geo(struct icalgeotype v, ...);
1517 2060
1518/* LAST-MODIFIED */ 2061/* LAST-MODIFIED */
1519icalproperty* icalproperty_new_lastmodified(struct icaltimetype v); 2062icalproperty* icalproperty_new_lastmodified(struct icaltimetype v);
1520void icalproperty_set_lastmodified(icalproperty* prop, struct icaltimetype v); 2063void icalproperty_set_lastmodified(icalproperty* prop, struct icaltimetype v);
1521struct icaltimetype icalproperty_get_lastmodified(icalproperty* prop);icalproperty* icalproperty_vanew_location(const char* v, ...); 2064struct icaltimetype icalproperty_get_lastmodified(const icalproperty* prop);icalproperty* icalproperty_vanew_lastmodified(struct icaltimetype v, ...);
1522 2065
1523/* LOCATION */ 2066/* LOCATION */
1524icalproperty* icalproperty_new_location(const char* v); 2067icalproperty* icalproperty_new_location(const char* v);
1525void icalproperty_set_location(icalproperty* prop, const char* v); 2068void icalproperty_set_location(icalproperty* prop, const char* v);
1526const char* icalproperty_get_location(icalproperty* prop);icalproperty* icalproperty_vanew_maxresults(int v, ...); 2069const char* icalproperty_get_location(const icalproperty* prop);icalproperty* icalproperty_vanew_location(const char* v, ...);
1527 2070
1528/* MAXRESULTS */ 2071/* MAXRESULTS */
1529icalproperty* icalproperty_new_maxresults(int v); 2072icalproperty* icalproperty_new_maxresults(int v);
1530void icalproperty_set_maxresults(icalproperty* prop, int v); 2073void icalproperty_set_maxresults(icalproperty* prop, int v);
1531int icalproperty_get_maxresults(icalproperty* prop);icalproperty* icalproperty_vanew_maxresultssize(int v, ...); 2074int icalproperty_get_maxresults(const icalproperty* prop);icalproperty* icalproperty_vanew_maxresults(int v, ...);
1532 2075
1533/* MAXRESULTSSIZE */ 2076/* MAXRESULTSSIZE */
1534icalproperty* icalproperty_new_maxresultssize(int v); 2077icalproperty* icalproperty_new_maxresultssize(int v);
1535void icalproperty_set_maxresultssize(icalproperty* prop, int v); 2078void icalproperty_set_maxresultssize(icalproperty* prop, int v);
1536int icalproperty_get_maxresultssize(icalproperty* prop);icalproperty* icalproperty_vanew_method(enum icalproperty_method v, ...); 2079int icalproperty_get_maxresultssize(const icalproperty* prop);icalproperty* icalproperty_vanew_maxresultssize(int v, ...);
1537 2080
1538/* METHOD */ 2081/* METHOD */
1539icalproperty* icalproperty_new_method(enum icalproperty_method v); 2082icalproperty* icalproperty_new_method(enum icalproperty_method v);
1540void icalproperty_set_method(icalproperty* prop, enum icalproperty_method v); 2083void icalproperty_set_method(icalproperty* prop, enum icalproperty_method v);
1541enum icalproperty_method icalproperty_get_method(icalproperty* prop);icalproperty* icalproperty_vanew_organizer(const char* v, ...); 2084enum icalproperty_method icalproperty_get_method(const icalproperty* prop);icalproperty* icalproperty_vanew_method(enum icalproperty_method v, ...);
1542 2085
1543/* ORGANIZER */ 2086/* ORGANIZER */
1544icalproperty* icalproperty_new_organizer(const char* v); 2087icalproperty* icalproperty_new_organizer(const char* v);
1545void icalproperty_set_organizer(icalproperty* prop, const char* v); 2088void icalproperty_set_organizer(icalproperty* prop, const char* v);
1546const char* icalproperty_get_organizer(icalproperty* prop);icalproperty* icalproperty_vanew_percentcomplete(int v, ...); 2089const char* icalproperty_get_organizer(const icalproperty* prop);icalproperty* icalproperty_vanew_organizer(const char* v, ...);
2090
2091/* OWNER */
2092icalproperty* icalproperty_new_owner(const char* v);
2093void icalproperty_set_owner(icalproperty* prop, const char* v);
2094const char* icalproperty_get_owner(const icalproperty* prop);icalproperty* icalproperty_vanew_owner(const char* v, ...);
1547 2095
1548/* PERCENT-COMPLETE */ 2096/* PERCENT-COMPLETE */
1549icalproperty* icalproperty_new_percentcomplete(int v); 2097icalproperty* icalproperty_new_percentcomplete(int v);
1550void icalproperty_set_percentcomplete(icalproperty* prop, int v); 2098void icalproperty_set_percentcomplete(icalproperty* prop, int v);
1551int icalproperty_get_percentcomplete(icalproperty* prop);icalproperty* icalproperty_vanew_priority(int v, ...); 2099int icalproperty_get_percentcomplete(const icalproperty* prop);icalproperty* icalproperty_vanew_percentcomplete(int v, ...);
1552 2100
1553/* PRIORITY */ 2101/* PRIORITY */
1554icalproperty* icalproperty_new_priority(int v); 2102icalproperty* icalproperty_new_priority(int v);
1555void icalproperty_set_priority(icalproperty* prop, int v); 2103void icalproperty_set_priority(icalproperty* prop, int v);
1556int icalproperty_get_priority(icalproperty* prop);icalproperty* icalproperty_vanew_prodid(const char* v, ...); 2104int icalproperty_get_priority(const icalproperty* prop);icalproperty* icalproperty_vanew_priority(int v, ...);
1557 2105
1558/* PRODID */ 2106/* PRODID */
1559icalproperty* icalproperty_new_prodid(const char* v); 2107icalproperty* icalproperty_new_prodid(const char* v);
1560void icalproperty_set_prodid(icalproperty* prop, const char* v); 2108void icalproperty_set_prodid(icalproperty* prop, const char* v);
1561const char* icalproperty_get_prodid(icalproperty* prop);icalproperty* icalproperty_vanew_query(const char* v, ...); 2109const char* icalproperty_get_prodid(const icalproperty* prop);icalproperty* icalproperty_vanew_prodid(const char* v, ...);
1562 2110
1563/* QUERY */ 2111/* QUERY */
1564icalproperty* icalproperty_new_query(const char* v); 2112icalproperty* icalproperty_new_query(const char* v);
1565void icalproperty_set_query(icalproperty* prop, const char* v); 2113void icalproperty_set_query(icalproperty* prop, const char* v);
1566const char* icalproperty_get_query(icalproperty* prop);icalproperty* icalproperty_vanew_queryname(const char* v, ...); 2114const char* icalproperty_get_query(const icalproperty* prop);icalproperty* icalproperty_vanew_query(const char* v, ...);
1567 2115
1568/* QUERYNAME */ 2116/* QUERYNAME */
1569icalproperty* icalproperty_new_queryname(const char* v); 2117icalproperty* icalproperty_new_queryname(const char* v);
1570void icalproperty_set_queryname(icalproperty* prop, const char* v); 2118void icalproperty_set_queryname(icalproperty* prop, const char* v);
1571const char* icalproperty_get_queryname(icalproperty* prop);icalproperty* icalproperty_vanew_rdate(struct icaldatetimeperiodtype v, ...); 2119const char* icalproperty_get_queryname(const icalproperty* prop);icalproperty* icalproperty_vanew_queryname(const char* v, ...);
1572 2120
1573/* RDATE */ 2121/* RDATE */
1574icalproperty* icalproperty_new_rdate(struct icaldatetimeperiodtype v); 2122icalproperty* icalproperty_new_rdate(struct icaldatetimeperiodtype v);
1575void icalproperty_set_rdate(icalproperty* prop, struct icaldatetimeperiodtype v); 2123void icalproperty_set_rdate(icalproperty* prop, struct icaldatetimeperiodtype v);
1576struct icaldatetimeperiodtype icalproperty_get_rdate(icalproperty* prop);icalproperty* icalproperty_vanew_recurrenceid(struct icaltimetype v, ...); 2124struct icaldatetimeperiodtype icalproperty_get_rdate(const icalproperty* prop);icalproperty* icalproperty_vanew_rdate(struct icaldatetimeperiodtype v, ...);
1577 2125
1578/* RECURRENCE-ID */ 2126/* RECURRENCE-ID */
1579icalproperty* icalproperty_new_recurrenceid(struct icaltimetype v); 2127icalproperty* icalproperty_new_recurrenceid(struct icaltimetype v);
1580void icalproperty_set_recurrenceid(icalproperty* prop, struct icaltimetype v); 2128void icalproperty_set_recurrenceid(icalproperty* prop, struct icaltimetype v);
1581struct icaltimetype icalproperty_get_recurrenceid(icalproperty* prop);icalproperty* icalproperty_vanew_relatedto(const char* v, ...); 2129struct icaltimetype icalproperty_get_recurrenceid(const icalproperty* prop);icalproperty* icalproperty_vanew_recurrenceid(struct icaltimetype v, ...);
1582 2130
1583/* RELATED-TO */ 2131/* RELATED-TO */
1584icalproperty* icalproperty_new_relatedto(const char* v); 2132icalproperty* icalproperty_new_relatedto(const char* v);
1585void icalproperty_set_relatedto(icalproperty* prop, const char* v); 2133void icalproperty_set_relatedto(icalproperty* prop, const char* v);
1586const char* icalproperty_get_relatedto(icalproperty* prop);icalproperty* icalproperty_vanew_repeat(int v, ...); 2134const char* icalproperty_get_relatedto(const icalproperty* prop);icalproperty* icalproperty_vanew_relatedto(const char* v, ...);
2135
2136/* RELCALID */
2137icalproperty* icalproperty_new_relcalid(const char* v);
2138void icalproperty_set_relcalid(icalproperty* prop, const char* v);
2139const char* icalproperty_get_relcalid(const icalproperty* prop);icalproperty* icalproperty_vanew_relcalid(const char* v, ...);
1587 2140
1588/* REPEAT */ 2141/* REPEAT */
1589icalproperty* icalproperty_new_repeat(int v); 2142icalproperty* icalproperty_new_repeat(int v);
1590void icalproperty_set_repeat(icalproperty* prop, int v); 2143void icalproperty_set_repeat(icalproperty* prop, int v);
1591int icalproperty_get_repeat(icalproperty* prop);icalproperty* icalproperty_vanew_requeststatus(struct icalreqstattype v, ...); 2144int icalproperty_get_repeat(const icalproperty* prop);icalproperty* icalproperty_vanew_repeat(int v, ...);
1592 2145
1593/* REQUEST-STATUS */ 2146/* REQUEST-STATUS */
1594icalproperty* icalproperty_new_requeststatus(struct icalreqstattype v); 2147icalproperty* icalproperty_new_requeststatus(struct icalreqstattype v);
1595void icalproperty_set_requeststatus(icalproperty* prop, struct icalreqstattype v); 2148void icalproperty_set_requeststatus(icalproperty* prop, struct icalreqstattype v);
1596struct icalreqstattype icalproperty_get_requeststatus(icalproperty* prop);icalproperty* icalproperty_vanew_resources(const char* v, ...); 2149struct icalreqstattype icalproperty_get_requeststatus(const icalproperty* prop);icalproperty* icalproperty_vanew_requeststatus(struct icalreqstattype v, ...);
1597 2150
1598/* RESOURCES */ 2151/* RESOURCES */
1599icalproperty* icalproperty_new_resources(const char* v); 2152icalproperty* icalproperty_new_resources(const char* v);
1600void icalproperty_set_resources(icalproperty* prop, const char* v); 2153void icalproperty_set_resources(icalproperty* prop, const char* v);
1601const char* icalproperty_get_resources(icalproperty* prop);icalproperty* icalproperty_vanew_rrule(struct icalrecurrencetype v, ...); 2154const char* icalproperty_get_resources(const icalproperty* prop);icalproperty* icalproperty_vanew_resources(const char* v, ...);
1602 2155
1603/* RRULE */ 2156/* RRULE */
1604icalproperty* icalproperty_new_rrule(struct icalrecurrencetype v); 2157icalproperty* icalproperty_new_rrule(struct icalrecurrencetype v);
1605void icalproperty_set_rrule(icalproperty* prop, struct icalrecurrencetype v); 2158void icalproperty_set_rrule(icalproperty* prop, struct icalrecurrencetype v);
1606struct icalrecurrencetype icalproperty_get_rrule(icalproperty* prop);icalproperty* icalproperty_vanew_scope(const char* v, ...); 2159struct icalrecurrencetype icalproperty_get_rrule(const icalproperty* prop);icalproperty* icalproperty_vanew_rrule(struct icalrecurrencetype v, ...);
1607 2160
1608/* SCOPE */ 2161/* SCOPE */
1609icalproperty* icalproperty_new_scope(const char* v); 2162icalproperty* icalproperty_new_scope(const char* v);
1610void icalproperty_set_scope(icalproperty* prop, const char* v); 2163void icalproperty_set_scope(icalproperty* prop, const char* v);
1611const char* icalproperty_get_scope(icalproperty* prop);icalproperty* icalproperty_vanew_sequence(int v, ...); 2164const char* icalproperty_get_scope(const icalproperty* prop);icalproperty* icalproperty_vanew_scope(const char* v, ...);
1612 2165
1613/* SEQUENCE */ 2166/* SEQUENCE */
1614icalproperty* icalproperty_new_sequence(int v); 2167icalproperty* icalproperty_new_sequence(int v);
1615void icalproperty_set_sequence(icalproperty* prop, int v); 2168void icalproperty_set_sequence(icalproperty* prop, int v);
1616int icalproperty_get_sequence(icalproperty* prop);icalproperty* icalproperty_vanew_status(enum icalproperty_status v, ...); 2169int icalproperty_get_sequence(const icalproperty* prop);icalproperty* icalproperty_vanew_sequence(int v, ...);
1617 2170
1618/* STATUS */ 2171/* STATUS */
1619icalproperty* icalproperty_new_status(enum icalproperty_status v); 2172icalproperty* icalproperty_new_status(enum icalproperty_status v);
1620void icalproperty_set_status(icalproperty* prop, enum icalproperty_status v); 2173void icalproperty_set_status(icalproperty* prop, enum icalproperty_status v);
1621enum icalproperty_status icalproperty_get_status(icalproperty* prop);icalproperty* icalproperty_vanew_summary(const char* v, ...); 2174enum icalproperty_status icalproperty_get_status(const icalproperty* prop);icalproperty* icalproperty_vanew_status(enum icalproperty_status v, ...);
1622 2175
1623/* SUMMARY */ 2176/* SUMMARY */
1624icalproperty* icalproperty_new_summary(const char* v); 2177icalproperty* icalproperty_new_summary(const char* v);
1625void icalproperty_set_summary(icalproperty* prop, const char* v); 2178void icalproperty_set_summary(icalproperty* prop, const char* v);
1626const char* icalproperty_get_summary(icalproperty* prop);icalproperty* icalproperty_vanew_target(const char* v, ...); 2179const char* icalproperty_get_summary(const icalproperty* prop);icalproperty* icalproperty_vanew_summary(const char* v, ...);
1627 2180
1628/* TARGET */ 2181/* TARGET */
1629icalproperty* icalproperty_new_target(const char* v); 2182icalproperty* icalproperty_new_target(const char* v);
1630void icalproperty_set_target(icalproperty* prop, const char* v); 2183void icalproperty_set_target(icalproperty* prop, const char* v);
1631const char* icalproperty_get_target(icalproperty* prop);icalproperty* icalproperty_vanew_transp(const char* v, ...); 2184const char* icalproperty_get_target(const icalproperty* prop);icalproperty* icalproperty_vanew_target(const char* v, ...);
1632 2185
1633/* TRANSP */ 2186/* TRANSP */
1634icalproperty* icalproperty_new_transp(const char* v); 2187icalproperty* icalproperty_new_transp(enum icalproperty_transp v);
1635void icalproperty_set_transp(icalproperty* prop, const char* v); 2188void icalproperty_set_transp(icalproperty* prop, enum icalproperty_transp v);
1636const char* icalproperty_get_transp(icalproperty* prop);icalproperty* icalproperty_vanew_trigger(struct icaltriggertype v, ...); 2189enum icalproperty_transp icalproperty_get_transp(const icalproperty* prop);icalproperty* icalproperty_vanew_transp(enum icalproperty_transp v, ...);
1637 2190
1638/* TRIGGER */ 2191/* TRIGGER */
1639icalproperty* icalproperty_new_trigger(struct icaltriggertype v); 2192icalproperty* icalproperty_new_trigger(struct icaltriggertype v);
1640void icalproperty_set_trigger(icalproperty* prop, struct icaltriggertype v); 2193void icalproperty_set_trigger(icalproperty* prop, struct icaltriggertype v);
1641struct icaltriggertype icalproperty_get_trigger(icalproperty* prop);icalproperty* icalproperty_vanew_tzid(const char* v, ...); 2194struct icaltriggertype icalproperty_get_trigger(const icalproperty* prop);icalproperty* icalproperty_vanew_trigger(struct icaltriggertype v, ...);
1642 2195
1643/* TZID */ 2196/* TZID */
1644icalproperty* icalproperty_new_tzid(const char* v); 2197icalproperty* icalproperty_new_tzid(const char* v);
1645void icalproperty_set_tzid(icalproperty* prop, const char* v); 2198void icalproperty_set_tzid(icalproperty* prop, const char* v);
1646const char* icalproperty_get_tzid(icalproperty* prop);icalproperty* icalproperty_vanew_tzname(const char* v, ...); 2199const char* icalproperty_get_tzid(const icalproperty* prop);icalproperty* icalproperty_vanew_tzid(const char* v, ...);
1647 2200
1648/* TZNAME */ 2201/* TZNAME */
1649icalproperty* icalproperty_new_tzname(const char* v); 2202icalproperty* icalproperty_new_tzname(const char* v);
1650void icalproperty_set_tzname(icalproperty* prop, const char* v); 2203void icalproperty_set_tzname(icalproperty* prop, const char* v);
1651const char* icalproperty_get_tzname(icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetfrom(int v, ...); 2204const char* icalproperty_get_tzname(const icalproperty* prop);icalproperty* icalproperty_vanew_tzname(const char* v, ...);
1652 2205
1653/* TZOFFSETFROM */ 2206/* TZOFFSETFROM */
1654icalproperty* icalproperty_new_tzoffsetfrom(int v); 2207icalproperty* icalproperty_new_tzoffsetfrom(int v);
1655void icalproperty_set_tzoffsetfrom(icalproperty* prop, int v); 2208void icalproperty_set_tzoffsetfrom(icalproperty* prop, int v);
1656int icalproperty_get_tzoffsetfrom(icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetto(int v, ...); 2209int icalproperty_get_tzoffsetfrom(const icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetfrom(int v, ...);
1657 2210
1658/* TZOFFSETTO */ 2211/* TZOFFSETTO */
1659icalproperty* icalproperty_new_tzoffsetto(int v); 2212icalproperty* icalproperty_new_tzoffsetto(int v);
1660void icalproperty_set_tzoffsetto(icalproperty* prop, int v); 2213void icalproperty_set_tzoffsetto(icalproperty* prop, int v);
1661int icalproperty_get_tzoffsetto(icalproperty* prop);icalproperty* icalproperty_vanew_tzurl(const char* v, ...); 2214int icalproperty_get_tzoffsetto(const icalproperty* prop);icalproperty* icalproperty_vanew_tzoffsetto(int v, ...);
1662 2215
1663/* TZURL */ 2216/* TZURL */
1664icalproperty* icalproperty_new_tzurl(const char* v); 2217icalproperty* icalproperty_new_tzurl(const char* v);
1665void icalproperty_set_tzurl(icalproperty* prop, const char* v); 2218void icalproperty_set_tzurl(icalproperty* prop, const char* v);
1666const char* icalproperty_get_tzurl(icalproperty* prop);icalproperty* icalproperty_vanew_uid(const char* v, ...); 2219const char* icalproperty_get_tzurl(const icalproperty* prop);icalproperty* icalproperty_vanew_tzurl(const char* v, ...);
1667 2220
1668/* UID */ 2221/* UID */
1669icalproperty* icalproperty_new_uid(const char* v); 2222icalproperty* icalproperty_new_uid(const char* v);
1670void icalproperty_set_uid(icalproperty* prop, const char* v); 2223void icalproperty_set_uid(icalproperty* prop, const char* v);
1671const char* icalproperty_get_uid(icalproperty* prop);icalproperty* icalproperty_vanew_url(const char* v, ...); 2224const char* icalproperty_get_uid(const icalproperty* prop);icalproperty* icalproperty_vanew_uid(const char* v, ...);
1672 2225
1673/* URL */ 2226/* URL */
1674icalproperty* icalproperty_new_url(const char* v); 2227icalproperty* icalproperty_new_url(const char* v);
1675void icalproperty_set_url(icalproperty* prop, const char* v); 2228void icalproperty_set_url(icalproperty* prop, const char* v);
1676const char* icalproperty_get_url(icalproperty* prop);icalproperty* icalproperty_vanew_version(const char* v, ...); 2229const char* icalproperty_get_url(const icalproperty* prop);icalproperty* icalproperty_vanew_url(const char* v, ...);
1677 2230
1678/* VERSION */ 2231/* VERSION */
1679icalproperty* icalproperty_new_version(const char* v); 2232icalproperty* icalproperty_new_version(const char* v);
1680void icalproperty_set_version(icalproperty* prop, const char* v); 2233void icalproperty_set_version(icalproperty* prop, const char* v);
1681const char* icalproperty_get_version(icalproperty* prop);icalproperty* icalproperty_vanew_x(const char* v, ...); 2234const char* icalproperty_get_version(const icalproperty* prop);icalproperty* icalproperty_vanew_version(const char* v, ...);
1682 2235
1683/* X */ 2236/* X */
1684icalproperty* icalproperty_new_x(const char* v); 2237icalproperty* icalproperty_new_x(const char* v);
1685void icalproperty_set_x(icalproperty* prop, const char* v); 2238void icalproperty_set_x(icalproperty* prop, const char* v);
1686const char* icalproperty_get_x(icalproperty* prop);icalproperty* icalproperty_vanew_xlicclustercount(const char* v, ...); 2239const char* icalproperty_get_x(const icalproperty* prop);icalproperty* icalproperty_vanew_x(const char* v, ...);
2240
2241/* X-LIC-CLASS */
2242icalproperty* icalproperty_new_xlicclass(enum icalproperty_xlicclass v);
2243void icalproperty_set_xlicclass(icalproperty* prop, enum icalproperty_xlicclass v);
2244enum 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 */
1689icalproperty* icalproperty_new_xlicclustercount(const char* v); 2247icalproperty* icalproperty_new_xlicclustercount(const char* v);
1690void icalproperty_set_xlicclustercount(icalproperty* prop, const char* v); 2248void icalproperty_set_xlicclustercount(icalproperty* prop, const char* v);
1691const char* icalproperty_get_xlicclustercount(icalproperty* prop);icalproperty* icalproperty_vanew_xlicerror(const char* v, ...); 2249const char* icalproperty_get_xlicclustercount(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicclustercount(const char* v, ...);
1692 2250
1693/* X-LIC-ERROR */ 2251/* X-LIC-ERROR */
1694icalproperty* icalproperty_new_xlicerror(const char* v); 2252icalproperty* icalproperty_new_xlicerror(const char* v);
1695void icalproperty_set_xlicerror(icalproperty* prop, const char* v); 2253void icalproperty_set_xlicerror(icalproperty* prop, const char* v);
1696const char* icalproperty_get_xlicerror(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecharset(const char* v, ...); 2254const char* icalproperty_get_xlicerror(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicerror(const char* v, ...);
1697 2255
1698/* X-LIC-MIMECHARSET */ 2256/* X-LIC-MIMECHARSET */
1699icalproperty* icalproperty_new_xlicmimecharset(const char* v); 2257icalproperty* icalproperty_new_xlicmimecharset(const char* v);
1700void icalproperty_set_xlicmimecharset(icalproperty* prop, const char* v); 2258void icalproperty_set_xlicmimecharset(icalproperty* prop, const char* v);
1701const char* icalproperty_get_xlicmimecharset(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecid(const char* v, ...); 2259const char* icalproperty_get_xlicmimecharset(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecharset(const char* v, ...);
1702 2260
1703/* X-LIC-MIMECID */ 2261/* X-LIC-MIMECID */
1704icalproperty* icalproperty_new_xlicmimecid(const char* v); 2262icalproperty* icalproperty_new_xlicmimecid(const char* v);
1705void icalproperty_set_xlicmimecid(icalproperty* prop, const char* v); 2263void icalproperty_set_xlicmimecid(icalproperty* prop, const char* v);
1706const char* icalproperty_get_xlicmimecid(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecontenttype(const char* v, ...); 2264const char* icalproperty_get_xlicmimecid(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecid(const char* v, ...);
1707 2265
1708/* X-LIC-MIMECONTENTTYPE */ 2266/* X-LIC-MIMECONTENTTYPE */
1709icalproperty* icalproperty_new_xlicmimecontenttype(const char* v); 2267icalproperty* icalproperty_new_xlicmimecontenttype(const char* v);
1710void icalproperty_set_xlicmimecontenttype(icalproperty* prop, const char* v); 2268void icalproperty_set_xlicmimecontenttype(icalproperty* prop, const char* v);
1711const char* icalproperty_get_xlicmimecontenttype(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimeencoding(const char* v, ...); 2269const char* icalproperty_get_xlicmimecontenttype(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimecontenttype(const char* v, ...);
1712 2270
1713/* X-LIC-MIMEENCODING */ 2271/* X-LIC-MIMEENCODING */
1714icalproperty* icalproperty_new_xlicmimeencoding(const char* v); 2272icalproperty* icalproperty_new_xlicmimeencoding(const char* v);
1715void icalproperty_set_xlicmimeencoding(icalproperty* prop, const char* v); 2273void icalproperty_set_xlicmimeencoding(icalproperty* prop, const char* v);
1716const char* icalproperty_get_xlicmimeencoding(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimefilename(const char* v, ...); 2274const char* icalproperty_get_xlicmimeencoding(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimeencoding(const char* v, ...);
1717 2275
1718/* X-LIC-MIMEFILENAME */ 2276/* X-LIC-MIMEFILENAME */
1719icalproperty* icalproperty_new_xlicmimefilename(const char* v); 2277icalproperty* icalproperty_new_xlicmimefilename(const char* v);
1720void icalproperty_set_xlicmimefilename(icalproperty* prop, const char* v); 2278void icalproperty_set_xlicmimefilename(icalproperty* prop, const char* v);
1721const char* icalproperty_get_xlicmimefilename(icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimeoptinfo(const char* v, ...); 2279const char* icalproperty_get_xlicmimefilename(const icalproperty* prop);icalproperty* icalproperty_vanew_xlicmimefilename(const char* v, ...);
1722 2280
1723/* X-LIC-MIMEOPTINFO */ 2281/* X-LIC-MIMEOPTINFO */
1724icalproperty* icalproperty_new_xlicmimeoptinfo(const char* v); 2282icalproperty* icalproperty_new_xlicmimeoptinfo(const char* v);
1725void icalproperty_set_xlicmimeoptinfo(icalproperty* prop, const char* v); 2283void icalproperty_set_xlicmimeoptinfo(icalproperty* prop, const char* v);
1726const char* icalproperty_get_xlicmimeoptinfo(icalproperty* prop); 2284const 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
1765icalvalue* icalvalue_new(icalvalue_kind kind);
1766
1767icalvalue* icalvalue_new_clone(icalvalue* value);
1768
1769icalvalue* icalvalue_new_from_string(icalvalue_kind kind, const char* str);
1770
1771void icalvalue_free(icalvalue* value);
1772
1773int icalvalue_is_valid(icalvalue* value);
1774
1775const char* icalvalue_as_ical_string(icalvalue* value);
1776
1777icalvalue_kind icalvalue_isa(icalvalue* value);
1778
1779int icalvalue_isa_value(void*);
1780
1781icalparameter_xliccomparetype icalvalue_compare(icalvalue* a, icalvalue *b);
1782
1783
1784/* Special, non autogenerated value accessors */
1785 2285
1786icalvalue* icalvalue_new_recur (struct icalrecurrencetype v);
1787void icalvalue_set_recur(icalvalue* value, struct icalrecurrencetype v);
1788struct icalrecurrencetype icalvalue_get_recur(icalvalue* value);
1789
1790icalvalue* icalvalue_new_trigger (struct icaltriggertype v);
1791void icalvalue_set_trigger(icalvalue* value, struct icaltriggertype v);
1792struct icaltriggertype icalvalue_get_trigger(icalvalue* value);
1793
1794icalvalue* icalvalue_new_datetimeperiod (struct icaldatetimeperiodtype v);
1795void icalvalue_set_datetimeperiod(icalvalue* value,
1796 struct icaldatetimeperiodtype v);
1797struct icaldatetimeperiodtype icalvalue_get_datetimeperiod(icalvalue* value);
1798
1799/* Convert enumerations */
1800
1801icalvalue_kind icalvalue_string_to_kind(const char* str);
1802const 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
1841icalparameter* icalparameter_new(icalparameter_kind kind);
1842icalparameter* icalparameter_new_clone(icalparameter* p);
1843
1844/* Create from string of form "PARAMNAME=VALUE" */
1845icalparameter* icalparameter_new_from_string(const char* value);
1846 2286
1847/* Create from just the value, the part after the "=" */ 2287#endif /*ICALPROPERTY_H*/
1848icalparameter* icalparameter_new_from_value_string(icalparameter_kind kind, const char* value);
1849
1850void icalparameter_free(icalparameter* parameter);
1851
1852char* icalparameter_as_ical_string(icalparameter* parameter);
1853
1854int icalparameter_is_valid(icalparameter* parameter);
1855
1856icalparameter_kind icalparameter_isa(icalparameter* parameter);
1857
1858int icalparameter_isa_parameter(void* param);
1859
1860/* Acess the name of an X parameer */
1861void icalparameter_set_xname (icalparameter* param, const char* v);
1862const char* icalparameter_get_xname(icalparameter* param);
1863void icalparameter_set_xvalue (icalparameter* param, const char* v);
1864const char* icalparameter_get_xvalue(icalparameter* param);
1865
1866/* Convert enumerations */
1867
1868const char* icalparameter_kind_to_string(icalparameter_kind kind);
1869icalparameter_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
1915icalproperty* icalproperty_new(icalproperty_kind kind); 2327icalproperty* icalproperty_new(icalproperty_kind kind);
1916 2328
1917icalproperty* icalproperty_new_clone(icalproperty * prop); 2329icalproperty* icalproperty_new_clone(icalproperty * prop);
1918 2330
@@ -1922,167 +2334,123 @@ const char* icalproperty_as_ical_string(icalproperty* prop);
1922 2334
1923void icalproperty_free(icalproperty* prop); 2335void icalproperty_free(icalproperty* prop);
1924 2336
1925icalproperty_kind icalproperty_isa(icalproperty* property); 2337icalproperty_kind icalproperty_isa(icalproperty* property);
1926int icalproperty_isa_property(void* property); 2338int icalproperty_isa_property(void* property);
1927 2339
2340void icalproperty_add_parameters(struct icalproperty_impl *prop,va_list args);
1928void icalproperty_add_parameter(icalproperty* prop,icalparameter* parameter); 2341void icalproperty_add_parameter(icalproperty* prop,icalparameter* parameter);
1929void icalproperty_set_parameter(icalproperty* prop,icalparameter* parameter); 2342void icalproperty_set_parameter(icalproperty* prop,icalparameter* parameter);
1930void icalproperty_set_parameter_from_string(icalproperty* prop, 2343void icalproperty_set_parameter_from_string(icalproperty* prop,
1931 const char* name, const char* value); 2344 const char* name, const char* value);
1932const char* icalproperty_get_parameter_as_string(icalproperty* prop, 2345const char* icalproperty_get_parameter_as_string(icalproperty* prop,
1933 const char* name); 2346 const char* name);
1934 2347
1935void icalproperty_remove_parameter(icalproperty* prop, 2348void icalproperty_remove_parameter(icalproperty* prop,
1936 icalparameter_kind kind); 2349 icalparameter_kind kind);
1937 2350
1938int icalproperty_count_parameters(icalproperty* prop); 2351void icalproperty_remove_parameter_by_kind(icalproperty* prop,
2352 icalparameter_kind kind);
2353
2354void icalproperty_remove_parameter_by_name(icalproperty* prop,
2355 const char *name);
2356
2357void icalproperty_remove_parameter_by_ref(icalproperty* prop,
2358 icalparameter *param);
2359
2360
2361
2362int icalproperty_count_parameters(const icalproperty* prop);
1939 2363
1940/* Iterate through the parameters */ 2364/* Iterate through the parameters */
1941icalparameter* icalproperty_get_first_parameter(icalproperty* prop, 2365icalparameter* icalproperty_get_first_parameter(icalproperty* prop,
1942 icalparameter_kind kind); 2366 icalparameter_kind kind);
1943icalparameter* icalproperty_get_next_parameter(icalproperty* prop, 2367icalparameter* 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 */
1946void icalproperty_set_value(icalproperty* prop, icalvalue* value); 2370void icalproperty_set_value(icalproperty* prop, icalvalue* value);
1947void icalproperty_set_value_from_string(icalproperty* prop,const char* value, const char* kind); 2371void icalproperty_set_value_from_string(icalproperty* prop,const char* value, const char* kind);
1948 2372
1949icalvalue* icalproperty_get_value(icalproperty* prop); 2373icalvalue* icalproperty_get_value(const icalproperty* prop);
1950const char* icalproperty_get_value_as_string(icalproperty* prop); 2374const char* icalproperty_get_value_as_string(const icalproperty* prop);
1951 2375
1952/* Deal with X properties */ 2376/* Deal with X properties */
1953 2377
1954void icalproperty_set_x_name(icalproperty* prop, const char* name); 2378void icalproperty_set_x_name(icalproperty* prop, const char* name);
1955const char* icalproperty_get_x_name(icalproperty* prop); 2379const 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
1959const char* icalproperty_get_name (icalproperty* prop); 2383 * property
2384 */
2385const char* icalproperty_get_property_name (const icalproperty* prop);
1960 2386
1961icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value value); 2387icalvalue_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
1965icalvalue_kind icalproperty_kind_to_value_kind(icalproperty_kind kind); 2391icalvalue_kind icalproperty_kind_to_value_kind(icalproperty_kind kind);
1966icalvalue_kind icalproperty_value_kind_to_kind(icalvalue_kind kind); 2392icalproperty_kind icalproperty_value_kind_to_kind(icalvalue_kind kind);
1967const char* icalproperty_kind_to_string(icalproperty_kind kind); 2393const char* icalproperty_kind_to_string(icalproperty_kind kind);
1968icalproperty_kind icalproperty_string_to_kind(const char* string); 2394icalproperty_kind icalproperty_string_to_kind(const char* string);
1969 2395
2396/** Check validity of a specific icalproperty_kind **/
2397int icalproperty_kind_is_valid(const icalproperty_kind kind);
2398
1970icalproperty_method icalproperty_string_to_method(const char* str); 2399icalproperty_method icalproperty_string_to_method(const char* str);
1971const char* icalproperty_method_to_string(icalproperty_method method); 2400const char* icalproperty_method_to_string(icalproperty_method method);
1972 2401
1973 2402
1974const char* icalproperty_enum_to_string(int e); 2403const char* icalproperty_enum_to_string(int e);
1975int icalproperty_string_to_enum(const char* str); 2404int icalproperty_string_to_enum(const char* str);
2405int icalproperty_kind_and_string_to_enum(const int kind, const char* str);
1976 2406
1977const char* icalproperty_status_to_string(icalproperty_status); 2407const char* icalproperty_status_to_string(icalproperty_status);
1978icalproperty_status icalproperty_string_to_status(const char* string); 2408icalproperty_status icalproperty_string_to_status(const char* string);
1979 2409
1980int icalproperty_enum_belongs_to_property(icalproperty_kind kind, int e); 2410int 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
2014struct 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 */
2025struct icalorganizertype icalorganizertype_new_clone(struct icalorganizertype a);
2026
2027
2028struct 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 */
2044struct 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
2060typedef void* pvl_list; 2428typedef struct pvl_list_t* pvl_list;
2061typedef void* pvl_elem; 2429typedef 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
2071typedef struct pvl_elem_t 2437typedef 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
2084extern int pvl_elem_count; 2452extern int pvl_elem_count;
2085extern int pvl_list_count; 2453extern int pvl_list_count;
2086 2454
2087/* Create new lists or elements */ 2455/* Create new lists or elements */
2088pvl_elem pvl_new_element(void* d, pvl_elem next,pvl_elem prior); 2456pvl_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 */
2127typedef int (*pvl_findf)(void* a, void* b); /*a is list elem, b is other data*/ 2495typedef int (*pvl_findf)(void* a, void* b); /*a is list elem, b is other data*/
2128pvl_elem pvl_find(pvl_list l,pvl_findf f,void* v); 2496pvl_elem pvl_find(pvl_list l,pvl_findf f,void* v);
2129pvl_elem pvl_find_next(pvl_list l,pvl_findf f,void* v); 2497pvl_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/**
2132typedef 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 */
2503typedef void (*pvl_applyf)(void* a, void* b);
2133void pvl_apply(pvl_list l,pvl_applyf f, void *v); 2504void 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
2546typedef struct _icalarray icalarray;
2547struct _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
2169typedef void icalcomponent; 2601typedef 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. */
2173typedef struct icalcompiter 2614typedef struct icalcompiter
2174{ 2615{
2175 icalcomponent_kind kind; 2616 icalcomponent_kind kind;
@@ -2184,13 +2625,13 @@ icalcomponent* icalcomponent_vanew(icalcomponent_kind kind, ...);
2184void icalcomponent_free(icalcomponent* component); 2625void icalcomponent_free(icalcomponent* component);
2185 2626
2186char* icalcomponent_as_ical_string(icalcomponent* component); 2627char* icalcomponent_as_ical_string(icalcomponent* component);
2187 2628
2188int icalcomponent_is_valid(icalcomponent* component); 2629int icalcomponent_is_valid(icalcomponent* component);
2189 2630
2190icalcomponent_kind icalcomponent_isa(icalcomponent* component); 2631icalcomponent_kind icalcomponent_isa(const icalcomponent* component);
2191 2632
2192int icalcomponent_isa_component (void* component); 2633int 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,
2230void icalcomponent_remove_component(icalcomponent* parent, 2671void icalcomponent_remove_component(icalcomponent* parent,
2231 icalcomponent* child); 2672 icalcomponent* child);
2232 2673
2233int icalcomponent_count_components(icalcomponent* component, 2674int 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. */
2681void 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
2237external. The internal ones came first, and are almost completely 2686external. The internal ones came first, and are almost completely
2238sufficient, but they fail badly when you want to construct a loop that 2687sufficient, but they fail badly when you want to construct a loop that
2239removes components from the container.*/ 2688removes 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);
2255icalcomponent* icalcompiter_next(icalcompiter* i); 2704icalcomponent* icalcompiter_next(icalcompiter* i);
2256icalcomponent* icalcompiter_prior(icalcompiter* i); 2705icalcomponent* icalcompiter_prior(icalcompiter* i);
2257icalcomponent* icalcompiter_deref(icalcompiter* i); 2706icalcomponent* 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 */
2714int icalcomponent_check_restrictions(icalcomponent* comp);
2263 2715
2716/** Count embedded errors. */
2264int icalcomponent_count_errors(icalcomponent* component); 2717int icalcomponent_count_errors(icalcomponent* component);
2265 2718
2266/* Remove all X-LIC-ERROR properties*/ 2719/** Remove all X-LIC-ERROR properties*/
2267void icalcomponent_strip_errors(icalcomponent* component); 2720void 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*/
2270void icalcomponent_convert_errors(icalcomponent* component); 2723void 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. */
2273icalcomponent* icalcomponent_get_parent(icalcomponent* component); 2726icalcomponent* icalcomponent_get_parent(icalcomponent* component);
2274void icalcomponent_set_parent(icalcomponent* component, 2727void icalcomponent_set_parent(icalcomponent* component,
2275 icalcomponent* parent); 2728 icalcomponent* parent);
2276 2729
2277/* Kind conversion routiens */ 2730/* Kind conversion routines */
2731
2732int icalcomponent_kind_is_valid(const icalcomponent_kind kind);
2278 2733
2279icalcomponent_kind icalcomponent_string_to_kind(const char* string); 2734icalcomponent_kind icalcomponent_string_to_kind(const char* string);
2280 2735
2281const char* icalcomponent_kind_to_string(icalcomponent_kind kind); 2736const char* icalcomponent_kind_to_string(icalcomponent_kind kind);
2282 2737
2283 2738
2284/************* Derived class methods. **************************** 2739/************* Derived class methods. ****************************
2285 2740
2286If the code was in an OO language, the remaining routines would be 2741If the code was in an OO language, the remaining routines would be
2287members of classes derived from icalcomponent. Don't call them on the 2742members of classes derived from icalcomponent. Don't call them on the
2288wrong component subtypes. */ 2743wrong 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 */
2292icalcomponent* icalcomponent_get_first_real_component(icalcomponent *c); 2747icalcomponent* 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 */
2296struct icaltime_span icalcomponent_get_span(icalcomponent* comp); 2751struct icaltime_span icalcomponent_get_span(icalcomponent* comp);
2297 2752
2298/******************** Convienience routines **********************/ 2753/******************** Convienience routines **********************/
2299 2754
2300void icalcomponent_set_dtstart(icalcomponent* comp, struct icaltimetype v); 2755void 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
2313struct icaltimetype icalcomponent_get_dtend(icalcomponent* comp); 2768struct icaltimetype icalcomponent_get_dtend(icalcomponent* comp);
2314void icalcomponent_set_dtend(icalcomponent* comp, struct icaltimetype v); 2769void icalcomponent_set_dtend(icalcomponent* comp, struct icaltimetype v);
2315 2770
2771struct icaltimetype icalcomponent_get_due(icalcomponent* comp);
2772void icalcomponent_set_due(icalcomponent* comp, struct icaltimetype v);
2773
2316void icalcomponent_set_duration(icalcomponent* comp, 2774void icalcomponent_set_duration(icalcomponent* comp,
2317 struct icaldurationtype v); 2775 struct icaldurationtype v);
2318struct icaldurationtype icalcomponent_get_duration(icalcomponent* comp); 2776struct icaldurationtype icalcomponent_get_duration(icalcomponent* comp);
2319 2777
2320void icalcomponent_set_method(icalcomponent* comp, icalproperty_method method); 2778void icalcomponent_set_method(icalcomponent* comp, icalproperty_method method);
2321icalproperty_method icalcomponent_get_method(icalcomponent* comp); 2779icalproperty_method icalcomponent_get_method(icalcomponent* comp);
2322 2780
2323struct icaltimetype icalcomponent_get_dtstamp(icalcomponent* comp); 2781struct icaltimetype icalcomponent_get_dtstamp(icalcomponent* comp);
2324void icalcomponent_set_dtstamp(icalcomponent* comp, struct icaltimetype v); 2782void icalcomponent_set_dtstamp(icalcomponent* comp, struct icaltimetype v);
2325 2783
2326
2327void icalcomponent_set_summary(icalcomponent* comp, const char* v); 2784void icalcomponent_set_summary(icalcomponent* comp, const char* v);
2328const char* icalcomponent_get_summary(icalcomponent* comp); 2785const char* icalcomponent_get_summary(icalcomponent* comp);
2329 2786
2330void icalcomponent_set_comment(icalcomponent* comp, const char* v); 2787void icalcomponent_set_comment(icalcomponent* comp, const char* v);
2331const char* icalcomponent_get_comment(icalcomponent* comp); 2788const char* icalcomponent_get_comment(icalcomponent* comp);
2332 2789
2333void icalcomponent_set_uid(icalcomponent* comp, const char* v); 2790void icalcomponent_set_uid(icalcomponent* comp, const char* v);
2334const char* icalcomponent_get_uid(icalcomponent* comp); 2791const char* icalcomponent_get_uid(icalcomponent* comp);
2335 2792
2793void icalcomponent_set_relcalid(icalcomponent* comp, const char* v);
2794const char* icalcomponent_get_relcalid(icalcomponent* comp);
2795
2336void icalcomponent_set_recurrenceid(icalcomponent* comp, 2796void icalcomponent_set_recurrenceid(icalcomponent* comp,
2337 struct icaltimetype v); 2797 struct icaltimetype v);
2338struct icaltimetype icalcomponent_get_recurrenceid(icalcomponent* comp); 2798struct icaltimetype icalcomponent_get_recurrenceid(icalcomponent* comp);
2339 2799
2800void icalcomponent_set_description(icalcomponent* comp, const char* v);
2801const char* icalcomponent_get_description(icalcomponent* comp);
2340 2802
2341void icalcomponent_set_organizer(icalcomponent* comp, 2803void icalcomponent_set_location(icalcomponent* comp, const char* v);
2342 struct icalorganizertype org); 2804const char* icalcomponent_get_location(icalcomponent* comp);
2343 struct icalorganizertype icalcomponent_get_organizer(icalcomponent* comp);
2344 2805
2806void icalcomponent_set_sequence(icalcomponent* comp, int v);
2807int icalcomponent_get_sequence(icalcomponent* comp);
2345 2808
2346void icalcomponent_add_attendee(icalcomponent *comp, 2809void icalcomponent_set_status(icalcomponent* comp, enum icalproperty_status v);
2347 struct icalattendeetype attendee); 2810enum icalproperty_status icalcomponent_get_status(icalcomponent* comp);
2348 2811
2349int 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. */
2353struct icalattendeetype icalcomponent_get_attendee(icalcomponent *comp, 2815void 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. */
2821icaltimezone* icalcomponent_get_timezone(icalcomponent* comp,
2822 const char *tzid);
2356 2823
2824int icalproperty_recurrence_is_excluded(icalcomponent *comp,
2825 struct icaltimetype *dtstart,
2826 struct icaltimetype *recurtime);
2827
2828void 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
2361icalcomponent* icalcomponent_new_vcalendar(); 2839icalcomponent* icalcomponent_new_vcalendar();
2362icalcomponent* icalcomponent_new_vevent(); 2840icalcomponent* icalcomponent_new_vevent();
@@ -2364,25 +2842,183 @@ icalcomponent* icalcomponent_new_vtodo();
2364icalcomponent* icalcomponent_new_vjournal(); 2842icalcomponent* icalcomponent_new_vjournal();
2365icalcomponent* icalcomponent_new_valarm(); 2843icalcomponent* icalcomponent_new_valarm();
2366icalcomponent* icalcomponent_new_vfreebusy(); 2844icalcomponent* icalcomponent_new_vfreebusy();
2367icalcomponent* icalcomponent_new_vtimezone(); 2845icalcomponent* icalcomponent_new_vtimezone();
2368icalcomponent* icalcomponent_new_xstandard(); 2846icalcomponent* icalcomponent_new_xstandard();
2369icalcomponent* icalcomponent_new_xdaylight(); 2847icalcomponent* icalcomponent_new_xdaylight();
2848icalcomponent* icalcomponent_new_vagenda();
2849icalcomponent* 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 **/
2911void 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. */
2920icaltimezone* 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 */
2998void set_zone_directory(char *path);
2999
3000/** Free memory dedicated to the zonefile directory */
3001void 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
2409typedef void* icalparser; 3045typedef 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
2420typedef enum icalparser_state { 3057typedef 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);
2429icalcomponent* icalparser_add_line(icalparser* parser, char* str ); 3066icalcomponent* icalparser_add_line(icalparser* parser, char* str );
2430icalcomponent* icalparser_clean(icalparser* parser); 3067icalcomponent* icalparser_clean(icalparser* parser);
2431icalparser_state icalparser_get_state(icalparser* parser); 3068icalparser_state icalparser_get_state(icalparser* parser);
2432void icalparser_free(icalparser* parser); 3069void 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
2442icalcomponent* icalparser_parse(icalparser *parser, 3079icalcomponent* 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 */
2447void icalparser_set_gen_data(icalparser* parser, void* data); 3086void icalparser_set_gen_data(icalparser* parser, void* data);
2448 3087
2449 3088
2450icalcomponent* icalparser_parse_string(const char* str); 3089icalcomponent* 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 */
2458icalvalue* icalparser_parse_value(icalvalue_kind kind, 3097icalvalue* 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.*/
2462char* icalparser_get_line(icalparser* parser, char* (*line_gen_func)(char *s, size_t size, void *d)); 3101char* icalparser_get_line(icalparser* parser, char* (*line_gen_func)(char *s, size_t size, void *d));
2463 3102
2464char* string_line_generator(char *out, size_t buf_size, void *d); 3103char* 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
2501void* icalmemory_tmp_buffer(size_t size); 3141void* icalmemory_tmp_buffer(size_t size);
2502char* icalmemory_tmp_copy(const char* str); 3142char* 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. */
2505void icalmemory_add_tmp_buffer(void*); 3145void 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 */
2509void icalmemory_free_ring(void); 3149void 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
2515void* icalmemory_new_buffer(size_t size); 3155void* icalmemory_new_buffer(size_t size);
2516void* icalmemory_resize_buffer(void* buf, size_t size); 3156void* icalmemory_resize_buffer(void* buf, size_t size);
2517void icalmemory_free_buffer(void* buf); 3157void 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
2532void icalmemory_append_string(char** buf, char** pos, size_t* buf_size, 3173void 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 */
2536void icalmemory_append_char(char** buf, char** pos, size_t* buf_size, 3177void 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 */
2541char* icalmemory_strdup(const char *s); 3182char* 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 */
2590void icalerror_stop_here(void); 3229void icalerror_stop_here(void);
2591 3230
2592void icalerror_crash_here(void); 3231void icalerror_crash_here(void);
2593 3232
2594typedef enum icalerrorenum { 3233typedef 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*/ 3248icalerrorenum * icalerrno_return(void);
2611extern 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 */
2614extern int icalerror_errors_are_fatal; 3256extern 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
2625void icalerror_clear_errno(void); 3267void icalerror_clear_errno(void);
3268void _icalerror_set_errno(icalerrorenum);
2626 3269
2627/* Make an individual error fatal or non-fatal. */ 3270/* Make an individual error fatal or non-fatal. */
2628typedef enum icalerrorstate { 3271typedef 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
2650void icalerror_set_errno(icalerrorenum); 3293void 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,
2985icalcomponent* icallangbind_get_first_component(icalcomponent *c, 3621icalcomponent* icallangbind_get_first_component(icalcomponent *c,
2986 const char* comp); 3622 const char* comp);
2987 3623
2988icalcomponent* icallangbind_get_next_component(icalcomponent *c, 3624icalcomponent* icallangbind_get_next_component(icalcomponent *c,
2989 const char* comp); 3625 const char* comp);
2990 3626
3627icalparameter* icallangbind_get_first_parameter(icalproperty *prop);
3628
3629icalparameter* icallangbind_get_next_parameter(icalproperty *prop);
2991 3630
2992const char* icallangbind_property_eval_string(icalproperty* prop, char* sep); 3631const char* icallangbind_property_eval_string(icalproperty* prop, char* sep);
2993 3632
2994 3633
2995int icallangbind_string_to_open_flag(const char* str); 3634int icallangbind_string_to_open_flag(const char* str);
3635
3636const char* icallangbind_quote_as_ical(const char* str);
2996#endif /*__ICALLANGBIND_H__*/ 3637#endif /*__ICALLANGBIND_H__*/
3638#ifdef __cplusplus
3639};
3640#endif