diff options
author | nobody <nobody@localhost> | 2002-03-10 23:35:38 +0800 |
---|---|---|
committer | nobody <nobody@localhost> | 2002-03-10 23:35:38 +0800 |
commit | 6838f88e6ffb7d17dc6912d3241f399ae6dd3a78 (patch) | |
tree | 112fdd1c1308eff2630d6e381ed55bb0b4ee3071 /libical | |
parent | 0bdf8fdb5529e6cda86403085c1f6870796404d3 (diff) | |
download | gsoc2013-evolution-BALSA_1_3_4.tar.gz gsoc2013-evolution-BALSA_1_3_4.tar.zst gsoc2013-evolution-BALSA_1_3_4.zip |
This commit was manufactured by cvs2svn to create tag 'BALSA_1_3_4'.BALSA_1_3_4
svn path=/tags/BALSA_1_3_4/; revision=16011
Diffstat (limited to 'libical')
587 files changed, 0 insertions, 64278 deletions
diff --git a/libical/.cvsignore b/libical/.cvsignore deleted file mode 100644 index 41f3513f40..0000000000 --- a/libical/.cvsignore +++ /dev/null @@ -1,19 +0,0 @@ -*.la -*.lo -.libs -Makefile -Makefile.in -aclocal.m4 -config.cache -config.guess -config.h -config.h.in -config.log -config.status -config.sub -configure -libtool -ltconfig -ltmain.sh -stamp-h -stamp-h.in diff --git a/libical/AUTHORS b/libical/AUTHORS deleted file mode 100644 index 659288c31d..0000000000 --- a/libical/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Eric Busboom <eric@softwarestudio.org> diff --git a/libical/COPYING b/libical/COPYING deleted file mode 100644 index e69de29bb2..0000000000 --- a/libical/COPYING +++ /dev/null diff --git a/libical/ChangeLog b/libical/ChangeLog deleted file mode 100644 index 857528ad03..0000000000 --- a/libical/ChangeLog +++ /dev/null @@ -1,1216 +0,0 @@ -2002-02-08 Damon Chaplin <damon@ximian.com> - - * src/Makefile.am (SUBDIRS): added libicalvcal. - - * configure.in (AC_OUTPUT): added src/libicalvcal/Makefile. - -2002-02-06 Damon Chaplin <damon@ximian.com> - - * src/libicalvcal/icalvcal.c: major changes to support RRULE/EXRULE, - VALARMS and several other properties. - - * src/libicalvcal/icalvcal.h (icalvcal_convert_with_defaults): new - function to pass defaults for a few values into the importer. These - are used when the vCalendar file doesn't provide the property but it - is required in iCalendar. - - * src/libicalvcal/vcc.y: support multi-valued properties, by appending - new ones and separating by ';'. This was pinched from our changes to - evolution/libversit/vcc.y. - - * src/libicalvcal/Makefile.am: renamed library to libicalvcal-evolution - Don't install the headers. - - * design-data/parameters.csv: added new error for error's parsing - vCalendar properties. - -2002-01-28 Dan Winship <danw@ximian.com> - - * src/libical/icalrecur.c (icalrecur_add_bydayrules): Skip over - illegal whitespace in Microsoft-generated BYDAY rules. - -2001-12-18 Damon Chaplin <damon@ximian.com> - - * src/libical/icalyacc.y: removed unused 'trigger:' production. - - * configure.in (AC_OUTPUT): patch from Jeremy Katz <katzj@redhat.com> - to remove src/libicalss/Makefile and src/libicalvcal/Makefile, as we - don't ship those directories now. - -2001-12-10 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_get_display_name): if all - we have is the TZID, see if it is one of our TZIDs and if so get the - city name out of it. Fixes bug #16571. - -2001-11-13 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_get_tzid): initialize the - builtin timezones, to ensure that the TZID of the UTC zone is set. - Hopefully fixes bugs #14941 & #14622. - -2001-10-31 Damon Chaplin <damon@ximian.com> - - * src/libical/icalproperty.c (get_next_line_start): use MAX_LINE_LEN - rather than magic numbers all over the place. - -2001-10-31 Damon Chaplin <damon@ximian.com> - - * src/libical/icalproperty.c (icalproperty_as_ical_string): had to - redo the folding code since Outlook 2000 doesn't like parameter values - like 'TENTATIVE' cut in half. Now it tries to split after a ';', ':' - or space. - -2001-10-30 Damon Chaplin <damon@ximian.com> - - * src/libical/icalproperty.c (fold_property_line): forgot to account - for the spaces added, so it could have been writing over the end of - the allocated memory. Added check for buffer overflow as well. - This could well have been the problem causing bug #14067. - -2001-10-30 Damon Chaplin <damon@ximian.com> - - * zoneinfo/*.ics: Regenerated all VTIMEZONEs, to be compatable with - Outlook Web Access. They now only include 2 RRULEs components or - 1 simple DTSTART component. - -2001-10-29 Damon Chaplin <damon@ximian.com> - - * src/libical/Makefile.am: renamed the library to libical-evolution.la, - install ical.h into $includedir/evolution, with the other Evo headers. - - * src/libical/icalproperty.c (fold_property_line): new function to - fold property lines around every 70 characters. Outlook Web Access - doesn't seem to like some properties folded after the property name - (e.g. UID, VTIMEZONE stuff.) Slight chance of data corruption here. - - * src/libical/icalvalue.c (icalvalue_text_as_ical_string): don't fold - the lines here. - - * src/libical/icaltime.c (icaltime_from_string): DATE values should - not have is_utc set to 1 - they don't have a timezone. - - * src/libical/icalvalue.c (icalvalue_utcoffset_as_ical_string): - always round UTC offsets to the nearest minute, for compatability - with Outlook. Should round data when parsing as well. - -2001-10-27 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_get_display_name): added - function to get a reasonable name to display for the timezone. - (Though it won't be translated.) - -2001-10-25 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_get_tznames_from_vtimezone): - Outlooks (2000) places "Standard Time" and "Daylight Time" in the - TZNAME strings, which is useless, so return NULL in that case. - ETimezoneEntry will then use the TZID instead, in which Outlook does - place the actual timezone name. (I just hope Outlook doesn't translate - "Standard Time" to other languages, as we won't be able to fix it then) - -2001-10-23 Damon Chaplin <damon@ximian.com> - - * src/libical/icalrecur.c (icalrecur_two_byrule): use - sizeof(test_array) for the memset call. It was clearing 9 bytes but - the array uses shorts. - -2001-10-22 Damon Chaplin <damon@ximian.com> - - * zoneinfo/*: updated all files again, placing current RDATEs first, - so Outlook uses those. Also fixed a few bugs in vzic which resulted in - a few changes. - - * zoneinfo/Makefile.am (DIRS): added America/North_Dakota. - -2001-10-22 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_get_utc_offset): - (icaltimezone_get_utc_offset_of_utc_time): if we go off the start of - the changes array, return the TZOFFSETFROM of the first change. - Also changed the maximum year to 2037. - - * src/libical/icaltime.c (icaltime_day_of_week): - (icaltime_start_doy_of_week): - (icaltime_week_number): init tm_hour to 12. Sometimes mktime() - adjusts the time, if that local time doesn't actually exist, leading - to the wrong day being returned. It is unlikely to adjust by 12 hours. - (icaltime_as_timet_with_zone): - (icaltime_from_timet_with_zone): change it back so it does convert - DATE values to/from the timezone. time_t values don't really go well - with DATE values, so be very careful when using them. We now assume - that the time_t points to the start of the day in the given timezone. - (We used to assume it pointed to the start of the day in UTC, but - that meant it was actually incorrect wrt the displayed calendar.) - - * src/libical/icalrecur.c (expand_year_days): for FREQ=YEARLY with no - modifiers, we add one day, using the month and day from DTSTART. - (next_year): make sure we never go past 2037. - - * scripts/mkderivedproperties.pl: Updated to allow DTSTART, DTEND, DUE - and RECURRENCE-ID to be set with DATE values. I think it now handles - all properties which can take DATE values, except RDATE which uses - DATE-TIME-PERIOD. - -2001-10-19 JP Rosevear <jpr@ximian.com> - - * src/libical/icalproperty.c (icalproperty_remove_parameter): - don't free the parameter - -2001-10-05 Ettore Perazzoli <ettore@ximian.com> - - * src/libical/Makefile.am (CLEANFILES): Assign with `=', not `+='. - -2001-09-26 Federico Mena Quintero <federico@ximian.com> - - Fix the libical-related part of Ximian bug #7892. - - * src/libical/icalduration.c (icaldurationtype_as_ical_string): - The correct string for zero seconds is "PT0S", not "PTS0". Also - handle "negative zero" durations. - - * src/libical/icalvalue.c (icalvalue_new_from_string_with_error): - Use icalerrno to see if the duration string is invalid. We cannot - use icaldurationtype_is_null_duration() because a duration of zero - *is* valid, not an error (icalduration_type_from_string() returns - a zero duration on parse error, too). - -2001-09-19 Larry Ewing <lewing@ximian.com> - - * src/libical/icalperiod.c (icalperiodtype_from_string): free the - temp dup'd string. - -2001-09-11 Federico Mena Quintero <federico@ximian.com> - - * src/libical/icalvalue.c (icalvalue_new_from_string_with_error): - Generate an ICAL_ATTACH_VALUE value from the string. - -2001-09-10 Damon Chaplin <damon@ximian.com> - - * src/libical/icalcomponent.c (icalcomponent_compare_vtimezones): - strdup the result of the first call to ical_component_as_ical_string() - since the second call may free it. - Also, don't free the results of ical_component_as_ical_string() since - it is a tmp buffer which is freed elsewhere. - -2001-09-10 Federico Mena Quintero <federico@ximian.com> - - Replace struct icalattachtype by an opaque icalattach that is - properly reference-counted. - - * src/libical/icalvalueimpl.h (struct icalattach_impl): Private - declaration for the icalattach type. - (struct icalvalue_impl): Make the v_attach field be an icalattach *. - - * src/libical/icaltypes.h: Added declaration for icalattach. This - is now an opaque type; the implementation is in icalvalueimpl.h. - (struct icalattachtype): Removed. - - * src/libical/icaltypes.c (icalattach_new_from_url): New function. - (icalattach_new_from_data): New function. - (icalattach_ref): New function. - (icalattach_unref): New function. - (icalattach_get_is_url): New function. - (icalattach_get_url): New function. - (icalattach_get_data): New function. - (icalattachtype_new): Removed. - (icalattachtype_free): Removed. - (icalattachtype_add_reference): Removed. - (icalattachtype_set_url): Removed. - (icalattachtype_get_url): Removed. - (icalattachtype_set_base64): Removed. - (icalattachtype_get_base64): Removed. - (icalattachtype_set_binary): Removed. - (icalattachtype_get_binary): Removed. - - * src/libical/icalderivedvalue.c.in (icalvalue_new_attach): New - function; we implement it ourselves. - (icalvalue_set_attach): New function. - (icalvalue_get_attach): New function. - - * src/libical/icalvalue.c (icalmemory_strdup_and_dequote): Made - static. - (icalvalue_new_clone): Clone BINARY and ATTACH values by refing - the old attach value. - (icalvalue_free): Free BINARY and ATTACH values. - (icalvalue_attach_as_ical_string): Handle the new icalattachtype. - (icalvalue_compare): Ditto. - - * src/libical/Makefile.am (CLEANFILES): Added ical.h. - - * design-data/*: Mark ATTACH as a custom value. - -2001-09-06 Damon Chaplin <damon@ximian.com> - - * src/libical/icalcomponent.c (icalcomponent_merge_vtimezone): pass - the VTIMEZONE component to icalcomponent_compare_vtimezones(), not - the icaltimezone*. Strangely we weren't getting a compiler error. - Fixes bug #5275, hopefully. - - * src/libical/icaltimezone.c (icaltimezone_dump_changes): updated so - it still outputs the same format, even though the '1 Jan 0001' - component isn't included any more. - -2001-08-31 Damon Chaplin <damon@ximian.com> - - * zoneinfo/*: updated all of the VTIMEZONE files to try to be more - compatable with Outlook. i.e. We don't use seconds in UTC offsets, - we don't use BYMONTHDAY if we can avoid it (there are still a few uses - of this we need to fix), and we don't use years < 1600. - - * src/libical/icalvalue.c (icalvalue_utcoffset_as_ical_string): if - seconds is 0 then don't output it. None of the builtin VTIMEZONE data - uses the seconds value any more, since it messes up iTIP with Outlook. - We may want to make it always round to the nearest minute, to avoid - interop problems. - -2001-08-22 Ettore Perazzoli <ettore@ximian.com> - - * configure.in: Remove src/python/Makefile and src/test/Makefile. - -2001-08-16 Federico Mena Quintero <federico@ximian.com> - - * src/libical/icalvalue.c (icalmemory_strdup_and_dequote): Dequote - the same characters that we know how to quote in - icalvalue_text_as_ical_string(). Fixes Ximian bug #7433. - -2001-08-01 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c: removed some debugging messages. - -2001-07-30 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_get_builtin_timezone): - changed the debugging message to avoid a crash on non-glibc boxes. - (Using %s with a NULL argument will crash them.) - -2001-07-30 Damon Chaplin <damon@ximian.com> - - * src/libical/icalcomponent.c (icalcomponent_merge_vtimezone): copy - the TZID just in case the property we got it from gets modified. - (icalcomponent_rename_tzids_callback): break out of the loop if we - have renamed the TZID parameter. Otherwise our tzid variable would be - invalid. - - * scripts/mkderivedproperties.pl (fudge_data): changed this so we can - set EXDATEs that are DATE values, by checking the is_date field. - I'm not entirely sure this is the way it should be done. - If it is, I'll also do this for other things like DTSTART/DTEND. - - * src/libical/icalrecur.c (icalrecurrencetype_as_string): handle - UNTIL as a DATE value as well as a DATE-TIME. - - * src/libical/icalcomponent.c (icalcomponent_compare_vtimezones): - fixed stupid error, getting TZID property from wrong VTIMEZONE. - This would only have affected iTIP stuff, with VTIMEZONEs that don't - use the '/' prefix (i.e. from Outlook). It probably just meant we - kept multiple copies of the same VTIMEZONE. - - * src/libical/icaltimezone.c: removed some debugging messages. - -2001-07-26 JP Rosevear <jpr@ximian.com> - - * src/libical/icalcomponent.c (icalcomponent_begin_component): - call pvl_next on i rather than itr.iter - -2001-07-26 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_convert_time): if from_zone - is NULL (i.e. it is a floating time), just return. - -2001-07-25 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c: accept an icaltimezone* of NULL for all - the public functions, since NULL is used to represent floating times. - -2001-07-25 JP Rosevear <jpr@ximian.com> - - * src/libical/icalparameter.c (icalparameter_as_ical_string): if - the property contains ':' or ';' put the value in quotes so it - parses correctly - -2001-07-23 JP Rosevear <jpr@ximian.com> - - * src/libical/icalparser.c: pass extra param to - icalparser_get_next_char - (icalparser_get_next_char): only use quote mode if the flag is set - -2001-07-23 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltime.c (icaltime_day_of_year): changed so it doesn't - use mktime(). We are having problems because mktime() only works - post 1970. - -2001-07-17 JP Rosevear <jpr@ximian.com> - - * src/libical/icaltimezone.c - (icaltimezone_get_tznames_from_vtimezone): do not strdup a NULL - (valid) timezone - -2001-07-16 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c - (icaltimezone_get_location_from_vtimezone): return NULL if we - couldn't find the LOCATION. - (icaltimezone_get_utc_offset): ifdef'd out a debugging message. - (icaltimezone_get_location): - (icaltimezone_get_latitude): - (icaltimezone_get_longitude): don't load the builtin timezone for - these. We should already have the data from reading zones.tab. - (icaltimezone_get_builtin_timezone_from_tzid): return NULL if the - TZID given is NULL or "" (i.e. a floating time). - -2001-07-10 Peter Williams <peterw@ximian.com> - - * src/libicalss/Makefile.am (libicalss_la_SOURCES): Add the - COMBINEDHEADERS here and remove the EXTRA_DIST. This fixes distcheck. - We can't just put CONBINEDHEADERS at the bottom of _SOURCES because - of the $(srcdir). - -2001-07-11 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c: only create the timezones array when we - need to, and make sure we free things when necessary. - Also added timezones_sorted variable, which we set to 0 when adding a - timezone. We then sort the array before doing binary searches (oops!) - - * src/libical/icaltimezone.[hc]: added free_struct() arg to - icaltimezone_free() to specify whether to free the icaltimezone struct. - Also added icaltimezone_array_free() function. - -2001-07-10 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_convert_time): don't convert - DATE values. - - * src/libical/icaltime.c (icaltime_from_timet_with_zone): - (icaltime_as_timet_with_zone): changed so they do not convert DATE - values according to the timezone. - - * src/libical/icaltime.[hc]: added icaltime_current_time_with_zone() - and icaltime_today() functions. - -2001-07-09 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltime.c (icaltime_adjust): forgot to compile before - committing. Idiot. - -2001-07-09 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_convert_time): if the 2 - zones are the same just return. - - * src/libical/icaltime.c (icaltime_adjust): normalize the month. - -2001-07-03 Damon Chaplin <damon@ximian.com> - - * src/libical/icalcomponent.c (icalcomponent_add_component): add the - icaltimezone to the timezone array of the toplevel VCALENDAR component. - -2001-07-03 Damon Chaplin <damon@ximian.com> - - * src/libical/icalcomponent.c (icalcomponent_merge_component): fixed - bad assertion, '!=' -> '=='. - (icalcomponent_merge_vtimezone): get the TZID from vtimezone, not comp. - -2001-07-03 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltime.c: - * src/libical/icalcomponent.c: more timezone stuff. - -2001-06-28 Peter Williams <peterw@ximian.com> - - * zoneinfo/Makefile.am (dist-hook): Add $(srcdir) as in install-data-local - rule. - -2001-06-28 Damon Chaplin <damon@ximian.com> - - * configure.in: commented out AC_DEFINE(ICAL_ERRORS_ARE_FATAL,1). - We only want it to abort when there is no possibility of carrying on. - -2001-06-26 Damon Chaplin <damon@ximian.com> - - * zoneinfo/*: stripped all blank lines from iCalendar files. - Apparently they aren't exactly legal. Oops. - -2001-06-15 JP Rosevear <jpr@ximian.com> - - * zoneinfo/Makefile.am: Extra dist the zones.tab information - -2001-06-14 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.c (icaltimezone_get_latitude): - (icaltimezone_get_longitude): added functions to get the coords of - builtin timezones. - -2001-06-13 Damon Chaplin <damon@ximian.com> - - * src/libical/icalrecur.c: merged in some new stuff from libical CVS. - (icalrecur_add_byrules): If no sign is given set sign to 1 (i.e. - default to positive). - (icalrecur_iterator_new): when setting up the year days array, handle - the case where a year has no occurrences and we have to skip it. - Also initialize the last.day and last.month fields. - (expand_by_day): set the last day of the year explicitly rather than - adding 1 to year and subtracting 1 from day. It is more efficient, - and less prone to bugs. Also rewrote a bit. - (expand_year_days): added code to handle BY_MONTH_DAY and BY_DAY + - BY_MONTH_DAY, and rewrote code to handle BY_DAY + BY_MONTH. - (next_year): handled the case where there are no occurrences in the - year. - - * src/libical/icaltime.c (icaltime_adjust): new function to adjust a - time by a number of days/hours/minutes/seconds. - (icaltime_day_of_week): rewrote using a single call to mktime(). - (icaltime_day_of_year): rewrote using a single call to mktime(). - (icaltime_from_day_of_year): rewrote in a simpler way. The old version - had a bug in it. - - * src/libical/icaltime.h (struct icaltimetype): added is_daylight - flag, so we can try to distinguish between standard and daylight time - when the clocks go back. Though this doesn't always resolve the - ambiguity. - - * src/libical/icalcomponent.c: added some stuff to handle timezone - data connected to the calendar component. Unfinished. - - * src/libical/icalyacc.y: merged in a fix from sourceforge CVS version - of libical, so we can handle -ve UTC offsets. - - * src/libical/Makefile.am (CPPFLAGS): added PACKAGE_DATA_DIR define - for finding the VTIMEZONE files. - (libical_la_SOURCES): added icalarray.[hc] and icaltimezone.[hc]. - (COMBINEDHEADERS): added icalarray.h and icaltimezone.h to the headers - to be combined into ical.h. - -2001-06-13 Damon Chaplin <damon@ximian.com> - - * src/libical/icaltimezone.[hc]: new files to contain support for - timezones. - - * src/libical/icalarray.[hc]: new files to provide a simple expanding - array datatype. - -2001-06-13 Damon Chaplin <damon@ximian.com> - - * Makefile.am (SUBDIRS): added zoneinfo. - - * configure.in (AC_OUTPUT): added zoneinfo/Makefile. - - * zoneinfo/Makefile.am: new file to install & distribute the - VTIMEZONE data files, and the zones.tab file. - - * zoneinfo/zones.tab: new file containing a list of all timezones - and their coordinates (so we can mark them on the world map). - - * zoneinfo/*: Lots of VTIMEZONE data files added, one per timezone. - -2001-05-16 JP Rosevear <jpr@ximian.com> - - * src/libical/Makefile.am: Fixes to make it make dist and make - distcheck. Kind of kludgy but they seem to work. Time will tell. - -2001-05-10 JP Roseveaer <jpr@ximian.com> - - * src/libical/icaltime.c (set_tz, unset_tz): plug leak - (icaltime_as_timet): use altered functions - (icaltime_utc_offset): ditto - (icaltime_from_day_of_year): ditto - -2001-05-02 JP Rosevear <jpr@ximian.com> - - * src/libical/icalparser.c (icalparser_new): initialize - "continuation_line" to 0 - -2001-04-18 Ettore Perazzoli <ettore@ximian.com> - - * src/Makefile.am (SUBDIRS): Don't compile the Python stuff nor - the tests for now; they are broken. - -2001-04-18 Ettore Perazzoli <ettore@ximian.com> - - * src/libicalss/Makefile.am (COMBINEDHEADERS): All of these have - to come from the srcdir: prepend `$(srcdir)'. - -2001-04-18 Ettore Perazzoli <ettore@ximian.com> - - * src/libical/Makefile.am (COMBINEDHEADERS): Shouldn't prepend - `$(top_builddir)/src/libical' to `icalderivedvalue.h', - `icalderivedparameter.h', `icalderivedproperty.h' here, that - confuses the dependencies for make. - - * src/libical/Makefile.am (ical.h): Depend on - `$(COMBINEDHEADERS)', not `$(BUILT_SOURCES)'. - -2001-04-01 Eric Busboom <eric@softwarestudio.org> - - * icalcomponent.h Changed meaning of - icalcomponent_new_from_string. It used to create a new component - given the text name of the component type to create. Now it calls - icalparser_parse_string to create a new component from the - complete iCalendar text representation of the component. - -2001-03-31 Eric Busboom <eric@softwarestudio.org> - - * icalvalue Changed ACTION properties to take an ACTION value - instead of TEXT. The ACTION value is enumerated. - -2001-03-26 Eric Busboom <eric@softwarestudio.org> - - * icalparameter.h icalparameter_rsvp_* routines now take, return - ICAL_RSVP_TRUE and ICAL_RSVP_FALSE, not 0 and 1 - -2001-03-25 Eric Busboom <eric@softwarestudio.org> - - * icalrecur.c Many changes to get YEARLY rules working and fix - other errors. Recurrences are stil broken, but more types of rue - now work. - -2001-03-16 Eric Busboom <eric@softwarestudio.org> - - * icalparameter.c Changed icalparameter_new_from_string() to - icalparameter_new_from_value_string(). Created new - icalparameter_new_from_string() that takes strings of - form"PARAMNAME=PARAMVALUE" - - * *_XNAME changes all _XNAME enumerations to _X - - * derived props, values, parameters. Seperated out derived - proeprties, parameters and values into their own files. This makes - it easier to auto generate all of the enumerations for values, - parameters and proeprties. - - * icalenum.h Major changes to icalenum. Movel all of the - icalenum_* values to other modules, and changed the names. Look - for #defines in icalenum.h tying the old name to the new - name. Also moved all of the enumerations into other files. - - - -2001-02-26 Eric Busboom <eric@softwarestudio.org> - - * src/libical/icalproperty.c Added - icalproperty_set_parameter_from_string and - icalproperty_set_value_from_string to aid in binding to Python - -2001-02-15 Eric Busboom <eric@softwarestudio.org> - - * design-data/prop-to-value.txt Made a new CSV file, - properties.cvs That collects property-to-value and default value - information - - * src/libical/icalproperty.{c,h}.in Moved auto generated code into - icalderivedproperty.{c,h} and created icalderivedproperty.{c,h}.in - - - -2001-02-14 JP Rosevear <jpr@ximian.com> - - * src/libical/Makefile.am: Sigh, automake is dumber than i thought - -2001-02-12 JP Rosevear <jpr@ximian.com> - - * src/test/Makefile.am: link with the static versions - - * src/python/Makefile.am: use include dir discovered in configure checks - - * src/python/.cvsignore: shush - - * src/libical/icalrestriction.c: remove autogenerated file - - * src/libical/Makefile.am: the generated files are now disted so - look for them in the source dir rather than the build dir - - * src/Makefile.am: Only build the python dir if all the configure - stuff checked out - - * configure.in: Remove shared library disabling and add a python - check and allow for the python bindings to not be built - -2001-02-11 Eric Busboom <eric@softwarestudio.org> - - * src/python/Makefile.am Tweaked makefile to use automake more, - but it stil isn't quie right. - -2001-02-09 JP Rosevear <jpr@ximian.com> - - * Shush cvs - -2001-02-09 JP Rosevear <jpr@ximian.com> - - * src/libical/Makefile.am: Slightly over zealous during the merge - -2001-02-09 JP Rosevear <jpr@ximian.com> - - * src/libical/Makefile.am: Correct typo - - * Removal of more auto generated files - -2001-02-09 JP Rosevear <jpr@ximian.com> - - * Removal of various auto generated files - -2001-02-09 JP Rosevear <jpr@ximian.com> - - * src/libical/icalparameter.c.in (icalparameter_new_from_string): - its NEEDS-ACTION rather than NEEDSACTION - (icalparameter_as_ical_string): ditto - -2001-02-09 Eric Busboom <eric@softwarestudio.org> - - * python Added src/python directory. Inserted SWIG wrapper files, - and a simple interface to Component, Time, Duration, Period and - Store. - - * icallangbind.c More experimental work - - * icalduration.{c,h}, icalperiod.{c,h} Broke out period and - duration types into their own files - -2001-02-06 Christopher James Lahey <clahey@ximian.com> - - * src/libical/icallangbind.c: Added a missing #include here. - - * src/libical/icalrecur.c (icalrecur_add_bydayrules): Copy the - passed in const vals since we change it. - -2001-02-06 Eric Busboom <eric@softwarestudio.org> - - * icaltime.c Changed icaltime_from_day_of_year to run mktime in - the UTC timezone. This fixed a bug where it would return one day - eariler for some timezones. - -2001-02-05 Ettore Perazzoli <ettore@ximian.com> - - * src/libical/Makefile.am (COMBINEDHEADERS): `icalvalue.h', - `icalparameter.h', `icalproperty.h' and `icalrestriction.h' are - created in the builddir so they shouldn't be prefixed with - `$(top_builddir)/src/libical'. - -2001-01-26 Eric Busboom <eric@softwarestudio.org> - - * icalproperty.c.in Improved icalproperty_as_ical_string() to - eliminate the possibility of having a VALUE parameter that does - not match the actual kind of value. - - * icalvalue.c.in made icalvalue_*_trigger() and - icalvalue_*_datetimeperiod non-autogenerated. These routines were - for combined value type -- non standard values that can have more - than on standard value type. These non-standard types now delegate - to stadard types. - -2001-01-24 Dan Winship <danw@helixcode.com> - - * src/libical/icaltime.c: Remove unused "extern long timezone". - -2001-01-24 Eric Busboom <eric@softwarestudio.org> - - * icalfileset.c fixed icalfileset_read-from_file so it will handle - lines longer than 80 char properly. - -2001-01-23 JP Rosevear <jpr@ximian.com> - - * configure.in: Don't AC_INIT on an autogenerated file that does not - exist beforehand - -2001-01-23 Eric Busboom <eric@softwarestudio.org> - - * icltime.c Removed all of the _local_ routines and simplified - icaltime_utc_offset and icaltime_as_timet - - * regression.c Added tests for triggers and improvements to icaltime.c - - * icaltypes.c Addedd icaltriggertype_from_string and changed - icaltriggertype to be a struct - -2001-01-22 Eric Busboom <eric@softwarestudio.org> - - * icaltime.c implemented icaldurationtype_from_string to parse the - string it self, rather than use lex/yacc - -2001-01-15 Eric Busboom <eric@softwarestudio.org> - - * icalfileset.c Many improvements. File locking now works, and so - does searching with icalfileset_select() - -2001-01-08 Eric Busboom <eric@softwarestudio.org> - - * Makefile.am Remove spaces after -I in several - Makefile.am routines. - - * icalset.c removed return statements from some void functions. - - * icalparameter.c.in Added break to default: case that had no - body. Compilers on Solaris and Tru64 UNIX complained. - -2001-01-02 Eric Busboom <eric@softwarestudio.org> - - * icaltime.c Changed icaldurationtype_from_time and _as_timet to - _from_int and _as_int. This is a change interface that may break - some code. - - * icalgauge.c icalgaugeimpl.h, icalgauge.h., Rewrote gauge code to - use pvl-lists directly, instead of trying to reuse icalcomponent. - -2000-12-15 Ettore Perazzoli <ettore@helixcode.com> - - * src/libical/Makefile.am: Build `libical-static.la'. - -2000-12-14 Ettore Perazzoli <ettore@helixcode.com> - - * src/libical/Makefile.am (ical.h): - -2000-12-13 Federico Mena Quintero <federico@helixcode.com> - - * src/libical/icaltime.c (icaltime_from_timet): Use gmtime() - unconditionally, since we want an UTC broken-down representation. - (icaltime_as_timet): Add the offset only if the time was supposed - to be in UTC; that way mktime() will get a proper localtime as - source data. - -2000-12-13 Federico Mena Quintero <federico@helixcode.com> - - * src/libical/icaltime.c (icaltime_from_timet): time_t values - *are* in UTC by definition, so the is_utc argument is useless. - Removed the conversion to UTC and made the icaltimetype.is_utc be - TRUE always. This breaks libical's owne internal use of this - function, but since we do not use any of the functions that use it - that way, we can ignore this. This is basically a temporary - measure until libical does the right thing. - -2000-12-12 Eric Busboom <eric@softwarestudio.org> - - * icalparser.c Addedd support for x-parameters. - - * icalenum.c Fixed icalenum_parameter_type_to_string and - icalenum_property_type_to_string to property identify X- parameers - and properties. - - * icalparameter.c Fixed icalparameter_as_ical_string to property - write out X-Parameters. - - -2000-12-13 Christopher James Lahey <clahey@helixcode.com> - - * src/libical/icalerror.h: Added a name to the parameter to - icalerror_set_errno. - -2000-12-12 Eric Busboom <eric@softwarestudio.org> - - * icalparser.c Addedd support for x-parameters. - - * icalenum.c Fixed icalenum_parameter_type_to_string and - icalenum_property_type_to_string to property identify X- parameers - and properties. - - * icalparameter.c Fixed icalparameter_as_ical_string to property - write out X-Parameters. - - -2000-12-11 Eric Busboom <eric@softwarestudio.org> - - * icalcstp.c added empty bodies to prep_* routines so that shared - libraries would build. - -2000-12-13 Federico Mena Quintero <federico@helixcode.com> - - * src/libical/Makefile.am (COMBINEDHEADERS): Removed the explicit - paths. Why it did *not* work on my original try when they were - not there, well, now I don't know. - -2000-12-13 Ettore Perazzoli <ettore@helixcode.com> - - * src/libicalvcal/Makefile.am (INCLUDES): Add - `$(top_builddir)/src/libical' to the include directory list. - - * src/libical/Makefile.am (icalparameter.h): Use `$(srcdir)'. - (icalparameter.c): Likewise. - (icalproperty.h): Likewise. - (icalproperty.c): Likewise. - (icalvalue.h): Likewise. - (icalvalue.c): Likewise. - (icalrestriction.c): Likewise. - (CLEANFILES): Add `icalparameter.h', `icalparameter.c', - `icalproperty.h', `icalproperty.c', `icalrestriction.c', - `icalvalue.h', `icalvalue.c'. - (COMBINEDHEADERS): `icalvalue.h', `icalparameter.h' and - `icalproperty.h' are in builddir, not srcdir, so fix the list to - use `$(top_builddir)' instead of `$(top_srcdir)'. - (all): Removed. - (BUILT_SOURCES): Move `ical.h' here instead. - (ical.h): Don't depend on `(BUILT_SOURCES)'; this a built source - itself. - -2000-12-12 Joe Shaw <joe@helixcode.com> - - * src/libical/icalrecur.c: #if 0ed out some #if 1ed test code that - was breaking my build by #including ical.h. No cookie! - -2000-12-12 Dan Winship <danw@helixcode.com> - - * configure.in: Add a check for "extern int timezone;" vs struct - tm tm_gmtoff, stolen from Evolution's configure.in. - - * src/libical/icaltime.c (icaltime_utc_offset, - icaltime_local_utc_offset): Use HAVE_TIMEZONE, add tm_gmtoff - support. - - * src/libical/icallexer.l: Remove ical_yy_scan_buffer, ..._string, - and ..._bytes prototypes, since it compiles fine without them on - Linux, and bombs out due to prototype mismatch on my NetBSD box. - -2000-12-11 Federico Mena Quintero <federico@helixcode.com> - - * Makefile.am: - * configure.in: Disable compilation of the examples directory - until libicalss is fixed. - - * configure.in: Make AC_INIT() check for a file that is not - autogenerated! - - * configure.in: Added check for Perl. - -2000-12-11 Federico Mena Quintero <federico@helixcode.com> - - * configure.in (AC_OUTPUT): Fixed order of generated files to make - "make distcheck" work. Turn on AM_MAINTAINER_MODE. - - * src/libical/Makefile.am (EXTRA_DIST): Add icalversion.h.in. - (COMBINEDHEADERS): Added paths to make "make distcheck" work. - (libical_la_SOURCES): Added headers for distribution in our weird - setup. - -2000-12-11 JP Rosevear <jpr@helixcode.com> - - * src/libical/icaltime.c (icaltime_compare_date_only): New - function that compares only the dates, not the times as well. - - * src/libical/icaltime.h: Add prototype for the function above. - - * src/libical/icalrecur.h (struct icalrecurrencetype): Correct - header documentation. - - * src/libical/icaltypes.c: No longer include <limits.h>. - - * src/libical/icalrecur.c: Likewise. - - * src/libical/icalvalue.c.in: Likewise. - - * src/libical/icalyacc.y: Likewise. - -2000-12-06 Eric Busboom <eric@softwarestudio.org> - - * icaltime.c added icaltime_as_local to convert a UTC time to a - local time - - * icaltime.h icaltime.c Removed is_utc argument from - icaltime_from_timet - - -2000-11-29 Eric Busboom <eric@softwarestudio.org> - - * icalrecur.c More testing and bug fixes. Many more of the rules - in recur.txt work correctly. - -2000-11-28 Eric Busboom <eric@softwarestudio.org> - - * icalrecur.c Several changes to extract icalrecur.c from - libical. I'd like to make it into a reference impl for recurrence - rules. CHanges include moving all of the recurrence type and - recurrence enums from icalenum and icaltypes into icalrecur, and - adding code to parse recurrence rule strings. - - * icaltime.c Changed icaltime_from_string to parse the string - directly. Now icaltime.c has no dependency on icalvalue.c - -2000-11-21 Eric Busboom <eric@softwarestudio.org> - - * icalrecur.c Fixed a bug in the increment_* routines that made - incrementing by more then 1 insensible. Thanks to Martin Neimeier - -2000-11-20 Eric Busboom <eric@softwarestudio.org> - - * icalmessage.c Many routines to create new ical messages. - - * icalspanlist.c Code to generate a list of the busy time f the - VEVENTS in a set. Also includes routiens to generate free and busy - lists from the spanlist, and to find the next free time after a - given time. - - * icalvalue.c The STATUS property now has its own value type, - STATUS, which holds the enumeration icalproperty_status. - - * icalrestriction.c Added more restrictions. Now handles mutual - and exclusive consitions, and checks for the reight values in - STATUS properties - - -2000-11-10 Eric Busboom <eric@softwarestudio.org> - - * icaltypes.c Added routine to create durationtype from string: - icaldurationtype_from_string - -2000-11-09 Eric Busboom <eric@softwarestudio.org> - - * icalcomponet.c Add sever get/set convienience routines to access - and manipulate common component propoerties from the component - interface. This eliminates the need to create a lot of temporary - variables if you just want to change the start time of and event. - -2000-11-06 Eric Busboom <eric@softwarestudio.org> - - * icalcomponent.c Added new routines to icalcomponent: - _get_span -- returns the start and end times of the event in UTC - _get_first_real_component -- return ref to VTODO, VEVENT or VJOURNAL - - * icalspanlist.c Added new class, icalspanlist, that generates a - list of alternating busy and free times from an icalset. The class - includes routines to gnerate rfc2445 busy and free lists, and to - get the next avaliable busy or free time after a given time. - -2000-11-06 Federico Mena Quintero <federico@helixcode.com> - - * src/libical/icalvalue.c (icalvalue_recur_as_ical_string): Handle - both the position and weekday in the by_day field. - -2000-10-20 Jesse Pavel <jpavel@helixcode.com> - - * src/libical/icalproperty.c: added support for the - icalproperty_remove_parameter() function. - -2000-10-20 Eric Busboom <eric@agony.busboom.org> - - * Const correctness. Added 'const' all over everywhere. - -2000-10-19 Eric Busboom <eric@agony.busboom.org> - - * icalproperty, icalparameter, icalvalue .c, .h Changed most - instances of char* to const char* - - * icalclassify.h Added multiple include protection - - * icalset.h and others, got rid of parameter named "new" - -2000-10-15 Eric Busboom <eric@softwarestudio.org> - - * icalcomponent Added convienience functions for constructing - components: icalcomponent_new_vcalendar(), etc. - - * Makefile.am Incorporated build system patch from Federico - Quintero. Misc small fixes and cleanup - - * scripts Incorporated auto-gen patch from Frederico. Generated - code in libical now uses icalproperty.c.in (etc) instead of - editing file icalparoperty.c in place. - - * libical. Changed flex/bison to use the -P/-p options to set - ical_yy as a prefix. Removed prefix redefinition from icalyacc.y - -2000-10-12 Eric Busboom <eric@softwarestudio.org> - - * icalproperty.c Fixed icalproperty_get_{first,next}_parameter to - honor the parameter kind argument - - * icalparameter.c Added, but did not complete, a new version of - icalparameters_from_string that does not use the hairy nested - case/switch statements of the previous version - -2000-10-11 Damon Chaplin <damon@helixcode.com> - - * src/libical/icalparameter.c (icalparameter_as_ical_string): - (icalparameter_new_from_string): - * src/libical/icalparser.c (icalparser_add_line): add support for - 'X-' parameters. - -2000-10-07 Dan Winship <danw@helixcode.com> - - * src/libical/icalyacc.y (weekday_list): Fix the semicolons in - this rule. Noticed by x-virge. - - * src/test/Makefile.in: While I'm here, remove this from CVS, as - it's a generated file. - -2000-10-02 Eric Busboom <eric@softwarestudio.org> - - * ical.h ical.h and icalss.h now are concatenations of all of the - public headers for their respective libraries. Thus, only ical.h, - icalss.h and icalvcal.h need to be installed. - -2000-09-12 Ettore Perazzoli <ettore@helixcode.com> - - * configure.in: AC_OUTPUT the Makefile in `src' before the stuff - in its subdirs. - -2000-09-12 JP Rosevear <jpr@helixcode.com> - - * test-data/stresstest.ics: Merge missing file for distcheck - - * src/libicalss/icalcstp.h: ditto - - * src/libicalss/icalcsdb.h: ditto - -2000-09-11 Eric Busboom <eric@softwarestudio.org> - - * icalvcal.c Added more comments - -2000-09-01 JP Rosevear <jpr@helixcode.com> - - * configure.in: We don't need AC_PROG_RANLIB and - AM_PROG_LIBTOOL - - * src/libical/icalyacc.y (clear_recur): Explicitly - set the week_start to the Monday default in case the - recurrence rule does not. - -2000-08-31 JP Rosevear <jpr@helixcode.com> - - * Kill off more old, dead files - -2000-08-31 JP Rosevear <jpr@helixcode.com> - - * MacOS: This dir is not in 0.19 - -2000-08-31 JP Rosevear <jpr@helixcode.com> - - * src/libical/CHANGES: This file is not in 0.19 - -2000-08-31 JP Rosevear <jpr@helixcode.com> - - * src/libical/.gdb_history: Kill file - - * src/libical/.gdb_history: Kill file - -2000-08-31 JP Rosevear <jpr@helixcode.com> - - * src/pvl/Makefile: Kill old file - - * src/test/usecases.c: Kill old file - - * src/test/.cvsignore: Update - - * src/libicalvcal/.cvsignore: Update - - * examples/.cvsignore: Shut up - -2000-08-31 JP Rosevear <jpr@helixcode.com> - - * configure.in: Don't list config.h in AC_OUTPUT - -2000-08-26 Ettore Perazzoli <ettore@helixcode.com> - - * examples/Makefile.am (INCLUDES): More `$(srcdir)' loving. - - * src/libicalvcal/Makefile.am (INCLUDES): Add `-I - $(srcdir)/../libical' for builddir != srcdir loving. - -2000-08-25 Christopher James Lahey <clahey@helixcode.com> - - * examples/access_properties_and_parameters.c, - src/libicalvcal/vcc.y: Got rid of some warnings. - - * src/libicalvcal/vcc.c: Checking in generated C file. - -2000-08-25 Christopher James Lahey <clahey@helixcode.com> - - * src/libical/icalcomponent.c: Fixed an incorrect struct name. - -2000-08-25 Peter Williams <peterw@helixcode.com> - - * src/libical/icalcomponent.c (icalcomponent_end_component): Compile fix; - use icalerror_check_arg_re so we can return an valid icalcompiter. - (icalcomponent_begin_component): Same. - -2000-08-24 JP Rosevear <jpr@helixcode.com> - - * src/libical/icalvcal.h: Remove this duplicate file to fix build - -2000-08-24 Federico Mena Quintero <federico@helixcode.com> - - * src/test/Makefile.am: Make it work. - -2000-08-04 Eric Busboom <eric@softwarestudio.org> - - * stow.c Changed stow to write data to a file ( icalfileset) not a - calendar. Also added MIME parsing capability - - * sspm.c Core of the mime processor. Now handles quoted-printable - and base64 encodings - - * icalmime.h New file that parses mime data and returns an - icalcomponent that includes all of the parts. - - -2000-07-26 Eric Busboom <eric@softwarestudio.org> - - * icaldirset.h misc bug fixes to get deleting components to work - - * icalcomponent.h Eliminated internal use of _get_first_component - and _get_next_component, since these will reset the interal - iterators. - -2000-07-23 Eric Busboom <eric@softwarestudio.org> - - * icalcomponent.h Added external iterators to icalcomponent for - subcomponents: icalcompiter. These are still experimental, but they - seem to work OK and have a nice syntax - -2000-07-18 Eric Busboom <eric@softwarestudio.org> - - * icalset This is a new "superclass" for icalstore, icalcluster, - and others. It merges the interfaces of the old icalstore and - icalcluster - - * icalstore.{c,h} CHanged name to icaldirset - - * icalcluster.{c,h} Changed name to icalfileset - - -2000-06-12 Eric Busboom <eric@softwarestudio.org> - - * icalstow.c misc improvements and bug fixes to make it useful. - -2000-06-09 Eric Busboom <eric@softwarestudio.org> - - * icalrecur.c More extensive code changes for recurrence rule. - - * icalyacc.y Added support for integers in by day lists - -2000-06-08 Ettore Perazzoli <ettore@helixcode.com> - - * src/test/Makefile.am (INCLUDES): Likewise. - - * src/libicalss/Makefile.am (INCLUDES): Use $(srcdir) to allow - builddir != srcdir. - -2000-06-01 Eric Busboom <eric@softwarestudio.org> - - * icalrecur.c moved recur code into new files - -2000-05-30 Eric Busboom <eric@softwarestudio.org> - - * icaltypes.c Extensive work on code to expand recurences - - * icaltypes.h Changed signature icaltimetype_from_timet to include - is_utc flag. - - -2000-03-17 Eric Busboom <eric@softwarestudio.org> - - * icalstore.c Vastly improved icalstore_test. - -2000-03-16 Eric Busboom <eric@softwarestudio.org> - - * icalcluster.c Added compile flag (ICAL_SAFESAVES) to switch how - icalcluster saves files during commits. When the flag is define, - it will write the data to a temorar file and rename the file to - the target file. - - * storage.c Added seterate test suite for sotage components - - * icalparser.c Created parser object, implemented line-oriented - parsering, and made message oriented parsing work in terms f line - oriented parsing. - - * icalparser.c Fixed icalparser_get_line to remove \r in input. - - diff --git a/libical/INSTALL b/libical/INSTALL deleted file mode 100644 index b3f195d679..0000000000 --- a/libical/INSTALL +++ /dev/null @@ -1,24 +0,0 @@ -Building the library --------------------- - -This distribution is developed on Red Hat Linux 6.0 and usually -compiles on SunOS 5.6 and FreeBSD 2.27. I have reports of success of -previous version on MacOS ( with CodeWarrior ) and on UnixWare, but I -don't know about any other systems. - -The library is configured with automake. From the root directory, run - - ./configure - -To build all of the Makefiles for your system. If you will be installing the library, you may want to use the --prefix flag to set the directory where the library and header files will be installed. - - ./configure --prefix=/proj/local/ - -If configure runs fine, run "make" to build the library and -"make install" to install it. - -The current version of libical focuses on creating and -manipulating iCal objects. With it, you can parse text representations -of iCal components, add and remove sub-components, properties, -parameters and values, and print the components back out as strings. - diff --git a/libical/Makefile.am b/libical/Makefile.am deleted file mode 100644 index 2220da18ec..0000000000 --- a/libical/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ - -EXTRA_DIST = \ - ChangeLog \ - README \ - TEST \ - TODO - -SUBDIRS = design-data doc scripts test-data src zoneinfo - -# Disabled examples until it builds -#SUBDIRS = design-data doc scripts test-data src examples - diff --git a/libical/NEWS b/libical/NEWS deleted file mode 100644 index 16a7924645..0000000000 --- a/libical/NEWS +++ /dev/null @@ -1,447 +0,0 @@ -Version 0.23, 26 Mar 01 ( cvs tag libical-0-23 ) ------------------------------------------------- - -**** Incompatibilities with previous versions **** - -icalparameter_new_rsvp -icalparameter_get_rsvp -icalparameter_set_rsvp - - These routines now take and return ICAL_RSVP_TRUE and - ICAL_RSVP_FALSE instead of 0 and 1 - -icalenum_*_to_* - - These routines have been moved to icalproperty, icalparameter - or icalvalue - - - -Python interface: An alpha level python interface is available in -src/python. - -Perl interface: A pre-alpha level interface is available in -src/Net-ICal-Libical - -Code Autogeneration: Converted all of the important files in -design-data/ to .csv files and improved the code that is generated -from them. Now all of the enumerations for property, parameters and -values are generated from thes files, as are the string -representations for the enumerations. You can add a new property or -parameter to the system simply by adding a line to the appropriate -file in design-data/ - -Recurrences: Improved the recurrence code by fixing bugs in MONTHLY -recurrences and completely re-implementing expand_year_days() for -YEARLY recurrences. Hubert V's aided in testing. - -Build system: JP Rosevear made several improvements to the build -system. Now checking out the code from cvs should give to a complete -but minimal distribution, without any of the autognerated files. - -Interface changes: Nearly all of the icalenum routines for converting -between strings and enumerations have been moved out of icalenum into -icalproperty, icalparameter and icalvalue. This means that their names -have changed, although #defines have been added to icalenum.h to map -back to the old names. - -Added src/libical/icllangbind.c that has some functions to make it -easier to bind libical to other languages. - - -Version 0.22, 15 Jan 01 ( cvs tag libical-0-22) ----------------------------------------------- - -Many improvements to the time routines in icaltime.c. I think that -they actually make sense now. Note that there is an interface change -with icaltime_from_timet() -- I removed the is_utc parameter, since -all timet values are in UTC. Use icaltime_from_int() if you really -want the old interface - -Major improvements to icalfileset. icalfileset_select now works and so -does file locking. - -Minor revision to the documentation, but it does include a new section -on file storage ( icalfileset ) and time ( icaltime.c) - -Lots of bug fixes and small patches. - -I improved the regression test in src/test/regression.c. It now have -command line switches to select specific tests ( undocumentated, of -course ) and more of the tests include asserts, so you can just run it -without looking at the output. If the test runs without crashing, it -is mostly OK. - - - -Version 0.21, 20 Nov 00 ( cvs tag libical-0-21) ----------------------------------------------- - - * icalmessage.c Many routines to create new ical messages. - - * icalspanlist.c Code to generate a list of the busy time f the - VEVENTS in a set. Also includes routiens to generate free and busy - lists from the spanlist, and to find the next free time after a - given time. - - * icalvalue.c The STATUS property now has its own value type, - STATUS, which holds the enumeration icalproperty_status. - - * icalrestriction.c Added more restrictions. Now handles mutual - and exclusive consitions, and checks for the reight values in - STATUS properties - - * icaltypes.c Added routine to create durationtype from string: - icaldurationtype_from_string - - - * icalcomponet.c Add sever get/set convienience routines to access - and manipulate common component propoerties from the component - interface. This eliminates the need to create a lot of temporary - variables if you just want to change the start time of and event. - - - * icalcomponent.c Added new routines to icalcomponent: - _get_span -- returns the start and end times of the event in UTC - _get_first_real_component -- return ref to VTODO, VEVENT or VJOURNAL - - * icalspanlist.c Added new class, icalspanlist, that generates a - list of alternating busy and free times from an icalset. The class - includes routines to gnerate rfc2445 busy and free lists, and to - get the next avaliable busy or free time after a given time. - - -Version 0.20D 3 Nov 00 ------------------------ - -Many miscelaneous tweaks to the build system - -More work to icalclassify. - -Aded routines to icaltime.c to convert to and from specific timezones -in Olsen format ("America/Los_Angeles") - - -Version 0.20 7 Sept 00 (cvs tag libical-0-20 ) ----------------------------------------------- - -Addedd icalclassify() which looks at a message and determine how to -process it. - -Misc bug fixes and tweaks. - -Version 0.19 6 August 00 (cvs tag libical-0-19) ------------------------------------------------ - -Created a MIME parser in icalmime.c. This will take any complex MIME -encapsulated message and return an icalcomponent with the same -structure. Each MIME part is represented by a component of type -X-LIC-MIMEPART. - -Added MIME partsing to stow.c - -Added external iterators to icalcomponent. See test_iterators() in -test/regression.c - -Refactored icalcluster and icalstore into icalset, icalfileset and -icaldirset, which have a pseudo inheritance relationship between them. - -Fixed more memory leaks. - -Version 0.18a 10 June 00 ( cvs tag libical-0-18a ) ------------------------------------------------ - -Did the final tweaks to stow.c, a program to recieve and store iMIP -messages. - - -Version 0.18 10 June 00 ( cvs tag libical-0-18 ) ------------------------------------------------ - -Added libicalvcal, which includes the Versit code for parsing vCal -files and a routine (icalvcal_convert() ) that converts a vCal object -to an iCal object. The test program is src/test/testvcal. - -Added marginally functional recurrence code. The curent code does not -handle all of the examples in rfc2445 ( which are extracted in -test-data/recur.txt ) but it can do all of the obvious cases. See the -test program in src/test/recur.c for an example. In particular, the -code cannot handle the integer values in BYDAY, nor negative integers -in BYMONTH or BYMONTHDAY. It also cannot handle BYSETPOS. - -Moved some code to the examples directory and improved the comments. - -Did a little more work on the documentation in the doc directory. The -documentation is in LyX source, but there is a text version in -UsingLibical.txt - - -Version 0.17 15 May 00 (cvs tag libical-0-17 ) ---------------------------------------------- - -Fixed two bugs that added extraneous '/' to test values - -Fixed type in internal string for the COUNTER method - -Eliminated a memory leak in icalparser.c - - -Version 0.16a 29 April 00 ----------------------------------------------- - -Fixed bug in icalvalue_new_from_string that caused METHOD value to -choke on non standard input. - -Fixed a memory leak in icalparser_add_line -- failed to free 'line' - - -Version 0.16 5 April 00 ( cvs tag libical-0-16) ----------------------------------------------- - -Now using automake. - -Substantial changes to the parser. New interfaces let you parser -multiple components from a single stream by feading the parser object -one line at a time. - -Added a STRING value type. this type is like TEXT, but does not -backslash magic characters. It is used in PRODID and REQUEST-STATUS, -where the '/' and ';' are literal. - -Added several convience functions for REQUEST-STATUS to icalenums.c - -Addedd a routine to icalcomponent to convert X-LIC errors to -REQUEST-STATUS return values. - -Version 0.15a 5 Mar 00 (cvs tag libical-0-15a) ---------------------- - -Experimented with CVS - -Fixed icalvalue_set_text to convert escaped characters into the proper -values. - -Other minor code tweaks. - - -Version 0.15 7 Feb 00 ---------------------- - -Split the storage classess ( icalstore, icalcluster, icalcalendar ) -into a seperate library, libicalss - -Implemented restriction checking in file icalrestrictions.c. The -checking is not complete, but can handle the bulk of the restrictions -described in RFC 2446. - -Created a new value type, METHOD. Changed METHOD property to use the -new value. The METHOD value uses an enumeration. - - -Version 0.14b -------------- - -Implemented parsing of RECUR values, although it does not handle BYDAY -specs with numbers. - -Fixed error in icalparser_next_line that mangled lines longer than the -temp buffer (1024 chars.) The temp buffer is now 80 chars, and it can -handle (apparently) arbitrary length lines - -Fixed severe brokenness in a value, but I forgot which one. - -Cleaned cruft out of the distribution, so the tarfile is smaller. - - -Version 0.14a 14 Jan 00 ------------------------ - -Fixed bug in ROLE parameter -- missing '-' in the text of allowed values - -Fixed bug in X-parameters - -Version 0.14 11 Jan 00 ----------------------- - -Fixed wrong value type for TRIGGER property - -Added Calendar object. Calendar is an aggregate of two stores and two -clusters, and can store all of the inforamation associated with a -calendar. - -icalcomponent_add_property and icalcomponent_add_component will -complain if you try to add a component or property that is already -part of an other component. The *_free routines wil complain if you try -to free a linked component or property. - -More improvements to error handling. - -Parser is much more robust. - -Minor memory enhancements. - -Regression test runs without memory leaks. - -Version 0.13d 21Dec99 ---------------------- - -Seperated perl interface and library - -Added autoconf support - -Scripts that generate derived properties, values and parameters now -change source and header files inline. - -Changed icalstore to cluster all components with DTSTART in a month -into a single file. This should reduce number of file accesses by a -factor of 60. - -Ran code through Purify and fixed memory leaks. - - -Version 0.13 16Nov99 ---------------------- - -Yet more bug fixes! Yeah! - -Added better error handling. The Parser inserts X-LIC-*ERROR -properties to warn of parsing errors. - -The imip source/sink programs in /src/imip is demonstrably functional. - -Version 0.12b 17Oct99 ---------------------- - -More bug fixes, particularily in parse from string routines - -ICal::Store is mostly functional - -This is version is a checkpoint, not a release. - -Version 0.12a 10Oct99 ---------------------- - -Expanded perl interface: - Added 1/2 of Store module - Fixed bugs - Implemeted get_{first,next}_property - -Extended C interface - Made get_{first,next}_property work properly - Fixed bugs - - -This is version is a checkpoint, not a release. - -Version 0.12 27Aug99 --------------------- - -Added a rudimentatry perl interface - -This is version is a checkpoint, not a release. - - -Version 0.11 11Aug99 --------------------- - -Eliminated most use of flex/bison -- all parsing, except for the -values, is done in C. - -Cleaned up memory leaks. Purify claims that I got them all. - -Moved all derived component/prop/param/value code ( in .inc / .h -files) into main files ( icalcomponent.{c,h}, icalproperty.{c,h}, etc/ -) - -Implemented *_clone routines. - -Fixed a lot of bugs. - -Implemented more value types. Still unimplemeneted are BINARY and RECUR - -Included MacOS/Code Warior files from Graham Davison - - -Version 0.10 8Jul99 -------------------- - -Eliminated shift/reduce and reduce/reduce conflicts in the parser. -This version is almost feature complete -- it has the basic structure -for all of the library's functionality, and it will only require -implementing procedure shells and fixing bugs. I think that all of the -hard work is done... - -Version 0.09a,b 3,7 Jul99 -------------------------- - -Various improvements to the parser, added some functionality. The parser code -is mostly complete, and should be fully functional, except for a horde of -bugs. Also added support for X-Properties. - -Version 0.09 25Jun99 --------------------- - -Added a parser in files src/comp/icalitip.{y,l} The lexer is mostly -functional, but the parser is not. - - -Version 0.08 2Jun99 --------------------- - -All files now have MPL licensing - -Implement enough of the code to perform some rudimentary testing - - -Version 0.07 14May99 --------------------- - -Remove all interfaces that construct object from a string - -Moved most code back into comp directory - -Implemented C files for most headers -- usecases.c now links. - -Many improvements to generation scripts. - - - -Version 0.06 25Apr99 --------------------- - -Expanded distribution to include: - Directory structure that can accomodate future expansion - Several levels of Makefiles - This CHANGES file - -Added headers for irip and parse modules - -Added several files with design information - -Added scripts that I had used to generate much of the ical header code. - -Split C headers from CC headers - -Added data for iTIP and iCAL component restrictions in restrictions.csv - -Version 0.05 11Apr99 ----------------------- - -Changes to ical headers - - Added derived Property classes. - - Improved the interface to the derived property and parameter classes - - Added derived component classes. - - Created usecases.c and ccusecases.cc to demonstrate use - - C++ interface compile - - -Version 0.04 5Apr99 -------------------- - -Version 0.02 30Mar99 --------------------- diff --git a/libical/README b/libical/README deleted file mode 100644 index 92b2ff6e86..0000000000 --- a/libical/README +++ /dev/null @@ -1,100 +0,0 @@ - -LIBICAL -- An implementation of basic iCAL protocols - -The code and datafiles in this distribution are licensed under the -Mozilla Public License. See http://www.mozilla.org/NPL/MPL-1.0.html -for a copy of the license. Alternately, you may use libical under the -terms of the GNU Library General Public License. See -http://www.fsf.org/copyleft/lesser.html for a copy of the LGPL. - -This dual license ensures that the library can be incorporated into -both proprietary code and GPL'd programs, and will benefit from -improvements made by programmers in both realms. I will only accept -changes into my version of the library if they are similarly -dual-licensed. - -The code in this distribution implements the iCal protocols as -described in RFC2445 and RFC2446. The code is in very early stages of -development. - -Portions of this distribution are (C) Copyright 1996 Apple Computer, -Inc., AT&T Corp., International Business Machines Corporation and -Siemens Rolm Communications Inc. See src/libicalvcal/README.TXT for -details. - -This code is under active development. If you would like to contribute -to the project, you can contact me, Eric Busboom, at -eric@softwarestudio.org. The project has a webpage at - - http://softwarestudio.org/libical/index.html - -and a mailing list that you can join by sending the following mail: - - ------------ - To: minimalist@softwarestudio.org - Subject: subscribe libical - ------------ - - -Building the library --------------------- - -This distribution is developed on Red Hat Linux 6.0 and usually -compiles on SunOS 5.6 and FreeBSD 2.27. I have reports of success of -previous version on MacOS ( with CodeWarrior ) and on UnixWare, but I -don't know about any other systems. - -The library is configured with automake. From the root directory, run - - ./configure - -To build all of the Makefiles for your system. If you will be installing the library, you may want to use the --prefix flag to set the directory where the library and header files will be installed. - - ./configure --prefix=/proj/local/ - -If configure runs fine, run "make" to build the library and -"make install" to install it. - -Although the distribution uses libtool to generate libraries, it has -shared libraries turned off by default. To create and install shared -libraries use: - - ./configure --enable-shared - -The current version of libical focuses on creating and -manipulating iCal objects. With it, you can parse text representations -of iCal components, add and remove sub-components, properties, -parameters and values, and print the components back out as strings. - - -Notes for Libical Developers -------------------- - -If you don't want to use gcc as the compiler, and you got the sources -from CVS, you should set the CC variable to the path to the compiler -and run "automake --include-deps" to keep automake from using -gcc-specific automatic dependancy tracking. - - > CC=/pkg/SUNWspro/bin/cc; export CC - > automake --include-deps - > ./configure --prefix=/proj/local/ - > make - -You will not need to re-run automake unless you got the sources from CVS. - -Using the Library ------------------ - -There is rudimentary, unfinished documentation in the /doc directory, -and annotated examples in /examples. - - -Perl Library ------------- - -There is a perl language binding of this library, LIBICAL. -It is available from http://www.softwarestudio.org/libical - - -Eric Busboom -eric@softwarestudio.org diff --git a/libical/TEST b/libical/TEST deleted file mode 100644 index 90c3473b31..0000000000 --- a/libical/TEST +++ /dev/null @@ -1,4 +0,0 @@ - -Parser Tests ------------- -Use iCAL keywords as first words of unquoted strings
\ No newline at end of file diff --git a/libical/THANKS b/libical/THANKS deleted file mode 100644 index a56bca9365..0000000000 --- a/libical/THANKS +++ /dev/null @@ -1,54 +0,0 @@ -Thanks to: - -Allan Clark <allanc@atlas.platypus.bc.ca> for testing libical against -UnixWare. - -Graham Davison <g.m.davison@computer.org> for MacOS support and -miscelaneous code bits - -Seth Alves <alves@hungry.com> for the first cut at the Makefile.am -files and various utility functions. - -Russ Steinthal <rms39@columbia.edu> for several utility functions and -comments. - -Ola Lundqvist <olalu526@student.liu.se> for the vCal test data file. - -Colin DuPlantis <colin@cp.net> for new functions in icalparser.c - -Holger Schmidt <hschmidt@chronolabs.de> for all of icalcstp.c, The -CSTP protocol implementation, and modifications to icalcstp.h - -Gisle Hannemyr <gisle@oslonett.no> The decode*() functions in sspm.c -are based on the decode() routine in the mimelite program, Copyright -(c) 1994 Gisle Hannemyr. - -The Evolution team at Helixcode ( Federico Mena Quintero -<federico@helixcode.com>, JP Rosevear <jpr@helixcode.com>, Ettore -Perazzoli <ettore@helixcode.com>, Christopher James Lahey -<clahey@helixcode.com>, Peter Williams <peterw@helixcode.com>) for -miscelaneous patches and adjustments to the build system. - -Cornelius Schumacher <schumacher@kde.org> for many insightful -suggestions and a few patches. - -Mark D. Anderson <mda@discerning.com> for discussions and ideas. - -Martin Neimeier <nei@ibn.de> for correcting bugs in icalrecur.c - -Tom Leitner <tom@radar.tu-graz.ac.at> For several bug fixes in -compiling on Tru64 UNIX. - -Patrick Lewis <plewis@inetarena.com> for several bug reports and -contributions to the Python bindings - -Larry W. Virden <lvirden@cas.org> for several bug reports in compiling -on Solaris. - -Bryan Bartone <bsb@mesasys.com> for code changes based on porting -libical to Windows. - -Hubert V <hubertv@bigfoot.com> for checking and analyzing the output -of the recurrence rule system. - -Jonathan Yue <jonathan.yue@cp.net> for icalproperty_get_name() diff --git a/libical/TODO b/libical/TODO deleted file mode 100644 index eb52fb7a25..0000000000 --- a/libical/TODO +++ /dev/null @@ -1,39 +0,0 @@ - -TODOs for libical-0.16 ---------------------- - -libical treats properties with multiple values incorrecty -- it always -seperates multiple values into multiple properties. This is not -acceptable for CATEGORIES and RESOURCES. - -Some TEXT valued properties, like METHOD, have a limited set of valid -values. The code should check that the values of these properites are -valid. ( Although METHOD now uses enums, and is not really TEXT valued ) - -Finish implementing values - ATTACH/BINARY - content_type - language - -Check for buffer overflow on external input. - -Error Handling - - Dates and times: the parser will accept many illegal date time - values - -RECUR values ignore integers in BYDAY clauses, ie 'FREQ=MONTHLY;BYDAY=-1SU' - -Restrictions code does not catch lack of DTEND or DURATION - -For some value types, if there illegal characters in the value ( like -4.56 in an integer value), the parser will output the characters to -stdout. - -Check all uses of strcpy and sprinf for buffer overflows - -Make the mime parsing code in sspm grow the list of parts as needed, -rather than having a hard limit. - -in sspm.c, and unrecognized content-transfer-encoding values must -force a content type of application/octet-stream. diff --git a/libical/acconfig.h b/libical/acconfig.h deleted file mode 100644 index f4909b0c46..0000000000 --- a/libical/acconfig.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Define to make icalerror_* calls abort instead of internally - signalling an error */ -#undef ICAL_ERRORS_ARE_FATAL - -/* Define to make icalcluster_commit() save to a temp file and mv to - the original file instead of writing to the orig file directly */ -#undef ICAL_SAFESAVES - -/* Define to terminate lines with "\n" instead of "\r\n" */ -#undef ICAL_UNIX_NEWLINE - -/* Define if your libc defines a "timezone" variable */ -#undef HAVE_TIMEZONE - -/* Define if your libc defines a struct tm containing a "tm_gmtoff" member */ -#undef HAVE_TM_GMTOFF - -/* Define to 1 if your compile does not like lines like: struct - something foo[]*/ -#undef ICAL_NO_EMPTY_ARRAY_DECL diff --git a/libical/autogen.sh b/libical/autogen.sh deleted file mode 100755 index e15e4e33a8..0000000000 --- a/libical/autogen.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# Run this to generate all the initial makefiles, etc. - -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -ORIGDIR=`pwd` -cd $srcdir -PROJECT=libical -TEST_TYPE=-d -FILE=src - -DIE=0 - -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoconf installed to compile $PROJECT." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" - DIE=1 -} - -(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have automake installed to compile $PROJECT." - echo "Get ftp://ftp.cygnus.com/pub/home/tromey/automake-1.2d.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -test $TEST_TYPE $FILE || { - echo "You must run this script in the top-level $PROJECT directory" - exit 1 -} - -if test -z "$*"; then - echo "I am going to run ./configure with no arguments - if you wish " - echo "to pass any to it, please specify them on the $0 command line." -fi - -case $CC in -*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;; -esac - -if test -z "$ACLOCAL_FLAGS"; then - - acdir=`aclocal --print-ac-dir` - m4list="glib.m4" - - for file in $m4list - do - if [ ! -f "$acdir/$file" ]; then - echo "WARNING: aclocal's directory is $acdir, but..." - echo " no file $acdir/$file" - echo " You may see fatal macro warnings below." - echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS " - echo " environment variable to \"-I /some/dir\", or install" - echo " $acdir/$file." - echo "" - fi - done -fi - -aclocal $ACLOCAL_FLAGS - -# optionally feature autoheader -(autoheader --version) < /dev/null > /dev/null 2>&1 && autoheader - -automake -a $am_opt -autoconf -cd $ORIGDIR - -$srcdir/configure "$@" - -echo -echo "Now type 'make' to compile $PROJECT." diff --git a/libical/configure.in b/libical/configure.in deleted file mode 100644 index a07b8be2b3..0000000000 --- a/libical/configure.in +++ /dev/null @@ -1,101 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(src) -AM_INIT_AUTOMAKE(libical-evolution,0.23a) -AM_CONFIG_HEADER(config.h) - -dnl Initialize maintainer mode -AM_MAINTAINER_MODE - -dnl Checks for programs. -AC_PROG_YACC -AC_PROG_CC -AM_PROG_LEX -AC_PROG_LN_S -AC_PROG_INSTALL - -dnl Initialize libtool -AM_PROG_LIBTOOL - -AC_SUBST(AR) - -AC_CHECK_PROGS(AR, ar aal, ar) -AC_CHECK_PROGS(PERL, perl5 perl) - -dnl AC_DEFINE(ICAL_ERRORS_ARE_FATAL,1) -AC_DEFINE(ICAL_SAFESAVES,1) -AC_DEFINE(ICAL_UNIX_NEWLINE,1) -dnl AC_DEFINE(ICAL_NO_EMPTY_ARRAY_DECL) - -dnl Checks for libraries. -dnl Replace `main' with a function in -lical: -dnl AC_CHECK_LIB(ical, main) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(time.h sys/types.h assert.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T -AC_STRUCT_TM - -dnl Checks for library functions. -AC_CHECK_FUNCS(strdup) - -dnl ************************************************** -dnl * Check for Python -dnl ************************************************** -python_val=false -AC_ARG_ENABLE(python-bindings, -[ --enable-python-bindings=[yes/no] Enable python bindings],,enable_python_bindings=yes) -if test "x$enable_python_bindings" = "xyes"; then - python_val=true -else - python_val=false -fi - -if $python_val; then - AC_CHECK_PROG(python_val, python, true, false) -fi -if $python_val; then - AC_CHECK_PROG(python_val, swig, true, false) -fi - -if $python_val; then - PY_PREFIX=`python -c 'import sys ; print sys.prefix'` - PY_EXEC_PREFIX=`python -c 'import sys ; print sys.exec_prefix'` - changequote(<<, >>)dnl - PY_VERSION=`python -c 'import sys ; print sys.version[0:3]'` - changequote([, ])dnl - if test -f $PY_PREFIX/include/python$PY_VERSION/Python.h; then - PY_LIBS="python$PY_VERSION" - PY_LIB_LOC="-L$PY_EXEC_PREFIX/lib/python$PY_VERSION/config" - PY_CFLAGS="-I$PY_PREFIX/include/python$PY_VERSION" - PY_MAKEFILE="$PY_EXEC_PREFIX/lib/python$PY_VERSION/config/Makefile" - PY_LOCALMODLIBS=`sed -n -e 's/^LOCALMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE` - PY_BASEMODLIBS=`sed -n -e 's/^BASEMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE` - PY_OTHER_LIBS=`sed -n -e 's/^LIBS=\(.*\)/\1/p' $PY_MAKEFILE` - PY_EXTRA_LIBS="$PY_LOCALMODLIBS $PY_BASEMODLIBS $PY_OTHER_LIBS" - AC_SUBST(PY_LIBS) - AC_SUBST(PY_LIB_LOC) - AC_SUBST(PY_CFLAGS) - AC_SUBST(PY_EXTRA_LIBS) - else - python_val=false - fi -fi -AM_CONDITIONAL(WITH_PYTHON, $python_val) - -AC_OUTPUT([ -Makefile -design-data/Makefile -doc/Makefile -scripts/Makefile -src/Makefile -src/libical/Makefile -src/libical/icalversion.h -src/libicalvcal/Makefile -test-data/Makefile -zoneinfo/Makefile -]) - diff --git a/libical/design-data/.cvsignore b/libical/design-data/.cvsignore deleted file mode 100644 index 3dda72986f..0000000000 --- a/libical/design-data/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile.in -Makefile diff --git a/libical/design-data/Makefile.am b/libical/design-data/Makefile.am deleted file mode 100644 index 8f27cd6ce0..0000000000 --- a/libical/design-data/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -EXTRA_DIST =\ - properties.csv \ - parameters.csv \ - restrictions.csv \ - status.txt \ - value-types.csv diff --git a/libical/design-data/components.txt b/libical/design-data/components.txt deleted file mode 100644 index ae5cc976ad..0000000000 --- a/libical/design-data/components.txt +++ /dev/null @@ -1,22 +0,0 @@ -VCALENDAR -VEVENT -VTODO -VJOURNAL -VFREEBUSY -VTIMEZONE -XSTANDARDTIME -XDAYLIGHTSAVINGSTIME -VALARM -XAUDIOALARM -XDISPLAYALARM -XEMAILALARM -XPROCEDUREALARM -X -VSCHEDULE -VQUERY -VCAR -VCOMMAND -XLICINVALID -XMIMEPART -ANY - diff --git a/libical/design-data/param-c-types.txt b/libical/design-data/param-c-types.txt deleted file mode 100644 index 3f690fa0dc..0000000000 --- a/libical/design-data/param-c-types.txt +++ /dev/null @@ -1,23 +0,0 @@ -ALTREP const char* -CN const char* -CUTYPE icalparameter_cutype -DELEGATED-FROM const char* -DELEGATED-TO const char* -DIR const char* -ENCODING icalparameter_encoding -FBTYPE icalparameter_fbtype -FMTTYPE const char* -LANGUAGE const char* -MEMBER const char* -PARTSTAT icalparameter_partstat -RANGE icalparameter_range -RELATED icalparameter_related -RELTYPE icalparameter_reltype -ROLE icalparameter_role -RSVP int -SENT-BY const char* -TZID const char* -VALUE icalparameter_value -X const char* -X-LIC-ERRORTYPE icalparameter_xlicerrortype -X-LIC-COMPARETYPE icalparameter_xliccomparetype diff --git a/libical/design-data/parameters.csv b/libical/design-data/parameters.csv deleted file mode 100644 index f223b415a8..0000000000 --- a/libical/design-data/parameters.csv +++ /dev/null @@ -1,24 +0,0 @@ -"#Name ","C Type","Enumeration Values" -"ALTREP","const char*", -"CN","const char*", -"CUTYPE","icalparameter_cutype","INDIVIDUAL;GROUP;RESOURCE;ROOM;UNKNOWN" -"DELEGATED-FROM","const char*", -"DELEGATED-TO","const char*", -"DIR","const char*", -"ENCODING","icalparameter_encoding","8BIT;BASE64" -"FBTYPE","icalparameter_fbtype","FREE;BUSY;BUSYUNAVAILABLE;BUSYTENTATIVE" -"FMTTYPE","const char*", -"LANGUAGE","const char*", -"MEMBER","const char*", -"PARTSTAT","icalparameter_partstat","NEEDS-ACTION;ACCEPTED;DECLINED;TENTATIVE;DELEGATED;COMPLETED;INPROCESS" -"RANGE","icalparameter_range","THISANDPRIOR;THISANDFUTURE" -"RELATED","icalparameter_related","START;END " -"RELTYPE","icalparameter_reltype","PARENT;CHILD;SIBLING" -"ROLE","icalparameter_role","CHAIR;REQ-PARTICIPANT;OPT-PARTICIPANT;NON-PARTICIPANT" -"RSVP","icalparameter_rsvp","TRUE;FALSE" -"SENT-BY","const char*", -"TZID","const char*", -"VALUE","icalparameter_value","BINARY;BOOLEAN;DATE;DURATION;FLOAT;INTEGER;PERIOD;RECUR;TEXT;TIME;URI;ERROR;DATE-TIME;UTC-OFFSET;CAL-ADDRESS" -"X","const char*", -"X-LIC-ERRORTYPE","icalparameter_xlicerrortype","COMPONENT-PARSE-ERROR;PROPERTY-PARSE-ERROR;PARAMETER-NAME-PARSE-ERROR;PARAMETER-VALUE-PARSE-ERROR;VALUE-PARSE-ERROR;INVALID-ITIP;UNKNOWN-VCAL-PROP-ERROR;MIME-PARSE-ERROR;VCAL-PROP-PARSE-ERROR" -"X-LIC-COMPARETYPE","icalparameter_xliccomparetype","EQUAL;NOTEQUAL;LESS;GREATER;LESSEQUAL;GREATEREQUAL;REGEX" diff --git a/libical/design-data/params-in-prop.txt b/libical/design-data/params-in-prop.txt deleted file mode 100644 index 4d4e133fc3..0000000000 --- a/libical/design-data/params-in-prop.txt +++ /dev/null @@ -1,55 +0,0 @@ -ACTION VALUE X -ATTACH FMTTYPE ENCODING VALUE X -ATTENDEE CN CUTYPE DELEGATED-FROM DELEGATED-TO DIR LANGUAGE MEMBER PARTSTAT ROLE RSVP SENT-BY X -CALSCALE X -CATEGORIES LANGUAGE X -CLASS X -COMMENT ALTREP LANGUAGE X -COMPLETED X -CONTACT ALTREP LANGUAGE X -CREATED X -DESCRIPTION ALTREP LANGUAGE X -DTEND VALUE TZID X -DTSTAMP X -DTSTART VALUE TZID X -DUE VALUE TZID X -DURATION X -EXDATE VALUE TZID X -EXRULE X -FREEBUSY FBTYPE X -GEO X -LAST-MODIFIED X -LOCATION ALTREP LANGUAGE X -METHOD X -ORGANIZER CN DIR LANGUAGE SENT-BY X -PERCENT-COMPLETE X -PRIORITY X -PRODID X -RDATE VALUE TZID X -RECURRENCE-ID VALUE RANGE TZID X -RELATED-TO RELTYPE X -REPEAT X -REQUEST-STATUS LANGUAGE X -RESOURCES ALTREP LANGUAGE X -RRULE X -SEQUENCE X -STATUS X -SUMMARY ALTREP LANGUAGE X -TRANSP X -TRIGGER VALUE RELATED X -TZID X -TZNAME LANGUAGE X -TZOFFSETFROM X -TZOFFSETTO X -TZURL X -UID X -URL X -VERSION X -XPROP LANGUAGE X -X-LIC-ERROR XLICEERRORTYPE X -SCOPE X -MAXRESULTS X -MAXRESULTSSIZE X -QUERY X -QUERYNAME X -TARGET X
\ No newline at end of file diff --git a/libical/design-data/prop-to-value.txt b/libical/design-data/prop-to-value.txt deleted file mode 100644 index a7d0c1f772..0000000000 --- a/libical/design-data/prop-to-value.txt +++ /dev/null @@ -1,57 +0,0 @@ -CALSCALE TEXT -METHOD METHOD # Non-std. RFC2445 specifies TEXT -PRODID TEXT -VERSION TEXT -CATEGORIES TEXT -CLASS TEXT -COMMENT TEXT -DESCRIPTION TEXT -LOCATION TEXT -PERCENT-COMPLETE INTEGER -PRIORITY INTEGER -RESOURCES TEXT -STATUS STATUS -SUMMARY TEXT -COMPLETED DATE-TIME -FREEBUSY PERIOD -TRANSP TEXT -TZNAME TEXT -TZOFFSETFROM UTC-OFFSET -TZOFFSETTO UTC-OFFSET -TZURL URI -TZID TEXT -ATTENDEE CAL-ADDRESS -CONTACT TEXT -ORGANIZER CAL-ADDRESS -RELATED-TO TEXT -URL URI -UID TEXT -EXRULE RECUR -RRULE RECUR -ACTION TEXT -REPEAT INTEGER -CREATED DATE-TIME -DTSTAMP DATE-TIME -LAST-MODIFIED DATE-TIME -SEQUENCE INTEGER -X TEXT -REQUEST-STATUS STRING -ATTACH ATTACH # Non-std: URI or BINARY -GEO GEO # Non-std: Two FLOATS -DTEND DATE-TIME # Non-std: DATE-TIME or DATE -DUE DATE-TIME # Non-std: DATE-TIME or DATE -DTSTART DATE-TIME # Non-std: DATE-TIME or DATE -RECURRENCE-ID DATE-TIME # Non-std: DATE-TIME or DATE -EXDATE DATE-TIME # Non-std: DATE-TIME or DATE -RDATE DATE-TIME-PERIOD # Non-std: DATE-TIME or DATE or PERIOD -TRIGGER TRIGGER # Non-std: DURATION or DATE-TIME -DURATION DURATION -QUERY QUERY -X-LIC-ERROR TEXT -X-LIC-CLUSTERCOUNT INTEGER -X-LIC-MIMECONTENTTYPE STRING -X-LIC-MIMECHARSET STRING -X-LIC-MIMEENCODING STRING -X-LIC-MIMEOPTINFO STRING -X-LIC-MIMECID STRING -X-LIC-MIMEFILENAME STRING diff --git a/libical/design-data/properties.csv b/libical/design-data/properties.csv deleted file mode 100644 index dca6810d8f..0000000000 --- a/libical/design-data/properties.csv +++ /dev/null @@ -1,66 +0,0 @@ -,, -"#Property Name","libical Value type","iCalendar default value" -"ACTION","ACTION","ACTION" -"ATTACH","ATTACH","URI" -"ATTENDEE","CAL-ADDRESS","CAL-ADDRESS" -"CALSCALE","TEXT","TEXT" -"CATEGORIES","TEXT","TEXT" -"CLASS","TEXT","TEXT" -"COMMENT","TEXT","TEXT" -"COMPLETED","DATE-TIME","DATE-TIME" -"CONTACT","TEXT","TEXT" -"CREATED","DATE-TIME","DATE-TIME" -"DESCRIPTION","TEXT","TEXT" -"DTEND","DATE-TIME","DATE-TIME" -"DTSTAMP","DATE-TIME","DATE-TIME" -"DTSTART","DATE-TIME","DATE-TIME" -"DUE","DATE-TIME","DATE-TIME" -"DURATION","DURATION","DURATION" -"EXDATE","DATE-TIME","DATE-TIME" -"EXRULE","RECUR","RECUR" -"FREEBUSY","PERIOD","PERIOD" -"GEO","GEO","GEO" -"LAST-MODIFIED","DATE-TIME","DATE-TIME" -"LOCATION","TEXT","TEXT" -"METHOD","METHOD","METHOD" -"ORGANIZER","CAL-ADDRESS","CAL-ADDRESS" -"PERCENT-COMPLETE","INTEGER","INTEGER" -"PRIORITY","INTEGER","INTEGER" -"PRODID","TEXT","TEXT" -"RDATE","DATE-TIME-PERIOD","DATE-TIME" -"RECURRENCE-ID","DATE-TIME","DATE-TIME" -"RELATED-TO","TEXT","TEXT" -"REPEAT","INTEGER","INTEGER" -"REQUEST-STATUS","STRING","STRING" -"RESOURCES","TEXT","TEXT" -"RRULE","RECUR","RECUR" -"SEQUENCE","INTEGER","INTEGER" -"STATUS","STATUS","STATUS" -"SUMMARY","TEXT","TEXT" -"TRANSP","TEXT","TEXT" -"TRIGGER","TRIGGER","DURATION" -"TZID","TEXT","TEXT" -"TZNAME","TEXT","TEXT" -"TZOFFSETFROM","UTC-OFFSET","UTC-OFFSET" -"TZOFFSETTO","UTC-OFFSET","UTC-OFFSET" -"TZURL","URI","URI" -"UID","TEXT","TEXT" -"URL","URI","URI" -"VERSION","TEXT","TEXT" -"X","TEXT","TEXT" -"SCOPE","TEXT","TEXT" -"MAXRESULTS","INTEGER","INTEGER" -"MAXRESULTSSIZE","INTEGER","INTEGER" -"QUERY","QUERY","QUERY" -"QUERYNAME","TEXT","TEXT" -"TARGET","CAL-ADDRESS","CAL-ADDRESS" -"X-LIC-ERROR","TEXT","TEXT" -"X-LIC-CLUSTERCOUNT","STRING","STRING" -"X-LIC-MIMECONTENTTYPE","STRING","STRING" -"X-LIC-MIMECHARSET","STRING","STRING" -"X-LIC-MIMEENCODING","STRING","STRING" -"X-LIC-MIMEOPTINFO","STRING","STRING" -"X-LIC-MIMECID","STRING","STRING" -"X-LIC-MIMEFILENAME","STRING","STRING" -"ANY","NO","NO" -"NO","NO","NO" diff --git a/libical/design-data/property-tokens.txt b/libical/design-data/property-tokens.txt deleted file mode 100644 index f8a95861c4..0000000000 --- a/libical/design-data/property-tokens.txt +++ /dev/null @@ -1,65 +0,0 @@ -8BIT -ACCEPTED -ADD -AUDIO -BASE64 -BINARY -BOOLEAN -BUSY -BUSY-TENTATIVE -BUSY-UNAVAILABLE -CAL-ADDRESS -CANCEL -CANCELLED -CHAIR -CHILD -COMPLETED -CONFIDENTIAL -CONFIRMED -COUNTER -DATE -DATE-TIME -DECLINECOUNTER -DECLINED -DELEGATED -DISPLAY -DRAFT -DURATION -EMAIL -END -FINAL -FLOAT -FREE -GREGORIAN -GROUP -INDIVIDUAL -IN-PROCESS -INTEGER -NEEDS-ACTION -NON-PARTICIPANT -OPAQUE -OPT-PARTICIPANT -PARENT -PERIOD -PRIVATE -PROCEDURE -PUBLIC -PUBLISH -RECUR -REFRESH -REPLY -REQ-PARTICIPANT -REQUEST -RESOURCE -ROOM -SIBLING -START -TENTATIVE -TEXT -THISANDFUTURE -THISANDPRIOR -TIME -TRANSPAENT -UNKNOWN -UTCOFFSET -XNAME diff --git a/libical/design-data/restrictions.csv b/libical/design-data/restrictions.csv deleted file mode 100644 index 1c62e2a8b4..0000000000 --- a/libical/design-data/restrictions.csv +++ /dev/null @@ -1,1348 +0,0 @@ -# Method, Target component, Property, Sub-component, Restriction -PUBLISH,VEVENT,NONE,NONE,ONEPLUS -PUBLISH,VEVENT,DTSTAMP,NONE,ONE -PUBLISH,VEVENT,DTSTART,NONE,ONE -PUBLISH,VEVENT,ORGANIZER,NONE,ONE -PUBLISH,VEVENT,SUMMARY,NONE,ONE -PUBLISH,VEVENT,UID,NONE,ONE -PUBLISH,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -PUBLISH,VEVENT,SEQUENCE,NONE,ZEROORONE -PUBLISH,VEVENT,ATTACH,NONE,ZEROPLUS -PUBLISH,VEVENT,CATEGORIES,NONE,ZEROPLUS #Non-standard -PUBLISH,VEVENT,CLASS,NONE,ZEROORONE -PUBLISH,VEVENT,COMMENT,NONE,ZEROORONE -PUBLISH,VEVENT,CONTACT,NONE,ZEROPLUS -PUBLISH,VEVENT,CREATED,NONE,ZEROORONE -PUBLISH,VEVENT,DESCRIPTION,NONE,ZEROORONE -PUBLISH,VEVENT,DTEND,NONE,ZEROORONE -PUBLISH,VEVENT,DURATION,NONE,ZEROORONE -PUBLISH,VEVENT,EXDATE,NONE,ZEROPLUS -PUBLISH,VEVENT,EXRULE,NONE,ZEROPLUS -PUBLISH,VEVENT,GEO,NONE,ZEROORONE -PUBLISH,VEVENT,LASTMODIFIED,NONE,ZEROORONE -PUBLISH,VEVENT,LOCATION,NONE,ZEROORONE -PUBLISH,VEVENT,PRIORITY,NONE,ZEROORONE -PUBLISH,VEVENT,RDATE,NONE,ZEROPLUS -PUBLISH,VEVENT,RELATEDTO,NONE,ZEROPLUS -PUBLISH,VEVENT,RESOURCES,NONE,ZEROORONE -PUBLISH,VEVENT,RRULE,NONE,ZEROPLUS -PUBLISH,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf_cancel -PUBLISH,VEVENT,TRANSP,NONE,ZEROORONE -PUBLISH,VEVENT,URL,NONE,ZEROORONE -PUBLISH,VEVENT,X,NONE,ZEROPLUS -PUBLISH,VEVENT,ATTENDEE,NONE,ZERO -PUBLISH,VEVENT,REQUESTSTATUS,NONE,ZERO -PUBLISH,VEVENT,NONE,VALARM,ZEROPLUS -PUBLISH,VEVENT,NONE,VFREEBUSY,ZERO -PUBLISH,VEVENT,NONE,VJOURNAL,ZERO -PUBLISH,VEVENT,NONE,VTODO,ZERO -PUBLISH,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref -PUBLISH,VEVENT,NONE,X,ZEROPLUS -REQUEST,VEVENT,NONE,NONE,ONEPLUS -REQUEST,VEVENT,ATTENDEE,NONE,ONEPLUS -REQUEST,VEVENT,DTSTAMP,NONE,ONE -REQUEST,VEVENT,DTSTART,NONE,ONE -REQUEST,VEVENT,ORGANIZER,NONE,ONE -REQUEST,VEVENT,SEQUENCE,NONE,ZEROORONE -REQUEST,VEVENT,SUMMARY,NONE,ONE -REQUEST,VEVENT,UID,NONE,ONE -REQUEST,VEVENT,ATTACH,NONE,ZEROPLUS -REQUEST,VEVENT,CATEGORIES,NONE,ZEROPLUS #Non-standard -REQUEST,VEVENT,CLASS,NONE,ZEROORONE -REQUEST,VEVENT,COMMENT,NONE,ZEROORONE -REQUEST,VEVENT,CONTACT,NONE,ZEROPLUS -REQUEST,VEVENT,CREATED,NONE,ZEROORONE -REQUEST,VEVENT,DESCRIPTION,NONE,ZEROORONE -REQUEST,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration -REQUEST,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_dtend -REQUEST,VEVENT,EXDATE,NONE,ZEROPLUS -REQUEST,VEVENT,EXRULE,NONE,ZEROPLUS -REQUEST,VEVENT,GEO,NONE,ZEROORONE -REQUEST,VEVENT,LASTMODIFIED,NONE,ZEROORONE -REQUEST,VEVENT,LOCATION,NONE,ZEROORONE -REQUEST,VEVENT,PRIORITY,NONE,ZEROORONE -REQUEST,VEVENT,RDATE,NONE,ZEROPLUS -REQUEST,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -REQUEST,VEVENT,RELATEDTO,NONE,ZEROPLUS -REQUEST,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS -REQUEST,VEVENT,RESOURCES,NONE,ZEROORONE -REQUEST,VEVENT,RRULE,NONE,ZEROPLUS -REQUEST,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf -REQUEST,VEVENT,TRANSP,NONE,ZEROORONE -REQUEST,VEVENT,URL,NONE,ZEROORONE -REQUEST,VEVENT,X,NONE,ZEROPLUS -REQUEST,VEVENT,NONE,VALARM,ZEROPLUS -REQUEST,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref -REQUEST,VEVENT,NONE,X,ZEROPLUS -REQUEST,VEVENT,NONE,VFREEBUSY,ZERO -REQUEST,VEVENT,NONE,VJOURNAL,ZERO -REQUEST,VEVENT,NONE,VTODO,ZERO -REPLY,VEVENT,NONE,NONE,ONEPLUS -REPLY,VEVENT,ATTENDEE,NONE,ONE -REPLY,VEVENT,DTSTAMP,NONE,ONE -REPLY,VEVENT,ORGANIZER,NONE,ONE -REPLY,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -REPLY,VEVENT,UID,NONE,ONE -REPLY,VEVENT,SEQUENCE,NONE,ZEROORONE -REPLY,VEVENT,ATTACH,NONE,ZEROPLUS -REPLY,VEVENT,CATEGORIES,NONE,ZEROPLUS #Non-standard -REPLY,VEVENT,CLASS,NONE,ZEROORONE -REPLY,VEVENT,COMMENT,NONE,ZEROORONE -REPLY,VEVENT,CONTACT,NONE,ZEROPLUS -REPLY,VEVENT,CREATED,NONE,ZEROORONE -REPLY,VEVENT,DESCRIPTION,NONE,ZEROORONE -REPLY,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration -REPLY,VEVENT,DTSTART,NONE,ZEROORONE -REPLY,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_dtend -REPLY,VEVENT,EXDATE,NONE,ZEROPLUS -REPLY,VEVENT,EXRULE,NONE,ZEROPLUS -REPLY,VEVENT,GEO,NONE,ZEROORONE -REPLY,VEVENT,LASTMODIFIED,NONE,ZEROORONE -REPLY,VEVENT,LOCATION,NONE,ZEROORONE -REPLY,VEVENT,PRIORITY,NONE,ZEROORONE -REPLY,VEVENT,RDATE,NONE,ZEROPLUS -REPLY,VEVENT,RELATEDTO,NONE,ZEROPLUS -REPLY,VEVENT,RESOURCES,NONE,ZEROORONE -REPLY,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS -REPLY,VEVENT,RRULE,NONE,ZEROPLUS -REPLY,VEVENT,STATUS,NONE,ZEROORONE -REPLY,VEVENT,SUMMARY,NONE,ZEROORONE -REPLY,VEVENT,TRANSP,NONE,ZEROORONE -REPLY,VEVENT,URL,NONE,ZEROORONE -REPLY,VEVENT,X,NONE,ZEROPLUS -REPLY,VEVENT,NONE,VTIMEZONE,ZEROORONE,must_if_tz_ref -REPLY,VEVENT,NONE,X,ZEROPLUS -REPLY,VEVENT,NONE,VALARM,ZERO -REPLY,VEVENT,NONE,VFREEBUSY,ZERO -REPLY,VEVENT,NONE,VJOURNAL,ZERO -REPLY,VEVENT,NONE,VTODO,ZERO -ADD,VEVENT,NONE,NONE,ONE -ADD,VEVENT,DTSTAMP,NONE,ONE -ADD,VEVENT,DTSTART,NONE,ONE -ADD,VEVENT,ORGANIZER,NONE,ONE -ADD,VEVENT,SEQUENCE,NONE,ONE -ADD,VEVENT,SUMMARY,NONE,ONE -ADD,VEVENT,UID,NONE,ONE -ADD,VEVENT,ATTACH,NONE,ZEROPLUS -ADD,VEVENT,ATTENDEE,NONE,ZEROPLUS -ADD,VEVENT,CATEGORIES,NONE,ZEROPLUS #Non-standard -ADD,VEVENT,CLASS,NONE,ZEROORONE -ADD,VEVENT,COMMENT,NONE,ZEROORONE -ADD,VEVENT,CONTACT,NONE,ZEROPLUS -ADD,VEVENT,CREATED,NONE,ZEROORONE -ADD,VEVENT,DESCRIPTION,NONE,ZEROORONE -ADD,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration -ADD,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration -ADD,VEVENT,EXDATE,NONE,ZEROPLUS -ADD,VEVENT,EXRULE,NONE,ZEROPLUS -ADD,VEVENT,GEO,NONE,ZEROORONE -ADD,VEVENT,LASTMODIFIED,NONE,ZEROORONE -ADD,VEVENT,LOCATION,NONE,ZEROORONE -ADD,VEVENT,PRIORITY,NONE,ZEROORONE -ADD,VEVENT,RDATE,NONE,ZEROPLUS -ADD,VEVENT,RELATEDTO,NONE,ZEROPLUS -ADD,VEVENT,RESOURCES,NONE,ZEROORONE -ADD,VEVENT,RRULE,NONE,ZEROPLUS -ADD,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf -ADD,VEVENT,TRANSP,NONE,ZEROORONE -ADD,VEVENT,URL,NONE,ZEROORONE -ADD,VEVENT,X,NONE,ZEROPLUS -ADD,VEVENT,RECURRENCEID,NONE,ZERO,must_be_recurring -ADD,VEVENT,REQUESTSTATUS,NONE,ZERO -ADD,VEVENT,NONE,VALARM,ZEROPLUS -ADD,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref -ADD,VEVENT,NONE,X,ZEROPLUS -ADD,VEVENT,NONE,VFREEBUSY,ZERO -ADD,VEVENT,NONE,VTODO,ZERO -ADD,VEVENT,NONE,VJOURNAL,ZERO -CANCEL,VEVENT,NONE,NONE,ONEPLUS -CANCEL,VEVENT,ATTENDEE,NONE,ZEROPLUS -CANCEL,VEVENT,DTSTAMP,NONE,ONE -CANCEL,VEVENT,ORGANIZER,NONE,ONE -CANCEL,VEVENT,SEQUENCE,NONE,ONE -CANCEL,VEVENT,UID,NONE,ONE -CANCEL,VEVENT,COMMENT,NONE,ZEROORONE -CANCEL,VEVENT,ATTACH,NONE,ZEROPLUS -CANCEL,VEVENT,CATEGORIES,NONE,ZEROPLUS #Non-standard -CANCEL,VEVENT,CLASS,NONE,ZEROORONE -CANCEL,VEVENT,CONTACT,NONE,ZEROPLUS -CANCEL,VEVENT,CREATED,NONE,ZEROORONE -CANCEL,VEVENT,DESCRIPTION,NONE,ZEROORONE -CANCEL,VEVENT,DTEND,NONE,ONEEXCLUSIVE ,no_duration -CANCEL,VEVENT,DTSTART,NONE,ZEROORONE -CANCEL,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration -CANCEL,VEVENT,EXDATE,NONE,ZEROPLUS -CANCEL,VEVENT,EXRULE,NONE,ZEROPLUS -CANCEL,VEVENT,GEO,NONE,ZEROORONE -CANCEL,VEVENT,LASTMODIFIED,NONE,ZEROORONE -CANCEL,VEVENT,LOCATION,NONE,ZEROORONE -CANCEL,VEVENT,PRIORITY,NONE,ZEROORONE -CANCEL,VEVENT,RDATE,NONE,ZEROPLUS -CANCEL,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -CANCEL,VEVENT,RELATEDTO,NONE,ZEROPLUS -CANCEL,VEVENT,RESOURCES,NONE,ZEROORONE -CANCEL,VEVENT,RRULE,NONE,ZEROPLUS -CANCEL,VEVENT,STATUS,NONE,ZEROORONE,must_be_canceled_no_attendee -CANCEL,VEVENT,SUMMARY,NONE,ZEROORONE -CANCEL,VEVENT,TRANSP,NONE,ZEROORONE -CANCEL,VEVENT,URL,NONE,ZEROORONE -CANCEL,VEVENT,X,NONE,ZEROPLUS -CANCEL,VEVENT,REQUESTSTATUS,NONE,ZERO -CANCEL,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref -CANCEL,VEVENT,NONE,X,ZEROPLUS -CANCEL,VEVENT,NONE,VTODO,ZERO -CANCEL,VEVENT,NONE,VJOURNAL,ZERO -CANCEL,VEVENT,NONE,VFREEBUSY,ZERO -CANCEL,VEVENT,NONE,VALARM,ZERO -REFRESH,VEVENT,NONE,NONE,ONE -REFRESH,VEVENT,ATTENDEE,NONE,ONE -REFRESH,VEVENT,DTSTAMP,NONE,ONE -REFRESH,VEVENT,ORGANIZER,NONE,ONE -REFRESH,VEVENT,UID,NONE,ONE -REFRESH,VEVENT,COMMENT,NONE,ZEROORONE -REFRESH,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -REFRESH,VEVENT,X,NONE,ZEROPLUS -REFRESH,VEVENT,ATTACH,NONE,ZERO -REFRESH,VEVENT,CATEGORIES,NONE,ZERO -REFRESH,VEVENT,CLASS,NONE,ZERO -REFRESH,VEVENT,CONTACT,NONE,ZERO -REFRESH,VEVENT,CREATED,NONE,ZERO -REFRESH,VEVENT,DESCRIPTION,NONE,ZERO -REFRESH,VEVENT,DTEND,NONE,ZERO -REFRESH,VEVENT,DTSTART,NONE,ZERO -REFRESH,VEVENT,DURATION,NONE,ZERO -REFRESH,VEVENT,EXDATE,NONE,ZERO -REFRESH,VEVENT,EXRULE,NONE,ZERO -REFRESH,VEVENT,GEO,NONE,ZERO -REFRESH,VEVENT,LASTMODIFIED,NONE,ZERO -REFRESH,VEVENT,LOCATION,NONE,ZERO -REFRESH,VEVENT,PRIORITY,NONE,ZERO -REFRESH,VEVENT,RDATE,NONE,ZERO -REFRESH,VEVENT,RELATEDTO,NONE,ZERO -REFRESH,VEVENT,REQUESTSTATUS,NONE,ZERO -REFRESH,VEVENT,RESOURCES,NONE,ZERO -REFRESH,VEVENT,RRULE,NONE,ZERO -REFRESH,VEVENT,SEQUENCE,NONE,ZERO -REFRESH,VEVENT,STATUS,NONE,ZERO -REFRESH,VEVENT,SUMMARY,NONE,ZERO -REFRESH,VEVENT,TRANSP,NONE,ZERO -REFRESH,VEVENT,URL,NONE,ZERO -REFRESH,VEVENT,NONE,X,ZEROPLUS -REFRESH,VEVENT,NONE,VTODO,ZERO -REFRESH,VEVENT,NONE,VJOURNAL,ZERO -REFRESH,VEVENT,NONE,VFREEBUSY,ZERO -REFRESH,VEVENT,NONE,VTIMEZONE,ZERO,must_if_tz_ref -REFRESH,VEVENT,NONE,VALARM,ZERO -COUNTER,VEVENT,NONE,NONE,ONE -COUNTER,VEVENT,DTSTAMP,NONE,ONE -COUNTER,VEVENT,DTSTART,NONE,ONE -COUNTER,VEVENT,ORGANIZER,NONE,ONE -COUNTER,VEVENT,SEQUENCE,NONE,ONE -COUNTER,VEVENT,SUMMARY,NONE,ONE -COUNTER,VEVENT,UID,NONE,ONE -COUNTER,VEVENT,ATTACH,NONE,ZEROPLUS -COUNTER,VEVENT,ATTENDEE,NONE,ZEROPLUS -COUNTER,VEVENT,CATEGORIES,NONE,ZEROPLUS #Non-standard -COUNTER,VEVENT,CLASS,NONE,ZEROORONE -COUNTER,VEVENT,COMMENT,NONE,ZEROORONE -COUNTER,VEVENT,CONTACT,NONE,ZEROPLUS -COUNTER,VEVENT,CREATED,NONE,ZEROORONE -COUNTER,VEVENT,DESCRIPTION,NONE,ZEROORONE -COUNTER,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration -COUNTER,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration -COUNTER,VEVENT,EXDATE,NONE,ZEROPLUS -COUNTER,VEVENT,EXRULE,NONE,ZEROPLUS -COUNTER,VEVENT,GEO,NONE,ZEROORONE -COUNTER,VEVENT,LASTMODIFIED,NONE,ZEROORONE -COUNTER,VEVENT,LOCATION,NONE,ZEROORONE -COUNTER,VEVENT,PRIORITY,NONE,ZEROORONE -COUNTER,VEVENT,RDATE,NONE,ZEROPLUS -COUNTER,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -COUNTER,VEVENT,RELATEDTO,NONE,ZEROPLUS -COUNTER,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS -COUNTER,VEVENT,RESOURCES,NONE,ZEROORONE -COUNTER,VEVENT,RRULE,NONE,ZEROPLUS -COUNTER,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf_cancel -COUNTER,VEVENT,TRANSP,NONE,ZEROORONE -COUNTER,VEVENT,URL,NONE,ZEROORONE -COUNTER,VEVENT,X,NONE,ZEROPLUS -COUNTER,VEVENT,NONE,VALARM,ZEROPLUS -COUNTER,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref -COUNTER,VEVENT,NONE,X,ZEROPLUS -COUNTER,VEVENT,NONE,VTODO,ZERO -COUNTER,VEVENT,NONE,VJOURNAL,ZERO -COUNTER,VEVENT,NONE,VFREEBUSY,ZERO -DECLINECOUNTER,VEVENT,NONE,NONE,ONE -DECLINECOUNTER,VEVENT,DTSTAMP,NONE,ONE -DECLINECOUNTER,VEVENT,ORGANIZER,NONE,ONE -DECLINECOUNTER,VEVENT,UID,NONE,ONE -DECLINECOUNTER,VEVENT,COMMENT,NONE,ZEROORONE -DECLINECOUNTER,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -DECLINECOUNTER,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS -DECLINECOUNTER,VEVENT,SEQUENCE,NONE,ZERO -DECLINECOUNTER,VEVENT,X,NONE,ZEROPLUS -DECLINECOUNTER,VEVENT,ATTACH,NONE,ZERO -DECLINECOUNTER,VEVENT,ATTENDEE,NONE,ZERO -DECLINECOUNTER,VEVENT,CATEGORIES,NONE,ZERO -DECLINECOUNTER,VEVENT,CLASS,NONE,ZERO -DECLINECOUNTER,VEVENT,CONTACT,NONE,ZERO -DECLINECOUNTER,VEVENT,CREATED,NONE,ZERO -DECLINECOUNTER,VEVENT,DESCRIPTION,NONE,ZERO -DECLINECOUNTER,VEVENT,DTEND,NONE,ZERO -DECLINECOUNTER,VEVENT,DTSTART,NONE,ZERO -DECLINECOUNTER,VEVENT,DURATION,NONE,ZERO -DECLINECOUNTER,VEVENT,EXDATE,NONE,ZERO -DECLINECOUNTER,VEVENT,EXRULE,NONE,ZERO -DECLINECOUNTER,VEVENT,GEO,NONE,ZERO -DECLINECOUNTER,VEVENT,LASTMODIFIED,NONE,ZERO -DECLINECOUNTER,VEVENT,LOCATION,NONE,ZERO -DECLINECOUNTER,VEVENT,PRIORITY,NONE,ZERO -DECLINECOUNTER,VEVENT,RDATE,NONE,ZERO -DECLINECOUNTER,VEVENT,RELATEDTO,NONE,ZERO -DECLINECOUNTER,VEVENT,RESOURCES,NONE,ZERO -DECLINECOUNTER,VEVENT,RRULE,NONE,ZERO -DECLINECOUNTER,VEVENT,STATUS,NONE,ZERO -DECLINECOUNTER,VEVENT,SUMMARY,NONE,ZERO -DECLINECOUNTER,VEVENT,TRANSP,NONE,ZERO -DECLINECOUNTER,VEVENT,URL,NONE,ZERO -DECLINECOUNTER,VEVENT,NONE,X,ZEROPLUS -DECLINECOUNTER,VEVENT,NONE,VTODO,ZERO -DECLINECOUNTER,VEVENT,NONE,VJOURNAL,ZERO -DECLINECOUNTER,VEVENT,NONE,VFREEBUSY,ZERO -DECLINECOUNTER,VEVENT,NONE,VTIMEZONE,ZERO,must_if_tz_ref -DECLINECOUNTER,VEVENT,NONE,VALARM,ZERO -PUBLISH,VFREEBUSY,NONE,NONE,ONEPLUS -PUBLISH,VFREEBUSY,DTSTAMP,NONE,ONE -PUBLISH,VFREEBUSY,DTSTART,NONE,ONE -PUBLISH,VFREEBUSY,DTEND,NONE,ONE -PUBLISH,VFREEBUSY,FREEBUSY,NONE,ONEPLUS -PUBLISH,VFREEBUSY,ORGANIZER,NONE,ONE -PUBLISH,VFREEBUSY,COMMENT,NONE,ZEROORONE -PUBLISH,VFREEBUSY,CONTACT,NONE,ZEROPLUS -PUBLISH,VFREEBUSY,X,NONE,ZEROPLUS -PUBLISH,VFREEBUSY,URL,NONE,ZEROORONE -PUBLISH,VFREEBUSY,ATTENDEE,NONE,ZERO -PUBLISH,VFREEBUSY,DURATION,NONE,ZERO -PUBLISH,VFREEBUSY,REQUESTSTATUS,NONE,ZERO -PUBLISH,VFREEBUSY,UID,NONE,ZERO -PUBLISH,VFREEBUSY,NONE,X,ZEROPLUS -PUBLISH,VFREEBUSY,NONE,VEVENT,ZERO -PUBLISH,VFREEBUSY,NONE,VTODO,ZERO -PUBLISH,VFREEBUSY,NONE,VJOURNAL,ZERO -PUBLISH,VFREEBUSY,NONE,VTIMEZONE,ZERO,must_if_tz_ref -PUBLISH,VFREEBUSY,NONE,VALARM,ZERO -REQUEST,VFREEBUSY,NONE,NONE,ONE -REQUEST,VFREEBUSY,ATTENDEE,NONE,ONEPLUS -REQUEST,VFREEBUSY,DTEND,NONE,ONE -REQUEST,VFREEBUSY,DTSTAMP,NONE,ONE -REQUEST,VFREEBUSY,DTSTART,NONE,ONE -REQUEST,VFREEBUSY,ORGANIZER,NONE,ONE -REQUEST,VFREEBUSY,UID,NONE,ONE -REQUEST,VFREEBUSY,COMMENT,NONE,ZEROORONE -REQUEST,VFREEBUSY,CONTACT,NONE,ZEROPLUS -REQUEST,VFREEBUSY,X,NONE,ZEROPLUS -REQUEST,VFREEBUSY,FREEBUSY,NONE,ZERO -REQUEST,VFREEBUSY,DURATION,NONE,ZERO -REQUEST,VFREEBUSY,REQUESTSTATUS,NONE,ZERO -REQUEST,VFREEBUSY,URL,NONE,ZERO -REQUEST,VFREEBUSY,NONE,X,ZEROPLUS -REQUEST,VFREEBUSY,NONE,VALARM,ZERO -REQUEST,VFREEBUSY,NONE,VEVENT,ZERO -REQUEST,VFREEBUSY,NONE,VTODO,ZERO -REQUEST,VFREEBUSY,NONE,VJOURNAL,ZERO -REQUEST,VFREEBUSY,NONE,VTIMEZONE,ZERO -REPLY,VFREEBUSY,NONE,NONE,ONE -REPLY,VFREEBUSY,ATTENDEE,NONE,ONE -REPLY,VFREEBUSY,DTSTAMP,NONE,ONE -REPLY,VFREEBUSY,DTEND,NONE,ONE -REPLY,VFREEBUSY,DTSTART,NONE,ONE -REPLY,VFREEBUSY,FREEBUSY,NONE,ONEPLUS -REPLY,VFREEBUSY,ORGANIZER,NONE,ONE -REPLY,VFREEBUSY,UID,NONE,ONE -REPLY,VFREEBUSY,COMMENT,NONE,ZEROORONE -REPLY,VFREEBUSY,CONTACT,NONE,ZEROPLUS -REPLY,VFREEBUSY,REQUESTSTATUS,NONE,ZEROPLUS -REPLY,VFREEBUSY,URL,NONE,ZEROORONE -REPLY,VFREEBUSY,X,NONE,ZEROPLUS -REPLY,VFREEBUSY,DURATION,NONE,ZERO -REPLY,VFREEBUSY,SEQUENCE,NONE,ZERO -REPLY,VFREEBUSY,NONE,X,ZEROPLUS -REPLY,VFREEBUSY,NONE,VALARM,ZERO -REPLY,VFREEBUSY,NONE,VEVENT,ZERO -REPLY,VFREEBUSY,NONE,VTODO,ZERO -REPLY,VFREEBUSY,NONE,VJOURNAL,ZERO -REPLY,VFREEBUSY,NONE,VTIMEZONE,ZERO -PUBLISH,VTODO,NONE,NONE,ONEPLUS -PUBLISH,VTODO,DTSTAMP,NONE,ONE -PUBLISH,VTODO,DTSTART,NONE,ONE -PUBLISH,VTODO,ORGANIZER,NONE,ONE -PUBLISH,VTODO,PRIORITY,NONE,ONE -PUBLISH,VTODO,SEQUENCE,NONE,ZEROORONE -PUBLISH,VTODO,SUMMARY,NONE,ONE -PUBLISH,VTODO,UID,NONE,ONE -PUBLISH,VTODO,ATTACH,NONE,ZEROPLUS -PUBLISH,VTODO,CATEGORIES,NONE,ZEROPLUS #Non-Standard -PUBLISH,VTODO,CLASS,NONE,ZEROORONE -PUBLISH,VTODO,COMMENT,NONE,ZEROORONE -PUBLISH,VTODO,CONTACT,NONE,ZEROPLUS -PUBLISH,VTODO,CREATED,NONE,ZEROORONE -PUBLISH,VTODO,DESCRIPTION,NONE,ZEROORONE -PUBLISH,VTODO,DUE,NONE,ZEROORONE -PUBLISH,VTODO,DURATION,NONE,ZEROORONE -PUBLISH,VTODO,EXDATE,NONE,ZEROPLUS -PUBLISH,VTODO,EXRULE,NONE,ZEROPLUS -PUBLISH,VTODO,GEO,NONE,ZEROORONE -PUBLISH,VTODO,LASTMODIFIED,NONE,ZEROORONE -PUBLISH,VTODO,LOCATION,NONE,ZEROORONE -PUBLISH,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -PUBLISH,VTODO,RDATE,NONE,ZEROPLUS -PUBLISH,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -PUBLISH,VTODO,RELATEDTO,NONE,ZEROPLUS -PUBLISH,VTODO,RESOURCES,NONE,ZEROORONE -PUBLISH,VTODO,RRULE,NONE,ZEROPLUS -PUBLISH,VTODO,STATUS,NONE,ZEROORONE -PUBLISH,VTODO,URL,NONE,ZEROORONE -PUBLISH,VTODO,X,NONE,ZEROPLUS -PUBLISH,VTODO,ATTENDEE,NONE,ZERO -PUBLISH,VTODO,REQUESTSTATUS,NONE,ZERO -PUBLISH,VTODO,NONE,VTIMEZONE,ZEROPLUS -PUBLISH,VTODO,NONE,VALARM,ZEROPLUS -PUBLISH,VTODO,NONE,X,ZEROPLUS -PUBLISH,VTODO,NONE,VFREEBUSY,ZERO -PUBLISH,VTODO,NONE,VEVENT,ZERO -PUBLISH,VTODO,NONE,VJOURNAL,ZERO -REQUEST,VTODO,NONE,NONE,ONEPLUS -REQUEST,VTODO,ATTENDEE,NONE,ONEPLUS -REQUEST,VTODO,DTSTAMP,NONE,ONE -REQUEST,VTODO,DTSTART,NONE,ONE -REQUEST,VTODO,ORGANIZER,NONE,ONE -REQUEST,VTODO,PRIORITY,NONE,ONE -REQUEST,VTODO,SEQUENCE,NONE,ZEROORONE -REQUEST,VTODO,SUMMARY,NONE,ONE -REQUEST,VTODO,UID,NONE,ONE -REQUEST,VTODO,ATTACH,NONE,ZEROPLUS -REQUEST,VTODO,CATEGORIES,NONE,ZEROPLUS #Non-Standard -REQUEST,VTODO,CLASS,NONE,ZEROORONE -REQUEST,VTODO,COMMENT,NONE,ZEROORONE -REQUEST,VTODO,CONTACT,NONE,ZEROPLUS -REQUEST,VTODO,CREATED,NONE,ZEROORONE -REQUEST,VTODO,DESCRIPTION,NONE,ZEROORONE -REQUEST,VTODO,DUE,NONE,ZEROORONE -REQUEST,VTODO,DURATION,NONE,ZEROORONE -REQUEST,VTODO,EXDATE,NONE,ZEROPLUS -REQUEST,VTODO,EXRULE,NONE,ZEROPLUS -REQUEST,VTODO,GEO,NONE,ZEROORONE -REQUEST,VTODO,LASTMODIFIED,NONE,ZEROORONE -REQUEST,VTODO,LOCATION,NONE,ZEROORONE -REQUEST,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -REQUEST,VTODO,RDATE,NONE,ZEROPLUS -REQUEST,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -REQUEST,VTODO,RELATEDTO,NONE,ZEROPLUS -REQUEST,VTODO,RESOURCES,NONE,ZEROORONE -REQUEST,VTODO,RRULE,NONE,ZEROPLUS -REQUEST,VTODO,STATUS,NONE,ZEROORONE,may_be_comp_need_process -REQUEST,VTODO,URL,NONE,ZEROORONE -REQUEST,VTODO,X,NONE,ZEROPLUS -REQUEST,VTODO,REQUESTSTATUS,NONE,ZERO -REQUEST,VTODO,NONE,VALARM,ZEROPLUS -REQUEST,VTODO,NONE,VTIMEZONE,ZEROPLUS -REQUEST,VTODO,NONE,X,ZEROPLUS -REQUEST,VTODO,NONE,VEVENT,ZERO -REQUEST,VTODO,NONE,VFREEBUSY,ZERO -REQUEST,VTODO,NONE,VJOURNAL,ZERO -REPLY,VTODO,NONE,NONE,ONEPLUS -REPLY,VTODO,ATTENDEE,NONE,ONEPLUS -REPLY,VTODO,DTSTAMP,NONE,ONE -REPLY,VTODO,ORGANIZER,NONE,ONE -REPLY,VTODO,REQUESTSTATUS,NONE,ONEPLUS -REPLY,VTODO,UID,NONE,ONE -REPLY,VTODO,ATTACH,NONE,ZEROPLUS -REPLY,VTODO,CATEGORIES,NONE,ZEROPLUS #Non-Standard -REPLY,VTODO,CLASS,NONE,ZEROORONE -REPLY,VTODO,COMMENT,NONE,ZEROORONE -REPLY,VTODO,CONTACT,NONE,ZEROPLUS -REPLY,VTODO,CREATED,NONE,ZEROORONE -REPLY,VTODO,DESCRIPTION,NONE,ZEROORONE -REPLY,VTODO,DTSTART,NONE,ZEROORONE -REPLY,VTODO,DUE,NONE,ZEROORONE -REPLY,VTODO,DURATION,NONE,ZEROORONE -REPLY,VTODO,EXDATE,NONE,ZEROPLUS -REPLY,VTODO,EXRULE,NONE,ZEROPLUS -REPLY,VTODO,GEO,NONE,ZEROORONE -REPLY,VTODO,LASTMODIFIED,NONE,ZEROORONE -REPLY,VTODO,LOCATION,NONE,ZEROORONE -REPLY,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -REPLY,VTODO,PRIORITY,NONE,ZEROORONE -REPLY,VTODO,RDATE,NONE,ZEROPLUS -REPLY,VTODO,RELATEDTO,NONE,ZEROPLUS -REPLY,VTODO,RESOURCES,NONE,ZEROORONE -REPLY,VTODO,RRULE,NONE,ZEROPLUS -REPLY,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -REPLY,VTODO,SEQUENCE,NONE,ZEROORONE -REPLY,VTODO,STATUS,NONE,ZEROORONE -REPLY,VTODO,SUMMARY,NONE,ZEROORONE -REPLY,VTODO,URL,NONE,ZEROORONE -REPLY,VTODO,X,NONE,ZEROPLUS -REPLY,VTODO,NONE,VTIMEZONE,ZEROORONE -REPLY,VTODO,NONE,X,ZEROPLUS -REPLY,VTODO,NONE,VALARM,ZERO -REPLY,VTODO,NONE,VEVENT,ZERO -REPLY,VTODO,NONE,VFREEBUSY,ZERO -ADD,VTODO,NONE,NONE,ONE -ADD,VTODO,DTSTAMP,NONE,ONE -ADD,VTODO,ORGANIZER,NONE,ONE -ADD,VTODO,PRIORITY,NONE,ONE -ADD,VTODO,SEQUENCE,NONE,ONE -ADD,VTODO,SUMMARY,NONE,ONE -ADD,VTODO,UID,NONE,ONE -ADD,VTODO,ATTACH,NONE,ZEROPLUS -ADD,VTODO,ATTENDEE,NONE,ZEROPLUS -ADD,VTODO,CATEGORIES,NONE,ZEROPLUS -ADD,VTODO,CLASS,NONE,ZEROORONE -ADD,VTODO,COMMENT,NONE,ZEROORONE -ADD,VTODO,CONTACT,NONE,ZEROPLUS -ADD,VTODO,CREATED,NONE,ZEROORONE -ADD,VTODO,DESCRIPTION,NONE,ZEROORONE -ADD,VTODO,DTSTART,NONE,ZEROORONE -ADD,VTODO,DUE,NONE,ZEROORONE -ADD,VTODO,DURATION,NONE,ZEROORONE -ADD,VTODO,EXDATE,NONE,ZEROPLUS -ADD,VTODO,EXRULE,NONE,ZEROPLUS -ADD,VTODO,GEO,NONE,ZEROORONE -ADD,VTODO,LASTMODIFIED,NONE,ZEROORONE -ADD,VTODO,LOCATION,NONE,ZEROORONE -ADD,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -ADD,VTODO,RDATE,NONE,ZEROPLUS -ADD,VTODO,RELATEDTO,NONE,ZEROPLUS -ADD,VTODO,RESOURCES,NONE,ZEROORONE -ADD,VTODO,RRULE,NONE,ZEROPLUS -ADD,VTODO,STATUS,NONE,ZEROORONE,may_be_comp_need_process -ADD,VTODO,URL,NONE,ZEROORONE -ADD,VTODO,X,NONE,ZEROPLUS -ADD,VTODO,RECURRENCEID,NONE,ZERO,must_be_recurring -ADD,VTODO,REQUESTSTATUS,NONE,ZERO -ADD,VTODO,NONE,VALARM,ZEROPLUS -ADD,VTODO,NONE,VTIMEZONE,ZEROPLUS -ADD,VTODO,NONE,X,ZEROPLUS -ADD,VTODO,NONE,VEVENT,ZERO -ADD,VTODO,NONE,VJOURNAL,ZERO -ADD,VTODO,NONE,VFREEBUSY,ZERO -CANCEL,VTODO,NONE,NONE,ONE -CANCEL,VTODO,ATTENDEE,NONE,ZEROPLUS -CANCEL,VTODO,UID,NONE,ONE -CANCEL,VTODO,DTSTAMP,NONE,ONE -CANCEL,VTODO,ORGANIZER,NONE,ONE -CANCEL,VTODO,SEQUENCE,NONE,ONE -CANCEL,VTODO,ATTACH,NONE,ZEROPLUS -CANCEL,VTODO,CATEGORIES,NONE,ZEROPLUS #Non-Standard -CANCEL,VTODO,CLASS,NONE,ZEROORONE -CANCEL,VTODO,COMMENT,NONE,ZEROORONE -CANCEL,VTODO,CONTACT,NONE,ZEROPLUS -CANCEL,VTODO,CREATED,NONE,ZEROORONE -CANCEL,VTODO,DESCRIPTION,NONE,ZEROORONE -CANCEL,VTODO,DTSTART,NONE,ZEROORONE -CANCEL,VTODO,DUE,NONE,ZEROORONE -CANCEL,VTODO,DURATION,NONE,ZEROORONE -CANCEL,VTODO,EXDATE,NONE,ZEROPLUS -CANCEL,VTODO,EXRULE,NONE,ZEROPLUS -CANCEL,VTODO,GEO,NONE,ZEROORONE -CANCEL,VTODO,LASTMODIFIED,NONE,ZEROORONE -CANCEL,VTODO,LOCATION,NONE,ZEROORONE -CANCEL,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -CANCEL,VTODO,RDATE,NONE,ZEROPLUS -CANCEL,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -CANCEL,VTODO,RELATEDTO,NONE,ZEROPLUS -CANCEL,VTODO,RESOURCES,NONE,ZEROORONE -CANCEL,VTODO,RRULE,NONE,ZEROPLUS -CANCEL,VTODO,PRIORITY,NONE,ZEROORONE -CANCEL,VTODO,STATUS,NONE,ZEROORONE,must_be_canceled_no_attendee -CANCEL,VTODO,URL,NONE,ZEROORONE -CANCEL,VTODO,X,NONE,ZEROPLUS -CANCEL,VTODO,REQUESTSTATUS,NONE,ZERO -CANCEL,VTODO,NONE,VTIMEZONE,ZEROORONE -CANCEL,VTODO,NONE,X,ZEROPLUS -CANCEL,VTODO,NONE,VALARM,ZERO -CANCEL,VTODO,NONE,VEVENT,ZERO -CANCEL,VTODO,NONE,VFREEBUSY,ZERO -REFRESH,VTODO,NONE,NONE,ONE -REFRESH,VTODO,ATTENDEE,NONE,ONE -REFRESH,VTODO,DTSTAMP,NONE,ONE -REFRESH,VTODO,UID,NONE,ONE -REFRESH,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -REFRESH,VTODO,X,NONE,ZEROPLUS -REFRESH,VTODO,ATTACH,NONE,ZERO -REFRESH,VTODO,CATEGORIES,NONE,ZERO -REFRESH,VTODO,CLASS,NONE,ZERO -REFRESH,VTODO,COMMENT,NONE,ZERO -REFRESH,VTODO,CONTACT,NONE,ZERO -REFRESH,VTODO,CREATED,NONE,ZERO -REFRESH,VTODO,DESCRIPTION,NONE,ZERO -REFRESH,VTODO,DTSTART,NONE,ZERO -REFRESH,VTODO,DUE,NONE,ZERO -REFRESH,VTODO,DURATION,NONE,ZERO -REFRESH,VTODO,EXDATE,NONE,ZERO -REFRESH,VTODO,EXRULE,NONE,ZERO -REFRESH,VTODO,GEO,NONE,ZERO -REFRESH,VTODO,LASTMODIFIED,NONE,ZERO -REFRESH,VTODO,LOCATION,NONE,ZERO -REFRESH,VTODO,ORGANIZER,NONE,ZERO -REFRESH,VTODO,PERCENTCOMPLETE,NONE,ZERO -REFRESH,VTODO,PRIORITY,NONE,ZERO -REFRESH,VTODO,RDATE,NONE,ZERO -REFRESH,VTODO,RELATEDTO,NONE,ZERO -REFRESH,VTODO,REQUESTSTATUS,NONE,ZERO -REFRESH,VTODO,RESOURCES,NONE,ZERO -REFRESH,VTODO,RRULE,NONE,ZERO -REFRESH,VTODO,SEQUENCE,NONE,ZERO -REFRESH,VTODO,STATUS,NONE,ZERO -REFRESH,VTODO,URL,NONE,ZERO -REFRESH,VTODO,NONE,X,ZEROPLUS -REFRESH,VTODO,NONE,VALARM,ZERO -REFRESH,VTODO,NONE,VEVENT,ZERO -REFRESH,VTODO,NONE,VFREEBUSY,ZERO -REFRESH,VTODO,NONE,VTIMEZONE,ZERO -COUNTER,VTODO,NONE,NONE,ONE -COUNTER,VTODO,ATTENDEE,NONE,ONEPLUS -COUNTER,VTODO,DTSTAMP,NONE,ONE -COUNTER,VTODO,ORGANIZER,NONE,ONE -COUNTER,VTODO,PRIORITY,NONE,ONE -COUNTER,VTODO,SUMMARY,NONE,ONE -COUNTER,VTODO,UID,NONE,ONE -COUNTER,VTODO,ATTACH,NONE,ZEROPLUS -COUNTER,VTODO,CATEGORIES,NONE,ZEROPLUS #Non-standard -COUNTER,VTODO,CLASS,NONE,ZEROORONE -COUNTER,VTODO,COMMENT,NONE,ZEROORONE -COUNTER,VTODO,CONTACT,NONE,ZEROPLUS -COUNTER,VTODO,CREATED,NONE,ZEROORONE -COUNTER,VTODO,DESCRIPTION,NONE,ZEROORONE -COUNTER,VTODO,DTSTART,NONE,ZEROORONE -COUNTER,VTODO,DUE,NONE,ZEROORONE -COUNTER,VTODO,DURATION,NONE,ZEROORONE -COUNTER,VTODO,EXDATE,NONE,ZEROPLUS -COUNTER,VTODO,EXRULE,NONE,ZEROPLUS -COUNTER,VTODO,GEO,NONE,ZEROORONE -COUNTER,VTODO,LASTMODIFIED,NONE,ZEROORONE -COUNTER,VTODO,LOCATION,NONE,ZEROORONE -COUNTER,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -COUNTER,VTODO,RDATE,NONE,ZEROPLUS -COUNTER,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -COUNTER,VTODO,RELATEDTO,NONE,ZEROPLUS -COUNTER,VTODO,REQUESTSTATUS,NONE,ZEROPLUS -COUNTER,VTODO,RESOURCES,NONE,ZEROORONE -COUNTER,VTODO,RRULE,NONE,ZEROORONE -COUNTER,VTODO,SEQUENCE,NONE,ZEROORONE -COUNTER,VTODO,STATUS,NONE,ZEROORONE,may_be_comp_need_process -COUNTER,VTODO,URL,NONE,ZEROORONE -COUNTER,VTODO,X,NONE,ZEROPLUS -COUNTER,VTODO,NONE,VALARM,ZEROPLUS -COUNTER,VTODO,NONE,VTIMEZONE,ZEROORONE -COUNTER,VTODO,NONE,X,ZEROPLUS -COUNTER,VTODO,NONE,VEVENT,ZERO -COUNTER,VTODO,NONE,VFREEBUSY,ZERO -DECLINECOUNTER,VTODO,NONE,NONE,ONE -DECLINECOUNTER,VTODO,ATTENDEE,NONE,ONEPLUS -DECLINECOUNTER,VTODO,DTSTAMP,NONE,ONE -DECLINECOUNTER,VTODO,ORGANIZER,NONE,ONE -DECLINECOUNTER,VTODO,SEQUENCE,NONE,ONE -DECLINECOUNTER,VTODO,UID,NONE,ONE -DECLINECOUNTER,VTODO,ATTACH,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,CATEGORIES,NONE,ZEROPLUS #Non-standard -DECLINECOUNTER,VTODO,CLASS,NONE,ZEROORONE -DECLINECOUNTER,VTODO,COMMENT,NONE,ZEROORONE -DECLINECOUNTER,VTODO,CONTACT,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,CREATED,NONE,ZEROORONE -DECLINECOUNTER,VTODO,DESCRIPTION,NONE,ZEROORONE -DECLINECOUNTER,VTODO,DTSTART,NONE,ZEROORONE -DECLINECOUNTER,VTODO,DUE,NONE,ZEROORONE -DECLINECOUNTER,VTODO,DURATION,NONE,ZEROORONE -DECLINECOUNTER,VTODO,EXDATE,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,EXRULE,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,GEO,NONE,ZEROORONE -DECLINECOUNTER,VTODO,LASTMODIFIED,NONE,ZEROORONE -DECLINECOUNTER,VTODO,LOCATION,NONE,ZEROORONE -DECLINECOUNTER,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -DECLINECOUNTER,VTODO,PRIORITY,NONE,ZEROORONE -DECLINECOUNTER,VTODO,RDATE,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -DECLINECOUNTER,VTODO,RELATEDTO,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,REQUESTSTATUS,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,RESOURCES,NONE,ZEROORONE -DECLINECOUNTER,VTODO,RRULE,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,STATUS,NONE,ZEROORONE -DECLINECOUNTER,VTODO,URL,NONE,ZEROORONE -DECLINECOUNTER,VTODO,X,NONE,ZEROPLUS -DECLINECOUNTER,VTODO,NONE,VTIMEZONE,ZEROPLUS -DECLINECOUNTER,VTODO,NONE,X,ZEROPLUS -DECLINECOUNTER,VTODO,NONE,VALARM,ZERO -DECLINECOUNTER,VTODO,NONE,VEVENT,ZERO -DECLINECOUNTER,VTODO,NONE,VFREEBUSY,ZERO -PUBLISH,VJOURNAL,NONE,NONE,ONEPLUS -PUBLISH,VJOURNAL,DESCRIPTION,NONE,ONE -PUBLISH,VJOURNAL,DTSTAMP,NONE,ONE -PUBLISH,VJOURNAL,DTSTART,NONE,ONE -PUBLISH,VJOURNAL,ORGANIZER,NONE,ONE -PUBLISH,VJOURNAL,UID,NONE,ONE -PUBLISH,VJOURNAL,ATTACH,NONE,ZEROPLUS -PUBLISH,VJOURNAL,CATEGORIES,NONE,ZEROPLUS #Non-standard -PUBLISH,VJOURNAL,CLASS,NONE,ZEROORONE -PUBLISH,VJOURNAL,COMMENT,NONE,ZEROORONE -PUBLISH,VJOURNAL,CONTACT,NONE,ZEROPLUS -PUBLISH,VJOURNAL,CREATED,NONE,ZEROORONE -PUBLISH,VJOURNAL,EXDATE,NONE,ZEROPLUS -PUBLISH,VJOURNAL,EXRULE,NONE,ZEROPLUS -PUBLISH,VJOURNAL,LASTMODIFIED,NONE,ZEROORONE -PUBLISH,VJOURNAL,RDATE,NONE,ZEROPLUS -PUBLISH,VJOURNAL,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -PUBLISH,VJOURNAL,RELATEDTO,NONE,ZEROPLUS -PUBLISH,VJOURNAL,RRULE,NONE,ZEROPLUS -PUBLISH,VJOURNAL,SEQUENCE,NONE,ZEROORONE -PUBLISH,VJOURNAL,STATUS,NONE,ZEROORONE,may_be_draft_final_canceled -PUBLISH,VJOURNAL,SUMMARY,NONE,ZEROORONE -PUBLISH,VJOURNAL,URL,NONE,ZEROORONE -PUBLISH,VJOURNAL,X,NONE,ZEROPLUS -PUBLISH,VJOURNAL,ATTENDEE,NONE,ZERO -PUBLISH,VJOURNAL,NONE,VALARM,ZEROPLUS -PUBLISH,VJOURNAL,NONE,VTIMEZONE,ZEROPLUS -PUBLISH,VJOURNAL,NONE,X,ZEROPLUS -PUBLISH,VJOURNAL,NONE,VEVENT,ZERO -PUBLISH,VJOURNAL,NONE,VFREEBUSY,ZERO -PUBLISH,VJOURNAL,NONE,VTODO,ZERO -ADD,VJOURNAL,NONE,NONE,ONE -ADD,VJOURNAL,DESCRIPTION,NONE,ONE -ADD,VJOURNAL,DTSTAMP,NONE,ONE -ADD,VJOURNAL,DTSTART,NONE,ONE -ADD,VJOURNAL,ORGANIZER,NONE,ONE -ADD,VJOURNAL,SEQUENCE,NONE,ONE -ADD,VJOURNAL,UID,NONE,ONE -ADD,VJOURNAL,ATTACH,NONE,ZEROPLUS -ADD,VJOURNAL,CATEGORIES,NONE,ZEROPLUS #Non-standard -ADD,VJOURNAL,CLASS,NONE,ZEROORONE -ADD,VJOURNAL,COMMENT,NONE,ZEROORONE -ADD,VJOURNAL,CONTACT,NONE,ZEROPLUS -ADD,VJOURNAL,CREATED,NONE,ZEROORONE -ADD,VJOURNAL,EXDATE,NONE,ZEROPLUS -ADD,VJOURNAL,EXRULE,NONE,ZEROPLUS -ADD,VJOURNAL,LASTMODIFIED,NONE,ZEROORONE -ADD,VJOURNAL,RDATE,NONE,ZEROPLUS -ADD,VJOURNAL,RELATEDTO,NONE,ZEROPLUS -ADD,VJOURNAL,RRULE,NONE,ZEROPLUS -ADD,VJOURNAL,STATUS,NONE,ZEROORONE -ADD,VJOURNAL,SUMMARY,NONE,ZEROORONE -ADD,VJOURNAL,URL,NONE,ZEROORONE -ADD,VJOURNAL,X,NONE,ZEROPLUS -ADD,VJOURNAL,ATTENDEE,NONE,ZERO -ADD,VJOURNAL,RECURRENCEID,NONE,ZERO -ADD,VJOURNAL,NONE,VALARM,ZEROPLUS -ADD,VJOURNAL,NONE,VTIMEZONE,ZEROORONE -ADD,VJOURNAL,NONE,X,ZEROPLUS -ADD,VJOURNAL,NONE,VEVENT,ZERO -ADD,VJOURNAL,NONE,VFREEBUSY,ZERO -ADD,VJOURNAL,NONE,VTODO,ZERO -CANCEL,VJOURNAL,NONE,NONE,ONEPLUS -CANCEL,VJOURNAL,DTSTAMP,NONE,ONE -CANCEL,VJOURNAL,ORGANIZER,NONE,ONE -CANCEL,VJOURNAL,SEQUENCE,NONE,ONE -CANCEL,VJOURNAL,UID,NONE,ONE -CANCEL,VJOURNAL,ATTACH,NONE,ZEROPLUS -CANCEL,VJOURNAL,ATTENDEE,NONE,ZEROPLUS -CANCEL,VJOURNAL,CATEGORIES,NONE,ZEROPLUS #Non-standard -CANCEL,VJOURNAL,CLASS,NONE,ZEROORONE -CANCEL,VJOURNAL,COMMENT,NONE,ZEROORONE -CANCEL,VJOURNAL,CONTACT,NONE,ZEROPLUS -CANCEL,VJOURNAL,CREATED,NONE,ZEROORONE -CANCEL,VJOURNAL,DESCRIPTION,NONE,ZEROORONE -CANCEL,VJOURNAL,DTSTART,NONE,ZEROORONE -CANCEL,VJOURNAL,EXDATE,NONE,ZEROPLUS -CANCEL,VJOURNAL,EXRULE,NONE,ZEROPLUS -CANCEL,VJOURNAL,LASTMODIFIED,NONE,ZEROORONE -CANCEL,VJOURNAL,RDATE,NONE,ZEROPLUS -CANCEL,VJOURNAL,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -CANCEL,VJOURNAL,RELATEDTO,NONE,ZEROPLUS -CANCEL,VJOURNAL,RRULE,NONE,ZEROPLUS -CANCEL,VJOURNAL,STATUS,NONE,ZEROORONE,must_be_cancel_if_present -CANCEL,VJOURNAL,SUMMARY,NONE,ZEROORONE -CANCEL,VJOURNAL,URL,NONE,ZEROORONE -CANCEL,VJOURNAL,X,NONE,ZEROPLUS -CANCEL,VJOURNAL,REQUESTSTATUS,NONE,ZERO -CANCEL,VJOURNAL,NONE,VTIMEZONE,ZEROPLUS -CANCEL,VJOURNAL,NONE,X,ZEROPLUS -CANCEL,VJOURNAL,NONE,VALARM,ZERO -CANCEL,VJOURNAL,NONE,VEVENT,ZERO -CANCEL,VJOURNAL,NONE,VFREEBUSY,ZERO -CANCEL,VJOURNAL,NONE,VTODO,ZERO -NONE,VCALENDAR,ACTION,NONE,ZERO -NONE,VCALENDAR,ATTACH,NONE,ZERO -NONE,VCALENDAR,ATTENDEE,NONE,ZERO -NONE,VCALENDAR,CALSCALE,NONE,ZEROORONE -NONE,VCALENDAR,CATEGORIES,NONE,ZERO -NONE,VCALENDAR,CLASS,NONE,ZERO -NONE,VCALENDAR,COMMENT,NONE,ZERO -NONE,VCALENDAR,COMPLETED,NONE,ZERO -NONE,VCALENDAR,CONTACT,NONE,ZERO -NONE,VCALENDAR,CREATED,NONE,ZERO -NONE,VCALENDAR,DESCRIPTION,NONE,ZERO -NONE,VCALENDAR,DTEND,NONE,ZERO -NONE,VCALENDAR,DTSTAMP,NONE,ZERO -NONE,VCALENDAR,DTSTART,NONE,ZERO -NONE,VCALENDAR,DUE,NONE,ZERO -NONE,VCALENDAR,DURATION,NONE,ZERO -NONE,VCALENDAR,EXDATE,NONE,ZERO -NONE,VCALENDAR,EXRULE,NONE,ZERO -NONE,VCALENDAR,FREEBUSY,NONE,ZERO -NONE,VCALENDAR,GEO,NONE,ZERO -NONE,VCALENDAR,LASTMODIFIED,NONE,ZERO -NONE,VCALENDAR,LOCATION,NONE,ZERO -NONE,VCALENDAR,METHOD,NONE,ZEROORONE -NONE,VCALENDAR,ORGANIZER,NONE,ZERO -NONE,VCALENDAR,PERCENTCOMPLETE,NONE,ZERO -NONE,VCALENDAR,PRIORITY,NONE,ZERO -NONE,VCALENDAR,PRODID,NONE,ONE -NONE,VCALENDAR,RDATE,NONE,ZERO -NONE,VCALENDAR,RECURRENCEID,NONE,ZERO -NONE,VCALENDAR,RELATEDTO,NONE,ZERO -NONE,VCALENDAR,REPEAT,NONE,ZERO -NONE,VCALENDAR,REQUESTSTATUS,NONE,ZERO -NONE,VCALENDAR,RESOURCES,NONE,ZERO -NONE,VCALENDAR,RRULE,NONE,ZERO -NONE,VCALENDAR,SEQUENCE,NONE,ZERO -NONE,VCALENDAR,STATUS,NONE,ZERO -NONE,VCALENDAR,SUMMARY,NONE,ZERO -NONE,VCALENDAR,TRANSP,NONE,ZERO -NONE,VCALENDAR,TRIGGER,NONE,ZERO -NONE,VCALENDAR,TZID,NONE,ZERO -NONE,VCALENDAR,TZNAME,NONE,ZERO -NONE,VCALENDAR,TZOFFSETFROM,NONE,ZERO -NONE,VCALENDAR,TZOFFSETTO,NONE,ZERO -NONE,VCALENDAR,TZURL,NONE,ZERO -NONE,VCALENDAR,UID,NONE,ZERO -NONE,VCALENDAR,URL,NONE,ZERO -NONE,VCALENDAR,VERSION,NONE,ONE -NONE,VCALENDAR,X,NONE,ZEROPLUS -NONE,VEVENT,ACTION,NONE,ZERO -NONE,VEVENT,ATTACH,NONE,ZEROPLUS -NONE,VEVENT,ATTENDEE,NONE,ZEROPLUS -NONE,VEVENT,CALSCALE,NONE,ZERO -NONE,VEVENT,CATEGORIES,NONE,ZEROPLUS -NONE,VEVENT,CLASS,NONE,ZEROORONE -NONE,VEVENT,COMMENT,NONE,ZEROPLUS -NONE,VEVENT,COMPLETED,NONE,ZERO -NONE,VEVENT,CONTACT,NONE,ZEROPLUS -NONE,VEVENT,CREATED,NONE,ZEROORONE -NONE,VEVENT,DESCRIPTION,NONE,ZEROORONE -NONE,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration -NONE,VEVENT,DTSTAMP,NONE,ZEROORONE -NONE,VEVENT,DTSTART,NONE,ZEROORONE -NONE,VEVENT,DUE,NONE,ZERO -NONE,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration -NONE,VEVENT,EXDATE,NONE,ZEROPLUS -NONE,VEVENT,EXRULE,NONE,ZEROPLUS -NONE,VEVENT,FREEBUSY,NONE,ZERO -NONE,VEVENT,GEO,NONE,ZEROORONE -NONE,VEVENT,LASTMODIFIED,NONE,ZEROORONE -NONE,VEVENT,LOCATION,NONE,ZEROORONE -NONE,VEVENT,METHOD,NONE,ZERO -NONE,VEVENT,ORGANIZER,NONE,ZEROORONE -NONE,VEVENT,PERCENTCOMPLETE,NONE,ZERO -NONE,VEVENT,PRIORITY,NONE,ZEROORONE -NONE,VEVENT,PRODID,NONE,ZERO -NONE,VEVENT,RDATE,NONE,ZEROPLUS -NONE,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -NONE,VEVENT,RELATEDTO,NONE,ZEROPLUS -NONE,VEVENT,REPEAT,NONE,ZERO -NONE,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS -NONE,VEVENT,RESOURCES,NONE,ZEROPLUS -NONE,VEVENT,RRULE,NONE,ZEROPLUS -NONE,VEVENT,SEQUENCE,NONE,ZEROORONE -NONE,VEVENT,STATUS,NONE,ZEROORONE -NONE,VEVENT,SUMMARY,NONE,ZEROORONE -NONE,VEVENT,TRANSP,NONE,ZEROORONE -NONE,VEVENT,TRIGGER,NONE,ZERO -NONE,VEVENT,TZID,NONE,ZERO -NONE,VEVENT,TZNAME,NONE,ZERO -NONE,VEVENT,TZOFFSETFROM,NONE,ZERO -NONE,VEVENT,TZOFFSETTO,NONE,ZERO -NONE,VEVENT,TZURL,NONE,ZERO -NONE,VEVENT,UID,NONE,ZEROORONE -NONE,VEVENT,URL,NONE,ZEROORONE -NONE,VEVENT,VERSION,NONE,ZERO -NONE,VEVENT,X,NONE,ZEROPLUS -NONE,VTODO,ACTION,NONE,ZERO -NONE,VTODO,ATTACH,NONE,ZEROPLUS -NONE,VTODO,ATTENDEE,NONE,ZEROPLUS -NONE,VTODO,CALSCALE,NONE,ZERO -NONE,VTODO,CATEGORIES,NONE,ZEROPLUS -NONE,VTODO,CLASS,NONE,ZEROORONE -NONE,VTODO,COMMENT,NONE,ZEROPLUS -NONE,VTODO,COMPLETED,NONE,ZEROORONE -NONE,VTODO,CONTACT,NONE,ZEROPLUS -NONE,VTODO,CREATED,NONE,ZEROORONE -NONE,VTODO,DESCRIPTION,NONE,ZEROORONE -NONE,VTODO,DTEND,NONE,ZERO -NONE,VTODO,DTSTAMP,NONE,ZEROORONE -NONE,VTODO,DTSTART,NONE,ZEROORONE -NONE,VTODO,DUE,NONE,ONEEXCLUSIVE -NONE,VTODO,DURATION,NONE,ONEEXCLUSIVE -NONE,VTODO,EXDATE,NONE,ZEROPLUS -NONE,VTODO,EXRULE,NONE,ZEROPLUS -NONE,VTODO,FREEBUSY,NONE,ZERO -NONE,VTODO,GEO,NONE,ZEROORONE -NONE,VTODO,LASTMODIFIED,NONE,ZEROORONE -NONE,VTODO,LOCATION,NONE,ZEROORONE -NONE,VTODO,METHOD,NONE,ZERO -NONE,VTODO,ORGANIZER,NONE,ZEROORONE -NONE,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE -NONE,VTODO,PRIORITY,NONE,ZEROORONE -NONE,VTODO,PRODID,NONE,ZERO -NONE,VTODO,RDATE,NONE,ZEROPLUS -NONE,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -NONE,VTODO,RELATEDTO,NONE,ZEROPLUS -NONE,VTODO,REPEAT,NONE,ZERO -NONE,VTODO,REQUESTSTATUS,NONE,ZEROPLUS -NONE,VTODO,RESOURCES,NONE,ZEROPLUS -NONE,VTODO,RRULE,NONE,ZEROPLUS -NONE,VTODO,SEQUENCE,NONE,ZEROORONE -NONE,VTODO,STATUS,NONE,ZEROORONE -NONE,VTODO,SUMMARY,NONE,ZEROORONE -NONE,VTODO,TRANSP,NONE,ZERO -NONE,VTODO,TRIGGER,NONE,ZERO -NONE,VTODO,TZID,NONE,ZERO -NONE,VTODO,TZNAME,NONE,ZERO -NONE,VTODO,TZOFFSETFROM,NONE,ZERO -NONE,VTODO,TZOFFSETTO,NONE,ZERO -NONE,VTODO,TZURL,NONE,ZERO -NONE,VTODO,UID,NONE,ZEROORONE -NONE,VTODO,URL,NONE,ZEROORONE -NONE,VTODO,VERSION,NONE,ZERO -NONE,VTODO,X,NONE,ZEROPLUS -NONE,VJOURNAL,ACTION,NONE,ZERO -NONE,VJOURNAL,ATTACH,NONE,ZEROPLUS -NONE,VJOURNAL,ATTENDEE,NONE,ZEROPLUS -NONE,VJOURNAL,CALSCALE,NONE,ZERO -NONE,VJOURNAL,CATEGORIES,NONE,ZEROPLUS -NONE,VJOURNAL,CLASS,NONE,ZEROORONE -NONE,VJOURNAL,COMMENT,NONE,ZEROPLUS -NONE,VJOURNAL,COMPLETED,NONE,ZERO -NONE,VJOURNAL,CONTACT,NONE,ZEROPLUS -NONE,VJOURNAL,CREATED,NONE,ZEROORONE -NONE,VJOURNAL,DESCRIPTION,NONE,ZEROORONE -NONE,VJOURNAL,DTEND,NONE,ZERO -NONE,VJOURNAL,DTSTAMP,NONE,ZEROORONE -NONE,VJOURNAL,DTSTART,NONE,ZEROORONE -NONE,VJOURNAL,DUE,NONE,ONEEXCLUSIVE -NONE,VJOURNAL,DURATION,NONE,ONEEXCLUSIVE -NONE,VJOURNAL,EXDATE,NONE,ZEROPLUS -NONE,VJOURNAL,EXRULE,NONE,ZEROPLUS -NONE,VJOURNAL,FREEBUSY,NONE,ZERO -NONE,VJOURNAL,GEO,NONE,ZERO -NONE,VJOURNAL,LASTMODIFIED,NONE,ZEROORONE -NONE,VJOURNAL,LOCATION,NONE,ZERO -NONE,VJOURNAL,METHOD,NONE,ZERO -NONE,VJOURNAL,ORGANIZER,NONE,ZEROORONE -NONE,VJOURNAL,PERCENTCOMPLETE,NONE,ZERO -NONE,VJOURNAL,PRIORITY,NONE,ZERO -NONE,VJOURNAL,PRODID,NONE,ZERO -NONE,VJOURNAL,RDATE,NONE,ZEROPLUS -NONE,VJOURNAL,RECURRENCEID,NONE,ZEROORONE,must_be_recurring -NONE,VJOURNAL,RELATEDTO,NONE,ZEROPLUS -NONE,VJOURNAL,REPEAT,NONE,ZERO -NONE,VJOURNAL,REQUESTSTATUS,NONE,ZEROPLUS -NONE,VJOURNAL,RESOURCES,NONE,ZERO -NONE,VJOURNAL,RRULE,NONE,ZEROPLUS -NONE,VJOURNAL,SEQUENCE,NONE,ZEROORONE -NONE,VJOURNAL,STATUS,NONE,ZEROORONE -NONE,VJOURNAL,SUMMARY,NONE,ZEROORONE -NONE,VJOURNAL,TRANSP,NONE,ZERO -NONE,VJOURNAL,TRIGGER,NONE,ZERO -NONE,VJOURNAL,TZID,NONE,ZERO -NONE,VJOURNAL,TZNAME,NONE,ZERO -NONE,VJOURNAL,TZOFFSETFROM,NONE,ZERO -NONE,VJOURNAL,TZOFFSETTO,NONE,ZERO -NONE,VJOURNAL,TZURL,NONE,ZERO -NONE,VJOURNAL,UID,NONE,ZEROORONE -NONE,VJOURNAL,URL,NONE,ZEROORONE -NONE,VJOURNAL,VERSION,NONE,ZERO -NONE,VJOURNAL,X,NONE,ZEROPLUS -NONE,VFREEBUSY,ACTION,NONE,ZERO -NONE,VFREEBUSY,ATTACH,NONE,ZERO -NONE,VFREEBUSY,ATTENDEE,NONE,ZEROPLUS -NONE,VFREEBUSY,CALSCALE,NONE,ZERO -NONE,VFREEBUSY,CATEGORIES,NONE,ZERO -NONE,VFREEBUSY,CLASS,NONE,ZERO -NONE,VFREEBUSY,COMMENT,NONE,ZEROPLUS -NONE,VFREEBUSY,COMPLETED,NONE,ZERO -NONE,VFREEBUSY,CONTACT,NONE,ZEROORONE -NONE,VFREEBUSY,CREATED,NONE,ZERO -NONE,VFREEBUSY,DESCRIPTION,NONE,ZERO -NONE,VFREEBUSY,DTEND,NONE,ZEROORONE -NONE,VFREEBUSY,DTSTAMP,NONE,ZERO -NONE,VFREEBUSY,DTSTART,NONE,ZEROORONE -NONE,VFREEBUSY,DUE,NONE,ZERO -NONE,VFREEBUSY,DURATION,NONE,ZEROORONE -NONE,VFREEBUSY,EXDATE,NONE,ZERO -NONE,VFREEBUSY,EXRULE,NONE,ZERO -NONE,VFREEBUSY,FREEBUSY,NONE,ZEROPLUS -NONE,VFREEBUSY,GEO,NONE,ZERO -NONE,VFREEBUSY,LASTMODIFIED,NONE,ZERO -NONE,VFREEBUSY,LOCATION,NONE,ZERO -NONE,VFREEBUSY,METHOD,NONE,ZERO -NONE,VFREEBUSY,ORGANIZER,NONE,ZEROORONE -NONE,VFREEBUSY,PERCENTCOMPLETE,NONE,ZERO -NONE,VFREEBUSY,PRIORITY,NONE,ZERO -NONE,VFREEBUSY,PRODID,NONE,ZERO -NONE,VFREEBUSY,RDATE,NONE,ZERO -NONE,VFREEBUSY,RECURRENCEID,NONE,ZERO -NONE,VFREEBUSY,RELATEDTO,NONE,ZERO -NONE,VFREEBUSY,REPEAT,NONE,ZERO -NONE,VFREEBUSY,REQUESTSTATUS,NONE,ZEROPLUS -NONE,VFREEBUSY,RESOURCES,NONE,ZERO -NONE,VFREEBUSY,RRULE,NONE,ZERO -NONE,VFREEBUSY,SEQUENCE,NONE,ZERO -NONE,VFREEBUSY,STATUS,NONE,ZERO -NONE,VFREEBUSY,SUMMARY,NONE,ZERO -NONE,VFREEBUSY,TRANSP,NONE,ZERO -NONE,VFREEBUSY,TRIGGER,NONE,ZERO -NONE,VFREEBUSY,TZID,NONE,ZERO -NONE,VFREEBUSY,TZNAME,NONE,ZERO -NONE,VFREEBUSY,TZOFFSETFROM,NONE,ZERO -NONE,VFREEBUSY,TZOFFSETTO,NONE,ZERO -NONE,VFREEBUSY,TZURL,NONE,ZERO -NONE,VFREEBUSY,UID,NONE,ZEROORONE -NONE,VFREEBUSY,URL,NONE,ZEROORONE -NONE,VFREEBUSY,VERSION,NONE,ZERO -NONE,VFREEBUSY,X,NONE,ZEROPLUS -NONE,VTIMEZONE,ACTION,NONE,ZERO -NONE,VTIMEZONE,ATTACH,NONE,ZERO -NONE,VTIMEZONE,ATTENDEE,NONE,ZERO -NONE,VTIMEZONE,CALSCALE,NONE,ZERO -NONE,VTIMEZONE,CATEGORIES,NONE,ZERO -NONE,VTIMEZONE,CLASS,NONE,ZERO -NONE,VTIMEZONE,COMMENT,NONE,ZERO -NONE,VTIMEZONE,COMPLETED,NONE,ZERO -NONE,VTIMEZONE,CONTACT,NONE,ZERO -NONE,VTIMEZONE,CREATED,NONE,ZERO -NONE,VTIMEZONE,DESCRIPTION,NONE,ZERO -NONE,VTIMEZONE,DTEND,NONE,ZERO -NONE,VTIMEZONE,DTSTAMP,NONE,ZERO -NONE,VTIMEZONE,DTSTART,NONE,ZERO -NONE,VTIMEZONE,DUE,NONE,ZERO -NONE,VTIMEZONE,DURATION,NONE,ZERO -NONE,VTIMEZONE,EXDATE,NONE,ZERO -NONE,VTIMEZONE,EXRULE,NONE,ZERO -NONE,VTIMEZONE,FREEBUSY,NONE,ZERO -NONE,VTIMEZONE,GEO,NONE,ZERO -NONE,VTIMEZONE,LASTMODIFIED,NONE,ZEROORONE -NONE,VTIMEZONE,LOCATION,NONE,ZERO -NONE,VTIMEZONE,METHOD,NONE,ZERO -NONE,VTIMEZONE,ORGANIZER,NONE,ZERO -NONE,VTIMEZONE,PERCENTCOMPLETE,NONE,ZERO -NONE,VTIMEZONE,PRIORITY,NONE,ZERO -NONE,VTIMEZONE,PRODID,NONE,ZERO -NONE,VTIMEZONE,RDATE,NONE,ZERO -NONE,VTIMEZONE,RECURRENCEID,NONE,ZERO -NONE,VTIMEZONE,RELATEDTO,NONE,ZERO -NONE,VTIMEZONE,REPEAT,NONE,ZERO -NONE,VTIMEZONE,REQUESTSTATUS,NONE,ZERO -NONE,VTIMEZONE,RESOURCES,NONE,ZERO -NONE,VTIMEZONE,RRULE,NONE,ZERO -NONE,VTIMEZONE,SEQUENCE,NONE,ZERO -NONE,VTIMEZONE,STATUS,NONE,ZERO -NONE,VTIMEZONE,SUMMARY,NONE,ZERO -NONE,VTIMEZONE,TRANSP,NONE,ZERO -NONE,VTIMEZONE,TRIGGER,NONE,ZERO -NONE,VTIMEZONE,TZID,NONE,ONE -NONE,VTIMEZONE,TZNAME,NONE,ZERO -NONE,VTIMEZONE,TZOFFSETFROM,NONE,ZERO -NONE,VTIMEZONE,TZOFFSETTO,NONE,ZERO -NONE,VTIMEZONE,TZURL,NONE,ZEROPLUS -NONE,VTIMEZONE,UID,NONE,ZERO -NONE,VTIMEZONE,URL,NONE,ZERO -NONE,VTIMEZONE,VERSION,NONE,ZERO -NONE,VTIMEZONE,X,NONE,ZEROORONE -NONE,XSTANDARD,ACTION,NONE,ZERO -NONE,XSTANDARD,ATTACH,NONE,ZERO -NONE,XSTANDARD,ATTENDEE,NONE,ZERO -NONE,XSTANDARD,CALSCALE,NONE,ZERO -NONE,XSTANDARD,CATEGORIES,NONE,ZERO -NONE,XSTANDARD,CLASS,NONE,ZERO -NONE,XSTANDARD,COMMENT,NONE,ZEROPLUS -NONE,XSTANDARD,COMPLETED,NONE,ZERO -NONE,XSTANDARD,CONTACT,NONE,ZERO -NONE,XSTANDARD,CREATED,NONE,ZERO -NONE,XSTANDARD,DESCRIPTION,NONE,ZERO -NONE,XSTANDARD,DTEND,NONE,ZERO -NONE,XSTANDARD,DTSTAMP,NONE,ZERO -NONE,XSTANDARD,DTSTART,NONE,ONE -NONE,XSTANDARD,DUE,NONE,ZERO -NONE,XSTANDARD,DURATION,NONE,ZERO -NONE,XSTANDARD,EXDATE,NONE,ZERO -NONE,XSTANDARD,EXRULE,NONE,ZERO -NONE,XSTANDARD,FREEBUSY,NONE,ZERO -NONE,XSTANDARD,GEO,NONE,ZERO -NONE,XSTANDARD,LASTMODIFIED,NONE,ZERO -NONE,XSTANDARD,LOCATION,NONE,ZERO -NONE,XSTANDARD,METHOD,NONE,ZERO -NONE,XSTANDARD,ORGANIZER,NONE,ZERO -NONE,XSTANDARD,PERCENTCOMPLETE,NONE,ZERO -NONE,XSTANDARD,PRIORITY,NONE,ZERO -NONE,XSTANDARD,PRODID,NONE,ZERO -NONE,XSTANDARD,RDATE,NONE,ZEROPLUS -NONE,XSTANDARD,RECURRENCEID,NONE,ZERO -NONE,XSTANDARD,RELATEDTO,NONE,ZERO -NONE,XSTANDARD,REPEAT,NONE,ZERO -NONE,XSTANDARD,REQUESTSTATUS,NONE,ZERO -NONE,XSTANDARD,RESOURCES,NONE,ZERO -NONE,XSTANDARD,RRULE,NONE,ZEROPLUS -NONE,XSTANDARD,SEQUENCE,NONE,ZERO -NONE,XSTANDARD,STATUS,NONE,ZERO -NONE,XSTANDARD,SUMMARY,NONE,ZERO -NONE,XSTANDARD,TRANSP,NONE,ZERO -NONE,XSTANDARD,TRIGGER,NONE,ZERO -NONE,XSTANDARD,TZID,NONE,ZERO -NONE,XSTANDARD,TZNAME,NONE,ZEROPLUS -NONE,XSTANDARD,TZOFFSETFROM,NONE,ONE -NONE,XSTANDARD,TZOFFSETTO,NONE,ONE -NONE,XSTANDARD,TZURL,NONE,ZERO -NONE,XSTANDARD,UID,NONE,ZERO -NONE,XSTANDARD,URL,NONE,ZERO -NONE,XSTANDARD,VERSION,NONE,ZERO -NONE,XSTANDARD,X,NONE,ZEROPLUS -NONE,XDAYLIGHT,ACTION,NONE,ZERO -NONE,XDAYLIGHT,ATTACH,NONE,ZERO -NONE,XDAYLIGHT,ATTENDEE,NONE,ZERO -NONE,XDAYLIGHT,CALSCALE,NONE,ZERO -NONE,XDAYLIGHT,CATEGORIES,NONE,ZERO -NONE,XDAYLIGHT,CLASS,NONE,ZERO -NONE,XDAYLIGHT,COMMENT,NONE,ZEROPLUS -NONE,XDAYLIGHT,COMPLETED,NONE,ZERO -NONE,XDAYLIGHT,CONTACT,NONE,ZERO -NONE,XDAYLIGHT,CREATED,NONE,ZERO -NONE,XDAYLIGHT,DESCRIPTION,NONE,ZERO -NONE,XDAYLIGHT,DTEND,NONE,ZERO -NONE,XDAYLIGHT,DTSTAMP,NONE,ZERO -NONE,XDAYLIGHT,DTSTART,NONE,ONE -NONE,XDAYLIGHT,DUE,NONE,ZERO -NONE,XDAYLIGHT,DURATION,NONE,ZERO -NONE,XDAYLIGHT,EXDATE,NONE,ZERO -NONE,XDAYLIGHT,EXRULE,NONE,ZERO -NONE,XDAYLIGHT,FREEBUSY,NONE,ZERO -NONE,XDAYLIGHT,GEO,NONE,ZERO -NONE,XDAYLIGHT,LASTMODIFIED,NONE,ZERO -NONE,XDAYLIGHT,LOCATION,NONE,ZERO -NONE,XDAYLIGHT,METHOD,NONE,ZERO -NONE,XDAYLIGHT,ORGANIZER,NONE,ZERO -NONE,XDAYLIGHT,PERCENTCOMPLETE,NONE,ZERO -NONE,XDAYLIGHT,PRIORITY,NONE,ZERO -NONE,XDAYLIGHT,PRODID,NONE,ZERO -NONE,XDAYLIGHT,RDATE,NONE,ZEROPLUS -NONE,XDAYLIGHT,RECURRENCEID,NONE,ZERO -NONE,XDAYLIGHT,RELATEDTO,NONE,ZERO -NONE,XDAYLIGHT,REPEAT,NONE,ZERO -NONE,XDAYLIGHT,REQUESTSTATUS,NONE,ZERO -NONE,XDAYLIGHT,RESOURCES,NONE,ZERO -NONE,XDAYLIGHT,RRULE,NONE,ZEROPLUS -NONE,XDAYLIGHT,SEQUENCE,NONE,ZERO -NONE,XDAYLIGHT,STATUS,NONE,ZERO -NONE,XDAYLIGHT,SUMMARY,NONE,ZERO -NONE,XDAYLIGHT,TRANSP,NONE,ZERO -NONE,XDAYLIGHT,TRIGGER,NONE,ZERO -NONE,XDAYLIGHT,TZID,NONE,ZERO -NONE,XDAYLIGHT,TZNAME,NONE,ZEROPLUS -NONE,XDAYLIGHT,TZOFFSETFROM,NONE,ONE -NONE,XDAYLIGHT,TZOFFSETTO,NONE,ONE -NONE,XDAYLIGHT,TZURL,NONE,ZERO -NONE,XDAYLIGHT,UID,NONE,ZERO -NONE,XDAYLIGHT,URL,NONE,ZERO -NONE,XDAYLIGHT,VERSION,NONE,ZERO -NONE,XDAYLIGHT,X,NONE,ZEROPLUS -NONE,XAUDIOALARM,ACTION,NONE,ONE -NONE,XAUDIOALARM,ATTACH,NONE,ZEROORONE -NONE,XAUDIOALARM,ATTENDEE,NONE,ZERO -NONE,XAUDIOALARM,CALSCALE,NONE,ZERO -NONE,XAUDIOALARM,CATEGORIES,NONE,ZERO -NONE,XAUDIOALARM,CLASS,NONE,ZERO -NONE,XAUDIOALARM,COMMENT,NONE,ZERO -NONE,XAUDIOALARM,COMPLETED,NONE,ZERO -NONE,XAUDIOALARM,CONTACT,NONE,ZERO -NONE,XAUDIOALARM,CREATED,NONE,ZERO -NONE,XAUDIOALARM,DESCRIPTION,NONE,ZERO -NONE,XAUDIOALARM,DTEND,NONE,ZERO -NONE,XAUDIOALARM,DTSTAMP,NONE,ZERO -NONE,XAUDIOALARM,DTSTART,NONE,ZERO -NONE,XAUDIOALARM,DUE,NONE,ZERO -NONE,XAUDIOALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat -NONE,XAUDIOALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration -NONE,XAUDIOALARM,EXDATE,NONE,ZERO -NONE,XAUDIOALARM,EXRULE,NONE,ZERO -NONE,XAUDIOALARM,FREEBUSY,NONE,ZERO -NONE,XAUDIOALARM,GEO,NONE,ZERO -NONE,XAUDIOALARM,LASTMODIFIED,NONE,ZERO -NONE,XAUDIOALARM,LOCATION,NONE,ZERO -NONE,XAUDIOALARM,METHOD,NONE,ZERO -NONE,XAUDIOALARM,ORGANIZER,NONE,ZERO -NONE,XAUDIOALARM,PERCENTCOMPLETE,NONE,ZERO -NONE,XAUDIOALARM,PRIORITY,NONE,ZERO -NONE,XAUDIOALARM,PRODID,NONE,ZERO -NONE,XAUDIOALARM,RDATE,NONE,ZERO -NONE,XAUDIOALARM,RECURRENCEID,NONE,ZERO -NONE,XAUDIOALARM,RELATEDTO,NONE,ZERO -NONE,XAUDIOALARM,REQUESTSTATUS,NONE,ZERO -NONE,XAUDIOALARM,RESOURCES,NONE,ZERO -NONE,XAUDIOALARM,RRULE,NONE,ZERO -NONE,XAUDIOALARM,SEQUENCE,NONE,ZERO -NONE,XAUDIOALARM,STATUS,NONE,ZERO -NONE,XAUDIOALARM,SUMMARY,NONE,ZERO -NONE,XAUDIOALARM,TRANSP,NONE,ZERO -NONE,XAUDIOALARM,TRIGGER,NONE,ONE -NONE,XAUDIOALARM,TZID,NONE,ZERO -NONE,XAUDIOALARM,TZNAME,NONE,ZERO -NONE,XAUDIOALARM,TZOFFSETFROM,NONE,ZERO -NONE,XAUDIOALARM,TZOFFSETTO,NONE,ZERO -NONE,XAUDIOALARM,TZURL,NONE,ZERO -NONE,XAUDIOALARM,UID,NONE,ZERO -NONE,XAUDIOALARM,URL,NONE,ZERO -NONE,XAUDIOALARM,VERSION,NONE,ZERO -NONE,XAUDIOALARM,X,NONE,ZEROPLUS -NONE,XDISPLAYALARM,ACTION,NONE,ONE -NONE,XDISPLAYALARM,ATTACH,NONE,ZERO -NONE,XDISPLAYALARM,ATTENDEE,NONE,ZERO -NONE,XDISPLAYALARM,CALSCALE,NONE,ZERO -NONE,XDISPLAYALARM,CATEGORIES,NONE,ZERO -NONE,XDISPLAYALARM,CLASS,NONE,ZERO -NONE,XDISPLAYALARM,COMMENT,NONE,ZERO -NONE,XDISPLAYALARM,COMPLETED,NONE,ZERO -NONE,XDISPLAYALARM,CONTACT,NONE,ZERO -NONE,XDISPLAYALARM,CREATED,NONE,ZERO -NONE,XDISPLAYALARM,DESCRIPTION,NONE,ONE -NONE,XDISPLAYALARM,DTEND,NONE,ZERO -NONE,XDISPLAYALARM,DTSTAMP,NONE,ZERO -NONE,XDISPLAYALARM,DTSTART,NONE,ZERO -NONE,XDISPLAYALARM,DUE,NONE,ZERO -NONE,XDISPLAYALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat -NONE,XDISPLAYALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration -NONE,XDISPLAYALARM,EXDATE,NONE,ZERO -NONE,XDISPLAYALARM,EXRULE,NONE,ZERO -NONE,XDISPLAYALARM,FREEBUSY,NONE,ZERO -NONE,XDISPLAYALARM,GEO,NONE,ZERO -NONE,XDISPLAYALARM,LASTMODIFIED,NONE,ZERO -NONE,XDISPLAYALARM,LOCATION,NONE,ZERO -NONE,XDISPLAYALARM,METHOD,NONE,ZERO -NONE,XDISPLAYALARM,ORGANIZER,NONE,ZERO -NONE,XDISPLAYALARM,PERCENTCOMPLETE,NONE,ZERO -NONE,XDISPLAYALARM,PRIORITY,NONE,ZERO -NONE,XDISPLAYALARM,PRODID,NONE,ZERO -NONE,XDISPLAYALARM,RDATE,NONE,ZERO -NONE,XDISPLAYALARM,RECURRENCEID,NONE,ZERO -NONE,XDISPLAYALARM,RELATEDTO,NONE,ZERO -NONE,XDISPLAYALARM,REQUESTSTATUS,NONE,ZERO -NONE,XDISPLAYALARM,RESOURCES,NONE,ZERO -NONE,XDISPLAYALARM,RRULE,NONE,ZERO -NONE,XDISPLAYALARM,SEQUENCE,NONE,ZERO -NONE,XDISPLAYALARM,STATUS,NONE,ZERO -NONE,XDISPLAYALARM,SUMMARY,NONE,ZERO -NONE,XDISPLAYALARM,TRANSP,NONE,ZERO -NONE,XDISPLAYALARM,TRIGGER,NONE,ONE -NONE,XDISPLAYALARM,TZID,NONE,ZERO -NONE,XDISPLAYALARM,TZNAME,NONE,ZERO -NONE,XDISPLAYALARM,TZOFFSETFROM,NONE,ZERO -NONE,XDISPLAYALARM,TZOFFSETTO,NONE,ZERO -NONE,XDISPLAYALARM,TZURL,NONE,ZERO -NONE,XDISPLAYALARM,UID,NONE,ZERO -NONE,XDISPLAYALARM,URL,NONE,ZERO -NONE,XDISPLAYALARM,VERSION,NONE,ZERO -NONE,XDISPLAYALARM,X,NONE,ZEROPLUS -NONE,XEMAILALARM,ACTION,NONE,ONE -NONE,XEMAILALARM,ATTACH,NONE,ZEROPLUS -NONE,XEMAILALARM,ATTENDEE,NONE,ONEPLUS -NONE,XEMAILALARM,CALSCALE,NONE,ZERO -NONE,XEMAILALARM,CATEGORIES,NONE,ZERO -NONE,XEMAILALARM,CLASS,NONE,ZERO -NONE,XEMAILALARM,COMMENT,NONE,ZERO -NONE,XEMAILALARM,COMPLETED,NONE,ZERO -NONE,XEMAILALARM,CONTACT,NONE,ZERO -NONE,XEMAILALARM,CREATED,NONE,ZERO -NONE,XEMAILALARM,DESCRIPTION,NONE,ONE -NONE,XEMAILALARM,DTEND,NONE,ZERO -NONE,XEMAILALARM,DTSTAMP,NONE,ZERO -NONE,XEMAILALARM,DTSTART,NONE,ZERO -NONE,XEMAILALARM,DUE,NONE,ZERO -NONE,XEMAILALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat -NONE,XEMAILALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration -NONE,XEMAILALARM,EXDATE,NONE,ZERO -NONE,XEMAILALARM,EXRULE,NONE,ZERO -NONE,XEMAILALARM,FREEBUSY,NONE,ZERO -NONE,XEMAILALARM,GEO,NONE,ZERO -NONE,XEMAILALARM,LASTMODIFIED,NONE,ZERO -NONE,XEMAILALARM,LOCATION,NONE,ZERO -NONE,XEMAILALARM,METHOD,NONE,ZERO -NONE,XEMAILALARM,ORGANIZER,NONE,ZERO -NONE,XEMAILALARM,PERCENTCOMPLETE,NONE,ZERO -NONE,XEMAILALARM,PRIORITY,NONE,ZERO -NONE,XEMAILALARM,PRODID,NONE,ZERO -NONE,XEMAILALARM,RDATE,NONE,ZERO -NONE,XEMAILALARM,RECURRENCEID,NONE,ZERO -NONE,XEMAILALARM,RELATEDTO,NONE,ZERO -NONE,XEMAILALARM,REQUESTSTATUS,NONE,ZERO -NONE,XEMAILALARM,RESOURCES,NONE,ZERO -NONE,XEMAILALARM,RRULE,NONE,ZERO -NONE,XEMAILALARM,SEQUENCE,NONE,ZERO -NONE,XEMAILALARM,STATUS,NONE,ZERO -NONE,XEMAILALARM,SUMMARY,NONE,ONE -NONE,XEMAILALARM,TRANSP,NONE,ZERO -NONE,XEMAILALARM,TRIGGER,NONE,ONE -NONE,XEMAILALARM,TZID,NONE,ZERO -NONE,XEMAILALARM,TZNAME,NONE,ZERO -NONE,XEMAILALARM,TZOFFSETFROM,NONE,ZERO -NONE,XEMAILALARM,TZOFFSETTO,NONE,ZERO -NONE,XEMAILALARM,TZURL,NONE,ZERO -NONE,XEMAILALARM,UID,NONE,ZERO -NONE,XEMAILALARM,URL,NONE,ZERO -NONE,XEMAILALARM,VERSION,NONE,ZERO -NONE,XEMAILALARM,X,NONE,ZEROPLUS -NONE,XPROCEDUREALARM,ACTION,NONE,ONE -NONE,XPROCEDUREALARM,ATTACH,NONE,ZEROORONE -NONE,XPROCEDUREALARM,ATTENDEE,NONE,ZERO -NONE,XPROCEDUREALARM,CALSCALE,NONE,ZERO -NONE,XPROCEDUREALARM,CATEGORIES,NONE,ZERO -NONE,XPROCEDUREALARM,CLASS,NONE,ZERO -NONE,XPROCEDUREALARM,COMMENT,NONE,ZERO -NONE,XPROCEDUREALARM,COMPLETED,NONE,ZERO -NONE,XPROCEDUREALARM,CONTACT,NONE,ZERO -NONE,XPROCEDUREALARM,CREATED,NONE,ZERO -NONE,XPROCEDUREALARM,DESCRIPTION,NONE,ZEROORONE -NONE,XPROCEDUREALARM,DTEND,NONE,ZERO -NONE,XPROCEDUREALARM,DTSTAMP,NONE,ZERO -NONE,XPROCEDUREALARM,DTSTART,NONE,ZERO -NONE,XPROCEDUREALARM,DUE,NONE,ZERO -NONE,XPROCEDUREALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat -NONE,XPROCEDUREALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration -NONE,XPROCEDUREALARM,EXDATE,NONE,ZERO -NONE,XPROCEDUREALARM,EXRULE,NONE,ZERO -NONE,XPROCEDUREALARM,FREEBUSY,NONE,ZERO -NONE,XPROCEDUREALARM,GEO,NONE,ZERO -NONE,XPROCEDUREALARM,LASTMODIFIED,NONE,ZERO -NONE,XPROCEDUREALARM,LOCATION,NONE,ZERO -NONE,XPROCEDUREALARM,METHOD,NONE,ZERO -NONE,XPROCEDUREALARM,ORGANIZER,NONE,ZERO -NONE,XPROCEDUREALARM,PERCENTCOMPLETE,NONE,ZERO -NONE,XPROCEDUREALARM,PRIORITY,NONE,ZERO -NONE,XPROCEDUREALARM,PRODID,NONE,ZERO -NONE,XPROCEDUREALARM,RDATE,NONE,ZERO -NONE,XPROCEDUREALARM,RECURRENCEID,NONE,ZERO -NONE,XPROCEDUREALARM,RELATEDTO,NONE,ZERO -NONE,XPROCEDUREALARM,REQUESTSTATUS,NONE,ZERO -NONE,XPROCEDUREALARM,RESOURCES,NONE,ZERO -NONE,XPROCEDUREALARM,RRULE,NONE,ZERO -NONE,XPROCEDUREALARM,SEQUENCE,NONE,ZERO -NONE,XPROCEDUREALARM,STATUS,NONE,ZERO -NONE,XPROCEDUREALARM,SUMMARY,NONE,ZERO -NONE,XPROCEDUREALARM,TRANSP,NONE,ZERO -NONE,XPROCEDUREALARM,TRIGGER,NONE,ONE -NONE,XPROCEDUREALARM,TZID,NONE,ZERO -NONE,XPROCEDUREALARM,TZNAME,NONE,ZERO -NONE,XPROCEDUREALARM,TZOFFSETFROM,NONE,ZERO -NONE,XPROCEDUREALARM,TZOFFSETTO,NONE,ZERO -NONE,XPROCEDUREALARM,TZURL,NONE,ZERO -NONE,XPROCEDUREALARM,UID,NONE,ZERO -NONE,XPROCEDUREALARM,URL,NONE,ZERO -NONE,XPROCEDUREALARM,VERSION,NONE,ZERO -NONE,XPROCEDUREALARM,X,NONE,ZEROPLUS diff --git a/libical/design-data/status.txt b/libical/design-data/status.txt deleted file mode 100644 index 9e7bbf83a7..0000000000 --- a/libical/design-data/status.txt +++ /dev/null @@ -1,56 +0,0 @@ -2.0 STATOK Operation was successfully performed. -2.0.1 STARTSENDATA Start ICAL input; end with <CRLF>.<CRLF> -2.0.11 OKDATAFOLLOWS The request was processed successfully. Reply data follows on the next line and terminates with <CRLF>.<CRLF> -2.0.2 REPLYPENDING A timeout has occurred. The server is still working on the reply. Use CONTINUE to continue waiting for the reply or ABORT to terminate the command. -2.0.3 ABORTED The command currently underway was successsfully aborted. -2.0.4 WILLATTEMPT The specified Calendar is not here but an attempt will be made to deliver the request or reply to the Calendar anyway. -2.0.5 TRUSTEDWILLQUEUE The request or reply will be queued and delivered to the target calendar when its iRIP server contacts this server and issues the SWITCH command. -2.0.6 WILLATTEMPT The specified Calendar is not here but an attempt will be made to deliver the request or reply to the Calendar anyway. -2.0.7 QUEUED The message has been queued for delivery. -2.0.8 QUEUEEMPTY There are no more queued messages. -2.1 FALLBACK Success. Fallback taken on one or more property values. -2.2 NOCOMMANDINPROGRESS An ABORT or CONTINUE was received when no command was in progress -2.2 IGPROP Success. Invalid property ignored. -2.3 IGPARAM Success. invalid property parameter ignored. -2.4 IGXPROP Success. Unknown non-standard property ignored. -2.5 IGXPARAM Success. Unknown non standard property value ignored. -2.6 IGCOMP Success. Invalid calendar component ignored. -2.7 FORWARD Success. Request forwarded to Calendar User. -2.8 ONEEVENT Success. Repeating event ignored. Scheduled as a single component. -2.9 TRUNC Success. Truncated end date time to date boundary. -2.10 ONETODO Success. Repeating VTODO ignored. Scheduled as a single VTODO. -2.11 TRUNCRRULE Success. Unbounded RRULE clipped at some finite number of instances -3.0 INVPROPNAME Invalid property name. -3.1 INVPROPVAL Invalid property value. -3.2 INVPARAM Invalid property parameter. -3.3 INVPARAMVAL Invalid property parameter value. -3.4 INVCOMP Invalid calendar component sequence. -3.5 INVTIME Invalid date or time. -3.6 INVRULE Invalid rule. -3.7 INVCU Invalid Calendar User. -3.8 NOAUTH No authority. -3.9 BADVERSION Unsupported version. -3.10 TOOBIG Request entity too large. -3.11 MISSREQCOMP Required component or property missing. -3.12 UNKCOMP Unknown component or property found. -3.13 BADCOMP Unsupported component or property found -3.14 NOCAP Unsupported capability. -4.0 BUSY Event conflict. Date/time is busy. -5.0 MAYBE Request MAY supported. -5.1 UNAVAIL Service unavailable. -5.2 NOSERVICE Invalid calendar service. -5.3 NOSCHED No scheduling support for user. -6.1 AUTHENTICATEFAILURE Unsupported authentication mechanism, credentials rejected -6.2 AUTHENTICATIONABORTED Sender aborted authentication, authentication exchange cancelled -8.0 GENERALFAILURE A failure has occurred in the Receiver that prevents the operation from succeeding. -8.1 SERVERTOOBUSY The iRIP Receiver is too busy. -8.2 ICALOBJECTTOOBIG Object has exceeded the server's size limit. -8.3 DATETOOLARGE A DATETIME value was too far in the future to be represented on this Calendar. -8.4 DATETOOSMALL A DATETIME value was too far in the past to be represented on this Calendar. -9.0 INVALIDIRIPCOMMAND An unrecongnized command was received. -9.1 UNEXPECTEDCOMMAND The command is not allowed for the server's current state. -10.1 REFERRAL Accompanied by an alternate address. -10.2 SERVERSHUTDOWN The server is shutting down. -10.3 SERVERSTOPPING FLOOD 2 -10.4 EXCEEDEDQUOTAS The operation would cause a resource to exceed the allocated quota -10.5 QUEUEDTOOLONG The ITIP message has been queued too long. Delivery has been aborted. diff --git a/libical/design-data/value-c-types.txt b/libical/design-data/value-c-types.txt deleted file mode 100644 index 9b445655d9..0000000000 --- a/libical/design-data/value-c-types.txt +++ /dev/null @@ -1,23 +0,0 @@ -ATTACH nogen icalattach * -BINARY autogen const char* -BOOLEAN autogen int -CAL-ADDRESS autogen const char* -DATE autogen struct icaltimetype -DATE-TIME autogen struct icaltimetype -DATE-TIME-DATE autogen struct icaltimetype # Non-std -DATE-TIME-PERIOD nogen struct icaldatetimeperiodtype # Non-std -DURATION autogen struct icaldurationtype -FLOAT autogen float -GEO autogen struct icalgeotype # Non-std -INTEGER autogen int -METHOD autogen icalproperty_method # Non-std -PERIOD autogen struct icalperiodtype -RECUR nogen struct icalrecurrencetype -STRING autogen const char* # Non-std -TEXT autogen const char* -TIME autogen struct icaltimetype -TRIGGER nogen struct icaltriggertype # Non-std -URI autogen const char* -UTC-OFFSET autogen int -QUERY autogen const char* -STATUS autogen icalproperty_status #Non-std diff --git a/libical/design-data/value-mem-semantics.txt b/libical/design-data/value-mem-semantics.txt deleted file mode 100644 index ce085ede80..0000000000 --- a/libical/design-data/value-mem-semantics.txt +++ /dev/null @@ -1,19 +0,0 @@ -ATTACH icalattach * -BINARY char* -BOOLEAN int -CAL-ADDRESS char* -DATE time_t -DATE-TIME time_t -DATE-TIME-DATE time_t -DATE-TIME-PERIOD struct icalperiodtype -DURATION struct icaldurationtype -FLOAT float -GEO struct icalgeotype -INTEGER int -PERIOD struct icalperiodtype -RECUR struct icalrecurrencetype -TEXT char* -TIME time_t -TRIGGER struct icaltriggertimetype -URI char* -UTC-OFFSET int diff --git a/libical/design-data/value-types.csv b/libical/design-data/value-types.csv deleted file mode 100644 index 654307097e..0000000000 --- a/libical/design-data/value-types.csv +++ /dev/null @@ -1,31 +0,0 @@ -"#Name","C type& gen flag","Python","Component Values","Enum Values" -"BINARY","(a)const char*","file","unitary", -"BOOLEAN","(a)int","integer","unitary", -"CAL-ADDRESS","(a)const char*","string","unitary", -"DATE","(a)struct icaltimetype","Time","unitary", -"DATE-TIME","(a)struct icaltimetype","Time","unitary", -"DURATION","(a)struct icaldurationtype","Duration","unitary", -"FLOAT","(a)float","float","unitary", -"INTEGER","(a)int","integer","unitary", -"PERIOD","(a)struct icalperiodtype","Period","unitary", -"RECUR","(m)struct icalrecurrencetype","RecurrenceSet","unitary", -"TEXT","(a)const char*","string","unitary", -"TIME","(a)struct icaltimetype","Time","unitary", -"URI","(a)const char*","string","unitary", -"UTC-OFFSET","(a)int","integer","unitary", -"QUERY","(a)const char*","string","unitary", -"#Non-standard multi-valued types",,,, -"ATTACH","(m)icalattach *","none","URI;BINARY", -"DATE-TIME-DATE","(a)struct icaltimetype","none","DATE-TIME;DATE", -"DATE-TIME-PERIOD","(m)struct icaldatetimeperiodtype","none","DATE-TIME;PERIOD", -"TRIGGER","(m)struct icaltriggertype","string","DURATION;DATE-TIME", -"#Non-standard property enumeration types",,,, -"METHOD","(a)enum icalproperty_method","string","unitary","PUBLISH;REQUEST;REPLY;ADD;CANCEL;REFRESH;COUNTER;DECLINECOUNTER;CREATE;READ;RESPONSE;MOVE;MODIFY;GENERATEUID;DELETE" -"ACTION","(a)enum icalproperty_action","string","unitary","AUDIO;DISPLAY;EMAIL;PROCEDURE" -"STATUS","(a)enum icalproperty_status","string","unitary","TENTATIVE;CONFIRMED;COMPLETED;NEEDS-ACTION;CANCELLED;IN-PROCESS;DRAFT;FINAL" -"TRANSP","(a)enum icalproperty_transp","string","unitary","OPAQUE;TRANSPARENT" -"CLASS","(a)enum icalproperty_class","string","unitary","PUBLIC;PRIVATE;CONFIDENTIAL" -"#Other non-standard",,,, -"GEO","(a)struct icalgeotype","tuple","unitary", -"STRING","(a)const char*","string","unitary", -"X","(m)const char*","string","unitary", diff --git a/libical/doc/.cvsignore b/libical/doc/.cvsignore deleted file mode 100644 index 3dda72986f..0000000000 --- a/libical/doc/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile.in -Makefile diff --git a/libical/doc/Makefile.am b/libical/doc/Makefile.am deleted file mode 100644 index 70b008a369..0000000000 --- a/libical/doc/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = UsingLibical.lyx UsingLibical.ps UsingLibical.txt diff --git a/libical/doc/UsingLibical.lyx b/libical/doc/UsingLibical.lyx deleted file mode 100644 index cef199bea5..0000000000 --- a/libical/doc/UsingLibical.lyx +++ /dev/null @@ -1,2578 +0,0 @@ -#LyX 1.1 created this file. For more info see http://www.lyx.org/ -\lyxformat 2.16 -\textclass article -\language default -\inputencoding latin1 -\fontscheme default -\graphics default -\paperfontsize default -\spacing single -\papersize Default -\paperpackage a4 -\use_geometry 0 -\use_amsmath 0 -\paperorientation portrait -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation indent -\defskip medskip -\quotes_language english -\quotes_times 2 -\papercolumns 1 -\papersides 1 -\paperpagestyle default - -\layout Title - -Using Libical -\layout Author - -Eric Busboom (eric@softwarestudio.org) -\layout Date - -January 2001 -\layout Standard - - -\begin_inset LatexCommand \tableofcontents{} - -\end_inset - - -\layout Section - -Introduction -\layout Standard - -Libical is an Open Source implementation of the iCalendar protocols and - protocol data units. - The iCalendar specification describes how calendar clients can communicate - with calendar servers so users can store their calendar data and arrange - meetings with other users. - -\layout Standard - -Libical implements RFC2445, RFC2446 and some of RFC2447 and the CAP draft. - -\layout Standard - -This documentation assumes that you are familiar with the iCalendar standards - RFC2445 and RFC2446. - these specifications are online on the CALSCH webpage at: -\layout LyX-Code - -http://www.imc.org/ietf-calendar/ -\layout Subsection - -The libical project -\layout Standard - -This code is under active development. - If you would like to contribute to the project, you can contact me, Eric - Busboom, at eric@softwarestudio.org. - The project has a webpage at -\layout LyX-Code - -http://softwarestudio.org/libical/index.html -\layout Standard - -and a mailing list that you can join by sending the following mail: -\layout LyX-Code - -To: minimalist@softwarestudio.org -\layout LyX-Code - -Subject: subscribe libical -\layout Subsection - -License -\layout Standard - -The code and datafiles in this distribution are licensed under the Mozilla - Public License. - See http://www.mozilla.org/NPL/MPL-1.0.html for a copy of the license. - Alternately, you may use libical under the terms of the GNU Library General - Public License. - See http://www.fsf.org/copyleft/lesser.html for a copy of the LGPL. -\layout Standard - -This dual license ensures that the library can be incorporated into both - proprietary code and GPL'd programs, and will benefit from improvements - made by programmers in both realms. - I will only accept changes into my version of the library if they are similarly - dual-licensed. -\layout Subsection - -Example Code -\layout Standard - -A lot of the documentation for this library is in the form of example code. - These examples are in the -\begin_inset Quotes eld -\end_inset - -examples -\begin_inset Quotes erd -\end_inset - - directory of the distribution. - Also look in -\begin_inset Quotes eld -\end_inset - -src/test -\begin_inset Quotes erd -\end_inset - - for additional annotated examples. - -\layout Section - -Building nas Installing the Library -\layout Standard - -Libical uses autoconf to generate makefiles. - It should built with no adjustments on Linux, FreeBSD and Solaris under - gcc. - Some version have been successfully been build on MacOS, Solaris, UnixWare, - And Tru64 UNIX without gcc, but you may run into problems with a particular - later version. - -\layout Standard - -For a more complete guide to building the library, see the README file in - the distribution. - -\layout Standard - - -\begin_inset Quotes eld -\end_inset - -make install -\begin_inset Quotes erd -\end_inset - - will install the libraries and header files for three modules: libical, - libicalss. - and libicalvcal. - If you build shared objects, then these files will be installed: -\layout Itemize - -ical.h -\layout Itemize - -libical.a -\layout Itemize - -libical.so -\layout Itemize - -icalss.h -\layout Itemize - -libicalss.a -\layout Itemize - -libicalss.so -\layout Itemize - -icalvcal.h -\layout Itemize - -libicalvcal.a -\layout Itemize - -libicalvcal.so -\layout Standard - -The header files ical.h and icalss.h are combined header files, generated - by concatenating together all of the header files in src/libical and src/libica -lss respectively. - -\layout Section - -Structure -\layout Standard - -The iCal calendar model is based on four types of objects: components, propertie -s, values and parameters. - -\layout Standard - -Properties are the fundamental unit of information in iCal, and they work - a bit like a hash entry, with a constant key and a variable value. - Properties may also have modifiers, called parameters. - In the iCal content line -\layout LyX-Code - -ORGANIZER;ROLE=CHAIR:MAILTO:mrbig@host.com -\layout Standard - -The property name is -\begin_inset Quotes eld -\end_inset - -ORGANIZER, -\begin_inset Quotes erd -\end_inset - - the value of the property is -\begin_inset Quotes eld -\end_inset - -mrbig@host.com -\begin_inset Quotes erd -\end_inset - - and the -\begin_inset Quotes eld -\end_inset - -ROLE -\begin_inset Quotes erd -\end_inset - - parameter specifies that Mr Big is the chair of the meetings associated - with this property. - -\layout Standard - -Components are groups of properties that represent the core objects of a - calendar system, such as events or timezones. - Components are delimited by -\begin_inset Quotes eld -\end_inset - -BEGIN -\begin_inset Quotes erd -\end_inset - - and -\begin_inset Quotes eld -\end_inset - -END -\begin_inset Quotes erd -\end_inset - - tags. - -\layout Standard -\added_space_bottom 0.3cm -When a component is sent across a network, if it is un-encrypted, it will - look something like: -\layout LyX-Code - -BEGIN:VCALENDAR -\layout LyX-Code - -METHOD:REQUEST -\layout LyX-Code - -PRODID: -//hacksw/handcal//NONSGML v1.0//EN -\layout LyX-Code - -BEGIN:VEVENT -\layout LyX-Code - -DTSTAMP:19980309T231000Z -\layout LyX-Code - -UID:guid-1.host1.com -\layout LyX-Code - -ORGANIZER;ROLE=CHAIR:MAILTO:mrbig@host.com -\layout LyX-Code - -ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT;CUTYPE=GROUP: -\layout LyX-Code - - MAILTO:employee-A@host.com -\layout LyX-Code - -DESCRIPTION:Project XYZ Review Meeting -\layout LyX-Code - -CATEGORIES:MEETING -\layout LyX-Code - -CLASS:PUBLIC -\layout LyX-Code - -CREATED:19980309T130000Z -\layout LyX-Code - -SUMMARY:XYZ Project Review -\layout LyX-Code - -DTSTART;TZID=US-Eastern:19980312T083000 -\layout LyX-Code - -DTEND;TZID=US-Eastern:19980312T093000 -\layout LyX-Code - -LOCATION:1CP Conference Room 4350 -\layout LyX-Code - -END:VEVENT -\layout LyX-Code - -END:VCALENDAR -\layout Standard - -Note that components can be nested; this example has both a VCALENDAR and - a VEVENT component, one nested inside the other. - -\layout Standard - -The main goal of Libical is to offer a structured, type-safe to create, - access and manipulate components and their properties, values and parameters. - -\layout Subsection - -Core iCal classes -\layout Standard - -Libical is an object-based, data-oriented library. - There are no real-objects, but the way the routines are named and organized - results in the same sort of encapsulations and abstraction that are major - features of Object-Orieted languages. - Nearly all of the routines in the library are associated with an opaque - data types and perform some operation on that data type. - For instnace, a Property is declared as: -\layout LyX-Code - -icalproperty *prop; -\layout Standard - -Icalproperty is typedef'd to void, so the only way to manipulate it is through - the accessor routines, all of which have a form similar to: -\layout LyX-Code - -char* icalproperty_as_ical_string(icalproperty* prop); -\layout Standard - -That is, the name of the 'class' is the first word in the routine name, - and the first parameter is a pointer to the 'object.' -\layout Standard - -Although the library does not actually have classes, we will use those terms - since the behavior of these associations of data and routines is very similar - to a class. - -\layout Subsubsection - -Properties -\layout LyX-Code - -icalproperty *prop; -\layout Standard - -Properties are represented with the icalproperty class and its many -\begin_inset Quotes eld -\end_inset - -derived -\begin_inset Quotes erd -\end_inset - - classes with on -\begin_inset Quotes eld -\end_inset - -derived -\begin_inset Quotes erd -\end_inset - - class per property type in RFC2445. - Again, there is no actual inheritance relations, but there are clusters - of routines that make this term useful. - A property is a container for a single value and a set of parameters. - -\layout Subsubsection - -Components -\layout LyX-Code - -icalcomponent *comp; -\layout Standard - -In libical, components are represented with the icalcomponent class. - Icalcomponent is a container for a set of other components and properties. -\layout Subsubsection - -Values -\layout LyX-Code - -icalvalue *value; -\layout Standard - -Values are represented in a similar way to properties; a base class and - many -\begin_inset Quotes eld -\end_inset - -derived -\begin_inset Quotes eld -\end_inset - - classes. - A value is essentially a abstract handle on a single fundamental type, - a structure or a union. - You probably will never use a value directly, since for most operations - you can get to its data through the property that holds it. - -\layout Subsubsection - -Parameters -\layout LyX-Code - -icalparameter *param; -\layout Standard - -Parameters are represetned in a similar way to properties, except that they - contain only one value -\layout Subsection - -Other elements of libical -\layout Standard - -In addition to the core iCal classes, libical has many other types, structures, - classes that aid in creating and using iCal components. - -\layout Subsubsection - -Enumerations and types -\layout Standard - -Libical is strongly typed, so every component, property, parameter, and - value type has an enumeration, and some have an associated structure or - union. - -\layout Subsubsection - -The parser -\layout Standard - -The libical parser offers a variety of ways to convert RFC2445 text into - a libical iinsteral component structure. - the parser can parse blocks of text as a string, or it can parse lin-by-line. -\layout Subsubsection - -Error objects -\layout Standard - -Libical has a substantial error reporting system for both programming errors - and component usage errors. - -\layout Subsubsection - -Memory Management -\layout Standard - -Since many of libicals interfaces return strings, the library has its own - memory management system to elimiate the need to free every string returned - from the libraru. - -\layout Subsubsection - -Storage classes -\layout Standard - -The library also offers several classes to store components to flies, memory - or databases. - -\layout Section - -Differences From RFCs -\layout Standard - -Libical has been designed to follow the standards as closely as possible, - so that the key objects in the standards are also key objects in the library. - However, there are a few areas where the specifications are (arguably) - irregular, and following them exactly would result in an unfriendly interface. - These deviations make libical easier to use by maintaining a self-similar - interface. - -\layout Subsection - -Pseudo Components -\layout Standard - -Libical defines components for groups of properties that look and act like - components, but are not defined as components in the specification. - XDAYLIGHT and XSTANDARD are notable examples. - These pseudo components group properties within the VTIMEZONE components. - For instanace, the timezone properties associated with daylight savings - time starts with -\begin_inset Quotes eld -\end_inset - -BEGIN:DAYLIGHT -\begin_inset Quotes erd -\end_inset - - and ends with -\begin_inset Quotes eld -\end_inset - -END:DAYLIGHT, just like other components, but is not defined as a component - in RFC2445. - ( See RFC2445, page 61 ) In Libical,this grouping is represented by the - XDAYLIGHT component. - Standard iCAL components all start with the letter -\begin_inset Quotes eld -\end_inset - -V, -\begin_inset Quotes erd -\end_inset - - while pseudo components start with -\begin_inset Quotes erd -\end_inset - -X. -\begin_inset Quotes erd -\end_inset - - -\layout Standard - -There are also pseudo components that are conceptually derived classes of - VALARM. - RFC2446 defines what properties may be included in each component, and - for VALARM, the set of properties it may have depends on the value of the - ACTION property. - -\layout Standard - -For instance, if a VALARM component has an ACTION property with the value - of -\begin_inset Quotes eld -\end_inset - -AUDIO, -\begin_inset Quotes erd -\end_inset - - the component must also have an -\begin_inset Quotes eld -\end_inset - -ATTACH -\begin_inset Quotes erd -\end_inset - - property. - However, if the ACTION value is -\begin_inset Quotes eld -\end_inset - -DISPLAY, -\begin_inset Quotes erd -\end_inset - - the component must have a DESCRIPTION property. - -\layout Standard - -To handle these various, complex restrictions, libical has pseudo components - for each type of alarm: XAUDIOALARM, XDISPLAYALARM, XEMAILALARM and XPROCEDUREA -LARM. - -\layout Subsection - -Combined Values -\layout Standard - -Many values can take more than one type. - TRIGGER, for instance, can have a value type of with DURATION or of DATE-TIME. - These multiple types make it difficult to create routines to return the - value associated with a property. - -\layout Standard - -It is natural to have interfaces that would return the value of a property, - but it is cumbersome for a single routine to return multiple types. - So, in libical, properties that can have multiple types are given a single - type that is the union of their RFC2445 types. - For instance, in libical, the value of the TRIGGER property resolves to - struct icaltriggertype. - This type is a union of a DURATION and a DATE-TIME. - -\layout Subsection - -Multi-Valued Properties -\layout Standard - -Some properties, such as CATEGORIES have only one value type, but each CATEGORIE -S property can have multiple value instances. - This also results in a cumbersome interface -- CATEGORIES accessors would - have to return a list while all other accessors returned a single value. - In libical, all properties have a single value, and multi-valued properties - are broken down into multiple single valued properties during parsing. - That is, an input line like, -\layout LyX-Code - -CATEGORIES: work, home -\layout Standard - -becomes in libical's internal representation -\layout LyX-Code - -CATEGORIES: work -\layout LyX-Code - -CATEGORIES: home -\layout Standard - -Oddly, RFC2445 allows some multi-valued properties ( like FREEBUSY ) to - exist as both a multi-values property and as multiple single value properties, - while others ( like CATEGORIES ) can only exist as single multi-valued - properties. - This makes the internal representation for CATEGORIES illegal. - However when you convert a component to a string, the library will collect - all of the CATEGORIES properties into one. - -\layout Section - -Using libical -\layout Subsection - -Creating Components -\layout Standard - -There are three ways to create components in Libical: -\layout Itemize - -Create individual components, properties and parameters and assemble them - into structures -\layout Itemize - -Build complete components with nested vaargs calls -\layout Itemize - -Parse bits of text -\layout Itemize - -Parse entire files -\layout Subsubsection - -Constructor Interfaces -\layout Standard - -Using constructor interfaces, you create each of the objects separately - and then assemble them in to components: -\layout LyX-Code - -icalcomponent *event; -\layout LyX-Code - -icalproperty *prop; -\layout LyX-Code - -icalparameter *param; -\layout LyX-Code - -struct icaltimetype atime; -\layout LyX-Code - -\layout LyX-Code - -event = icalcomponent_new(ICAL_VEVENT_COMPONENT); -\layout LyX-Code - -prop = icalproperty_new_dtstamp(atime); -\layout LyX-Code - -icalcomponent_add_property(event, prop); -\layout LyX-Code - -\layout LyX-Code - -prop = icalproperty_new_uid(''guid-1.host1.com'') ); -\layout LyX-Code - -icalcomponent_add_property(event,prop); -\layout LyX-Code - -\layout LyX-Code - -prop=icalproperty_new_organizer(''mrbig@host.com''); -\layout LyX-Code - -param = icalparameter_new_role(ICAL_ROLE_CHAIR) -\layout LyX-Code - -icalproperty_add_parameter(prop, param); -\layout LyX-Code - -\layout LyX-Code - -icalcomponent_add_property(event,prop); -\layout Standard - -Notice that libical uses a semi-object-oriented style of interface. - Most things you work with are objects, that are instantiated with a constructor - that has -\begin_inset Quotes eld -\end_inset - -new -\begin_inset Quotes erd -\end_inset - - in the name. - Also note that, other than the object reference, most structure data is - passed in to libical routines by value. - Libical has some complex but very regular memory handling rules. - These are detailed in section -\begin_inset LatexCommand \ref{sec:memory} - -\end_inset - -. -\layout Standard - -If any of the constructors fail, they will return 0. - If you try to insert 0 into a property or component, or use a zero-valued - object reference, libical will either silently ignore the error or will - abort with an error message. - This behavior is controlled by a compile time flag (ICAL_ERRORS_ARE_FATAL), - and will abort by default. - -\layout Subsubsection - -vaargs Constructors -\layout Standard - -There is another way to create complex components, which is arguably more - elegant, if you are not horrified by varargs. - The varargs constructor interface allows you to create intricate components - in a single block of code. - Here is the previous examples in the vaargs style. - -\layout LyX-Code - - calendar = -\layout LyX-Code - - icalcomponent_vanew( -\layout LyX-Code - - ICAL_VCALENDAR_COMPONENT, -\layout LyX-Code - - icalproperty_new_version(''2.0''), -\layout LyX-Code - - icalproperty_new_prodid( -\layout LyX-Code - - ''-//RDU Software//NONSGML HandCal//EN''), -\layout LyX-Code - - icalcomponent_vanew( -\layout LyX-Code - - ICAL_VEVENT_COMPONENT, -\layout LyX-Code - - icalproperty_new_dtstamp(atime), -\layout LyX-Code - - icalproperty_new_uid(''guid-1.host1.com''), -\layout LyX-Code - - icalproperty_vanew_organizer( -\layout LyX-Code - - ''mrbig@host.com''), -\layout LyX-Code - - icalparameter_new_role(ICAL_ROLE_CHAIR), -\layout LyX-Code - - 0 -\layout LyX-Code - - ), -\layout LyX-Code - - icalproperty_vanew_attendee( -\layout LyX-Code - - ''employee-A@host.com'', -\layout LyX-Code - - icalparameter_new_role( -\layout LyX-Code - - ICAL_ROLE_REQPARTICIPANT), -\layout LyX-Code - - icalparameter_new_rsvp(1), -\layout LyX-Code - - icalparameter_new_cutype(ICAL_CUTYPE_GROUP), -\layout LyX-Code - - 0 -\layout LyX-Code - - ), -\layout LyX-Code - - icalproperty_new_location( -\layout LyX-Code - - "1CP Conference Room 4350"), -\layout LyX-Code - - 0 -\layout LyX-Code - - ), -\layout LyX-Code - - 0 -\layout LyX-Code - - ); -\layout Standard - -This form is similar to the constructor form , except that the constructors - have -\begin_inset Quotes eld -\end_inset - -vanew -\begin_inset Quotes erd -\end_inset - - instead of -\begin_inset Quotes eld -\end_inset - -new -\begin_inset Quotes erd -\end_inset - - in the name. - The arguments are similar too, except that the component constructor can - have a list of properties, and the property constructor can have a list - of parameters. - Be sure to terminate every list with a '0', or your code will crash, if - you are lucky. - -\layout Subsubsection - -Parsing Text -\layout Standard - -Several routines are available for generating objects from text. - For properties, use: -\layout LyX-Code - -icalproperty* p; -\layout LyX-Code - -p = icalproperty_new_from_string("DTSTART:19970101T120000Z -\backslash -n"); -\layout Standard - -For parameters, use: -\layout LyX-Code - -icalparameter *param -\layout LyX-Code - -param = icalparameter_new_from_string("PARTSTAT=ACCEPTED"); -\layout Standard - -The final way to create components will probably be the most common; you - can create components from RFC2445 compliant text. - If you have the string in memory, use -\layout LyX-Code - -icalcomponent* icalcomponent_new_from_string(char* str); -\layout Standard - -If the string contains only one component, the routine will return the component - in libical form. - If the string contains multiple components, the multiple components will - be returned as the children of an ICAL_XROOT_COMPONENT component. - This routine is identical to ( and actually uses ) icalparser_parse_string(char -* str). -\layout Standard - -Parsing a whole string may seem wasteful if you want to pull a large component - off of the network or from a file; you may prefer to parse the component - line by line. - This is possible too by using: -\layout LyX-Code - -icalparser* icalparser_new(); -\layout LyX-Code - -void icalparser_free(icalparser* parser); -\layout LyX-Code - -icalparser_get_line(parser,read_stream); -\layout LyX-Code - -icalparser_add_line(parser,line); -\layout LyX-Code - -icalparser_set_gen_data(parser,stream) -\layout Standard - -These routines will construct a parser object to which you can add lines - of input and retrieve any components that the parser creates from the input. - These routines work by specifing an adaptor routine to get string data - from a source. - For an example: -\layout LyX-Code - -char* read_stream(char *s, size_t size, void *d) -\layout LyX-Code - -{ -\layout LyX-Code - - char *c = fgets(s,size, (FILE*)d); -\layout LyX-Code - - return c; -\layout LyX-Code - -} -\layout LyX-Code - -main() { -\layout LyX-Code - - char* line; -\layout LyX-Code - - icalcomponent *c; -\layout LyX-Code - - icalparser *parser = icalparser_new(); -\layout LyX-Code - - FILE* stream = fopen(argv[1],"r"); -\layout LyX-Code - - icalparser_set_gen_data(parser,stream); -\layout LyX-Code - - do{ -\layout LyX-Code - - line = icalparser_get_line(parser,read_stream); -\layout LyX-Code - - c = icalparser_add_line(parser,line); -\layout LyX-Code - - if (c != 0){ -\layout LyX-Code - - printf("%s",icalcomponent_as_ical_string(c)); -\layout LyX-Code - - icalparser_claim(parser); -\layout LyX-Code - - printf(" -\backslash -n--------------- -\backslash -n"); -\layout LyX-Code - - icalcomponent_free(c); -\layout LyX-Code - - } -\layout LyX-Code - - } while ( line != 0); -\layout LyX-Code - -} -\layout Standard - -The parser object parameterizes the routine used to get input lines with - icalparser_set_gen_data() and -\emph on - -\emph default -icalparser_get_line(). - In this example, the routine read_stream() will fetch the next line from - a stream, with the stream passed in as the void* parameter d. - The parser calls read_stream() from icalparser_get_line(), but it also - needs to know what stream to use. - This is set by the call to icalparser_set_gen_data(). - By using a different routine for read_stream or passing in different data - with icalparser_set_gen_data, you can connect to any data source. - -\layout Standard - -Using the same mechanism, other implementations could read from memory buffers, - sockets or other interfaces. - -\layout Standard - -Since the example code is a very common way to use the parser, there is - a convenience routine; -\layout LyX-Code - -icalcomponent* icalparser_parse(icalparser *parser, -\layout LyX-Code - - char* (*line_gen_func)(char *s, size_t size, void* d)) -\layout Standard - -To use this routine, you still must construct the parser object and pass - in a reference to a line reading routine. - If the parser can create a single component from the input, it will return - a pointer to the newly constructed component. - If the parser can construct multiple components from the input, it will - return a reference to an XROOT component ( of type ICAL_XROOT_COMPONENT.) - This XROOT component will hold all of the components constructed from the - input as children. - -\layout Subsection - -Accessing Components -\layout Standard - -Given a reference to a component, you probably will want to access the propertie -s, parameters and values inside. - Libical interfaces let you find sub-components, add and remove sub-components, - and do the same three operations on properties. - -\layout Subsubsection - -Finding Components -\layout Standard - -To find a sub-component of a component, use: -\layout LyX-Code - -icalcomponent* icalcomponent_get_first_component( -\layout LyX-Code - - icalcomponent* component, -\layout LyX-Code - - icalcomponent_kind kind); -\layout Standard - -This routine will return a reference to the first component of the type - 'kind.' The key kind values, listed in icalenums.h are: -\layout LyX-Code - -ICAL_ANY_COMPONENT -\layout LyX-Code - -ICAL_VEVENT_COMPONENT -\layout LyX-Code - -ICAL_VTODO_COMPONENT -\layout LyX-Code - -ICAL_VJOURNAL_COMPONENT -\layout LyX-Code - -ICAL_VCALENDAR_COMPONENT -\layout LyX-Code - -ICAL_VFREEBUSY_COMPONENT -\layout LyX-Code - -ICAL_VALARM_COMPONENT -\layout Standard - -These are only the most common components; there are many more listed in - icalenums.h. -\layout Standard - -As you might guess, if there is more than one subcomponent of the type you - have chosen, this routine will return only the first. - to get at the others, you need to iterate through the component. - -\layout Subsubsection - -Iterating Through Components -\layout Standard - -Iteration requires a second routine to get the next subcomponent after the - first: -\layout LyX-Code - -icalcomponent* icalcomponent_get_next_component( -\layout LyX-Code - - icalcomponent* component, -\layout LyX-Code - - icalcomponent_kind kind); -\layout Standard - -With the 'first' and 'next' routines, you can create a for loop to iterate - through all of a components subcomponents -\layout LyX-Code - - for(c = icalcomponent_get_first_component(comp,ICAL_ANY_COMPONENT); -\layout LyX-Code - - c != 0; -\layout LyX-Code - - c = icalcomponent_get_next_component(comp,ICAL_ANY_COMPONENT)) -\layout LyX-Code - -{ -\layout LyX-Code - - do_something(c); -\layout LyX-Code - -} -\layout Standard - -This code bit wil iterate through all of the |