2 Copyright (C) 2005 Helge Hess
4 This file is part of SOPE.
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
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.
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
22 #ifndef __NGiCal_NGVCard_H__
23 #define __NGiCal_NGVCard_H__
30 Represents a vCard object.
32 XML DTD in Dawson-03 Draft:
33 <!ELEMENT vCard (%prop.man;, (%prop.opt;)*)>
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
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 -->
62 @interface NGVCard : CardGroup
64 + (id) cardWithUid: (NSString *) _uid;
65 - (id) initWithUid: (NSString *) _uid;
69 - (void) setVersion: (NSString *) _version;
70 - (NSString *) version;
72 - (void) setUid: (NSString *) _uid;
75 - (void) setPreferred: (CardElement *) aChild;
77 - (void) setVClass: (NSString *) _s;
78 - (NSString *) vClass;
79 - (void) setVName: (NSString *) _s;
81 - (void) setProdID: (NSString *) _s;
82 - (NSString *) prodID;
83 - (void) setProfile: (NSString *) _s;
84 - (NSString *) profile;
85 - (void) setSource: (NSString *) _s;
86 - (NSString *) source;
88 - (void) setFn: (NSString *) _fn;
90 - (void) setNickname: (NSString *) aValue;
91 - (NSString *) nickname;
93 - (void) setRole: (NSString *) _s;
95 - (void) setTitle: (NSString *) _title;
97 - (void) setBday: (NSString *) _bday;
99 - (void) setNote: (NSString *) _note;
101 - (void) setTz: (NSString *) _tz;
104 - (void) addTel: (NSString *) phoneNumber
105 types: (NSArray *) types;
106 - (void) addEmail: (NSString *) emailAddress
107 types: (NSArray *) types;
109 - (void) setNWithFamily: (NSString *) family
110 given: (NSString *) given
111 additional: (NSString *) additional
112 prefixes: (NSString *) prefixes
113 suffixes: (NSString *) suffixes;
116 - (void) setOrg: (NSString *) anOrg
117 units: (NSArray *) someUnits;
120 // - (void) setN: (NGVCardName *) _v;
121 // - (NGVCardName *) n;
122 // - (void) setOrg: (NGVCardOrg *) _v;
123 // - (NGVCardOrg *) org;
125 // - (void) setCategories: (id) _v;
126 // - (NGVCardStrArrayValue *) categories;
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;
139 // - (void) setFreeBusyURL: (NSArray *) _v;
140 // - (NSArray *) freeBusyURL;
141 // - (void) setCalURI: (NSArray *) _calURI;
142 // - (NSArray *) calURI;
144 // - (void) setX: (NSDictionary *) _dict;
145 // - (NSDictionary *) x;
149 - (NSString *) preferredEMail;
150 - (NSString *) preferredTel;
151 - (CardElement *) preferredAdr;
155 #endif /* __NGiCal_NGVCard_H__ */