]> err.no Git - scalable-opengroupware.org/blob - SOPE/NGCards/NGVCard.h
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1178 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / SOPE / NGCards / NGVCard.h
1 /*
2   Copyright (C) 2005 Helge Hess
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_NGVCard_H__
23 #define __NGiCal_NGVCard_H__
24
25 #import "CardGroup.h"
26
27 /*
28   NGVCard
29   
30   Represents a vCard object.
31
32   XML DTD in Dawson-03 Draft:
33     <!ELEMENT vCard      (%prop.man;, (%prop.opt;)*)>
34     
35     <!ATTLIST vCard
36             %attr.lang;
37             xmlns     CDATA #FIXED 
38         'http://www.ietf.org/internet-drafts/draft-dawson-vcard-xml-dtd-02.txt'
39             xmlns:vcf CDATA #FIXED 
40         'http://www.ietf.org/internet-drafts/draft-dawson-vcard-xml-dtd-02.txt'
41             version   CDATA #REQUIRED
42             rev       CDATA #IMPLIED
43             uid       CDATA #IMPLIED
44             prodid    CDATA #IMPLIED
45             class (PUBLIC | PRIVATE | CONFIDENTIAL) "PUBLIC"
46             value NOTATION (VCARD) #IMPLIED>
47     <!-- version - Must be "3.0" if document conforms to this spec -->
48     <!-- rev - ISO 8601 formatted date or date/time string -->
49     <!-- uid - UID associated with the object described by the vCard -->
50     <!-- prodid - ISO 9070 FPI for product that generated vCard -->
51     <!-- class - Security classification for vCard information -->
52   
53   Mandatory elements:
54     n
55     fn
56 */
57
58 @class NSArray;
59 @class NSDictionary;
60 @class NSString;
61
62 @interface NGVCard : CardGroup
63
64 + (id) cardWithUid: (NSString *) _uid;
65 - (id) initWithUid: (NSString *) _uid;
66
67 /* accessors */
68
69 - (void) setVersion: (NSString *) _version;
70 - (NSString *) version;
71
72 - (void) setUid: (NSString *) _uid;
73 - (NSString *) uid;
74
75 - (void) setPreferred: (CardElement *) aChild;
76
77 - (void) setVClass: (NSString *) _s;
78 - (NSString *) vClass;
79 - (void) setVName: (NSString *) _s;
80 - (NSString *) vName;
81 - (void) setProdID: (NSString *) _s;
82 - (NSString *) prodID;
83 - (void) setProfile: (NSString *) _s;
84 - (NSString *) profile;
85 - (void) setSource: (NSString *) _s;
86 - (NSString *) source;
87
88 - (void) setFn: (NSString *) _fn;
89 - (NSString *) fn;
90 - (void) setNickname: (NSString *) aValue;
91 - (NSString *) nickname;
92
93 - (void) setRole: (NSString *) _s;
94 - (NSString *) role;
95 - (void) setTitle: (NSString *) _title;
96 - (NSString *) title;
97 - (void) setBday: (NSString *) _bday;
98 - (NSString *) bday;
99 - (void) setNote: (NSString *) _note;
100 - (NSString *) note;
101 - (void) setTz: (NSString *) _tz;
102 - (NSString *) tz;
103
104 - (void) addTel: (NSString *) phoneNumber
105           types: (NSArray *) types;
106 - (void) addEmail: (NSString *) emailAddress
107             types: (NSArray *) types;
108
109 - (void) setNWithFamily: (NSString *) family
110                   given: (NSString *) given
111              additional: (NSString *) additional
112                prefixes: (NSString *) prefixes
113                suffixes: (NSString *) suffixes;
114 - (NSArray *) n;
115
116 - (void) setOrg: (NSString *) anOrg
117           units: (NSArray *) someUnits;
118 - (NSArray *) org;
119
120 // - (void) setN: (NGVCardName *) _v;
121 // - (NGVCardName *) n;
122 // - (void) setOrg: (NGVCardOrg *) _v;
123 // - (NGVCardOrg *) org;
124
125 // - (void) setCategories: (id) _v;
126 // - (NGVCardStrArrayValue *) categories;
127
128 // - (void) setTel: (NSArray *) _tel;
129 // - (NSArray *) tel;
130 // - (void) setAdr: (NSArray *) _adr;
131 // - (NSArray *) adr;
132 // - (void) setEmail: (NSArray *) _array;
133 // - (NSArray *) email;
134 // - (void) setLabel: (NSArray *) _array;
135 // - (NSArray *) label;
136 // - (void) setUrl: (NSArray *) _url;
137 // - (NSArray *) url;
138
139 // - (void) setFreeBusyURL: (NSArray *) _v;
140 // - (NSArray *) freeBusyURL;
141 // - (void) setCalURI: (NSArray *) _calURI;
142 // - (NSArray *) calURI;
143
144 // - (void) setX: (NSDictionary *) _dict;
145 // - (NSDictionary *) x;
146
147 /* convenience */
148
149 - (NSString *) preferredEMail;
150 - (NSString *) preferredTel;
151 - (CardElement *) preferredAdr;
152
153 @end
154
155 #endif /* __NGiCal_NGVCard_H__ */