diff options
author | Russell Steinthal <rms39@columbia.edu> | 2000-02-16 22:27:38 +0800 |
---|---|---|
committer | Seth Alves <alves@src.gnome.org> | 2000-02-16 22:27:38 +0800 |
commit | 08f2b4e43ff25f5be620bfb3a3e3786b57849ad5 (patch) | |
tree | c0bf25e53209065c401325d27580982ac30c6e87 /calendar/cal-util/calobj.h | |
parent | f926f10e86aee8df632613d9c5b5022e6b8597ca (diff) | |
download | gsoc2013-evolution-08f2b4e43ff25f5be620bfb3a3e3786b57849ad5.tar gsoc2013-evolution-08f2b4e43ff25f5be620bfb3a3e3786b57849ad5.tar.gz gsoc2013-evolution-08f2b4e43ff25f5be620bfb3a3e3786b57849ad5.tar.bz2 gsoc2013-evolution-08f2b4e43ff25f5be620bfb3a3e3786b57849ad5.tar.lz gsoc2013-evolution-08f2b4e43ff25f5be620bfb3a3e3786b57849ad5.tar.xz gsoc2013-evolution-08f2b4e43ff25f5be620bfb3a3e3786b57849ad5.tar.zst gsoc2013-evolution-08f2b4e43ff25f5be620bfb3a3e3786b57849ad5.zip |
Change iCalObject.organizer from char* to iCalPerson*
2000-02-16 Russell Steinthal <rms39@columbia.edu>
* calobj.[ch], eventedit.c, main.c: Change iCalObject.organizer
from char* to iCalPerson*
* calobj.[ch]: Change iCalObject.related from list of char* to
list of iCalRelation*; assorted related fixes
* icalendar.c: interface between libical and the gnomecal
internal representation
svn path=/trunk/; revision=1791
Diffstat (limited to 'calendar/cal-util/calobj.h')
-rw-r--r-- | calendar/cal-util/calobj.h | 47 |
1 files changed, 43 insertions, 4 deletions
diff --git a/calendar/cal-util/calobj.h b/calendar/cal-util/calobj.h index dabbc36c2d..38d9598298 100644 --- a/calendar/cal-util/calobj.h +++ b/calendar/cal-util/calobj.h @@ -31,7 +31,14 @@ typedef struct { int enabled; int count; enum AlarmUnit units; - char *data; + char *data; /* not used for iCalendar alarms */ + + /* the following pointers are used for iCalendar alarms */ + + char *attach; /* AUDIO, EMAIL, PROC */ + char *desc; /* DISPLAY, EMAIL, PROC */ + char *summary; /* EMAIL */ + char *attendee; /* EMAIL */ /* Does not get saved, internally used */ time_t offset; @@ -82,6 +89,11 @@ typedef enum { ICAL_TRANSPARENT } iCalTransp; +typedef struct { + char *uid; + char *reltype; +} iCalRelation; + typedef char NotYet; enum RecurType { @@ -119,6 +131,28 @@ typedef struct { int __count; } Recurrence; +/* + NOTE: iCalPerson is used for various property values which specify + people (e.g. ATTENDEE, ORGANIZER, etc. Not all fields are valid + under RFC 2445 for all property values, but iCalPerson can store + them anyway. Enforcing the RFC is a job for the parser. +*/ + +typedef struct { + char *addr; + char *name; + char *role; + char *partstat; + gboolean rsvp; + char *cutype; /* calendar user type */ + GList *member; /* group memberships */ + GList *deleg_to; + GList *deleg_from; + char *sent_by; + char *directory; + GList *altrep; /* list of char* URI's */ +} iCalPerson; + #define IS_INFINITE(r) (r->duration == 0) /* Flags to indicate what has changed in an object */ @@ -137,7 +171,7 @@ typedef struct { iCalType type; GList *attach; /* type: one or more URIs or binary data */ - GList *attendee; /* type: CAL-ADDRESS */ + GList *attendee; /* type: CAL-ADDRESS (list of iCalPerson) */ GList *categories; /* type: one or more TEXT */ char *class; @@ -145,15 +179,18 @@ typedef struct { time_t completed; time_t created; GList *contact; /* type: one or more TEXT */ + char *desc; time_t dtstamp; time_t dtstart; - time_t dtend; + time_t dtend; /* also duedate for todo's */ + gboolean date_only; /* set if the start/end times were + specified using dates, not times (internal use, not stored to disk) */ GList *exdate; /* type: one or more time_t's */ GList *exrule; /* type: one or more RECUR */ iCalGeo geo; time_t last_mod; char *location; - char *organizer; + iCalPerson *organizer; int percent; int priority; char *rstatus; /* request status for freebusy */ @@ -174,6 +211,8 @@ typedef struct { CalendarAlarm palarm; CalendarAlarm malarm; + GList *alarms; + Recurrence *recur; int new; |