]> err.no Git - scalable-opengroupware.org/blob - SOPE/NGCards/iCalPerson.h
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1178 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / SOPE / NGCards / 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 __NGCards_iCalPerson_H__
23 #define __NGCards_iCalPerson_H__
24
25 #import "CardElement.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 : CardElement
45
46 /* accessors */
47
48 - (void)setCn:(NSString *)_s;
49 - (NSString *)cn;
50 - (NSString *)cnWithoutQuotes;
51
52 - (void)setEmail:(NSString *)_s;
53 - (NSString *)email;
54 - (NSString *)rfc822Email; /* email without 'mailto:' prefix */
55
56 - (void)setRsvp:(NSString *)_s;
57 - (NSString *)rsvp;
58
59 // - (void)setXuid:(NSString *)_s;
60 // - (NSString *)xuid;
61
62 - (void)setRole:(NSString *)_s;
63 - (NSString *)role;
64
65 - (void)setPartStat:(NSString *)_s;
66 - (NSString *)partStat;
67 - (NSString *)partStatWithDefault;
68
69 - (void)setParticipationStatus:(iCalPersonPartStat)_status;
70 - (iCalPersonPartStat)participationStatus;
71
72 - (BOOL)isEqualToPerson:(iCalPerson *)_other;
73 - (BOOL)hasSameEmailAddress:(iCalPerson *)_other;
74
75 @end
76
77 #endif /* __NGCards_iCalPerson_H__ */