]> err.no Git - sope/blob - sope-ical/NGiCal/iCalPerson.h
bumped framework versions
[sope] / sope-ical / NGiCal / iCalPerson.h
1 /*
2   Copyright (C) 2000-2005 SKYRIX Software AG
3
4   This file is part of SOPE.
5
6   SOPE 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   SOPE 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 SOPE; 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
22 #ifndef __NGiCal_iCalPerson_H__
23 #define __NGiCal_iCalPerson_H__
24
25 #include <NGiCal/iCalObject.h>
26
27 typedef enum {
28   iCalPersonPartStatNeedsAction  = 0, /* NEEDS-ACTION (DEFAULT) */
29   iCalPersonPartStatAccepted     = 1, /* ACCEPTED               */
30   iCalPersonPartStatDeclined     = 2, /* DECLINED               */
31   /* up to here defined for VJOURNAL                            */
32   iCalPersonPartStatTentative    = 3, /* TENTATIVE              */
33   iCalPersonPartStatDelegated    = 4, /* DELEGATED              */
34   /* up to here defined for VEVENT                              */
35   iCalPersonPartStatCompleted    = 5, /* COMPLETED              */
36   iCalPersonPartStatInProcess    = 6, /* IN-PROCESS             */
37   /* up to there defined for VTODO                              */
38   
39   /* these are also defined for VJOURNAL, VEVENT and VTODO      */
40   iCalPersonPartStatExperimental = 7, /* x-name                 */
41   iCalPersonPartStatOther        = 8  /* iana-token             */
42 } iCalPersonPartStat;
43
44 @interface iCalPerson : iCalObject
45 {
46   NSString *cn;
47   NSString *email;
48   NSString *rsvp;     /* i.e. FALSE           */
49   NSString *partStat; /* i.e. NEEDS-ACTION    */
50   NSString *role;     /* i.e. REQ-PARTICIPANT */
51   NSString *xuid;     /* i.e. x22sAAHFf       */
52 }
53
54 /* accessors */
55
56 - (void)setCn:(NSString *)_s;
57 - (NSString *)cn;
58 - (NSString *)cnWithoutQuotes;
59
60 - (void)setEmail:(NSString *)_s;
61 - (NSString *)email;
62 - (NSString *)rfc822Email; /* email without 'mailto:' prefix */
63
64 - (void)setRsvp:(NSString *)_s;
65 - (NSString *)rsvp;
66
67 - (void)setXuid:(NSString *)_s;
68 - (NSString *)xuid;
69
70 - (void)setRole:(NSString *)_s;
71 - (NSString *)role;
72
73 - (void)setPartStat:(NSString *)_s;
74 - (NSString *)partStat;
75
76 - (void)setParticipationStatus:(iCalPersonPartStat)_status;
77 - (iCalPersonPartStat)participationStatus;
78
79 - (BOOL)isEqualToPerson:(iCalPerson *)_other;
80 - (BOOL)hasSameEmailAddress:(iCalPerson *)_other;
81
82 @end
83
84 #endif /* __NGiCal_iCalPerson_H__ */