]> err.no Git - sope/blob - sope-ical/NGiCal/iCalPerson.h
formal definitions of participantStatus
[sope] / sope-ical / NGiCal / iCalPerson.h
1 /*
2   Copyright (C) 2000-2004 SKYRIX Software AG
3
4   This file is part of OpenGroupware.org.
5
6   OGo is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10
11   OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with OGo; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21 // $Id$
22
23 #ifndef __NGiCal_iCalPerson_H__
24 #define __NGiCal_iCalPerson_H__
25
26 #include <NGiCal/iCalObject.h>
27
28 typedef enum {
29   iCalPersonPartStatNeedsAction  = 0, /* NEEDS-ACTION (DEFAULT) */
30   iCalPersonPartStatAccepted     = 1, /* ACCEPTED               */
31   iCalPersonPartStatDeclined     = 2, /* DECLINED               */
32   /* up to here defined for VJOURNAL                            */
33   iCalPersonPartStatTentative    = 3, /* TENTATIVE              */
34   iCalPersonPartStatDelegated    = 4, /* DELEGATED              */
35   /* up to here defined for VEVENT                              */
36   iCalPersonPartStatCompleted    = 5, /* COMPLETED              */
37   iCalPersonPartStatInProcess    = 6, /* IN-PROCESS             */
38   /* up to there defined for VTODO                              */
39   
40   /* these are also defined for VJOURNAL, VEVENT and VTODO      */
41   iCalPersonPartStatExperimental = 7, /* x-name                 */
42   iCalPersonPartStatOther        = 8  /* iana-token             */
43 } iCalPersonPartStat;
44
45 @interface iCalPerson : iCalObject
46 {
47   NSString *cn;
48   NSString *email;
49   NSString *rsvp;     /* i.e. FALSE           */
50   NSString *partStat; /* i.e. NEEDS-ACTION    */
51   NSString *role;     /* i.e. REQ-PARTICIPANT */
52   NSString *xuid;     /* i.e. x22sAAHFf       */
53 }
54
55 /* accessors */
56
57 - (void)setCn:(NSString *)_s;
58 - (NSString *)cn;
59 - (NSString *)cnWithoutQuotes;
60
61 - (void)setEmail:(NSString *)_s;
62 - (NSString *)email;
63 - (NSString *)rfc822Email; /* email without 'mailto:' prefix */
64
65 - (void)setRsvp:(NSString *)_s;
66 - (NSString *)rsvp;
67
68 - (void)setXuid:(NSString *)_s;
69 - (NSString *)xuid;
70
71 - (void)setRole:(NSString *)_s;
72 - (NSString *)role;
73
74 - (void)setPartStat:(NSString *)_s;
75 - (NSString *)partStat;
76
77 - (void)setParticipationStatus:(iCalPersonPartStat)_status;
78 - (iCalPersonPartStat)participationStatus;
79
80 - (BOOL)isEqualToPerson:(iCalPerson *)_other;
81 - (BOOL)hasSameEmailAddress:(iCalPerson *)_other;
82
83 @end
84
85 #endif /* __NGiCal_iCalPerson_H__ */