• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeabc
 

tdeabc

  • tdeabc
vcard21parser.h
1/*
2 This file is part of libtdeabc.
3
4 Copyright (c) 2002 Mark Westcott <mark@houseoffish.org>
5 Copyright (c) 2000 George Staikos <staikos@kde.org>
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20*/
21
22#ifndef KABC_VCARD21FORMAT_H
23#define KABC_VCARD21FORMAT_H
24
25#include <tqdatetime.h>
26#include <kdebug.h>
27#include <tqregexp.h>
28#include <tqstring.h>
29#include <kurl.h>
30#include <tqvaluelist.h>
31
32#include "addressee.h"
33#include "addressbook.h"
34#include "phonenumber.h"
35
36
37#define VCARD_BEGIN "begin:vcard"
38#define VCARD_END "end:vcard"
39#define VCARD_BEGIN_N "begin"
40#define VCARD_END_N "end"
41#define VCARD_VERSION "version"
42
43#define VCARD_FN "fn"
44#define VCARD_N "n"
45
46// optional
47#define VCARD_NAME "name"
48#define VCARD_NICKNAME "nickname"
49#define VCARD_PHOTO "photo"
50#define VCARD_BDAY "bday"
51#define VCARD_ADR "adr"
52
53// types
54#define VCARD_ADR_DOM "dom"
55#define VCARD_ADR_INTL "intl"
56#define VCARD_ADR_POSTAL "postal"
57#define VCARD_ADR_PARCEL "parcel"
58#define VCARD_ADR_HOME "home"
59#define VCARD_ADR_WORK "work"
60#define VCARD_ADR_PREF "pref"
61// values
62#define VCARD_ADR_POBOX "PO Box"
63#define VCARD_ADR_EXTADR "Extended Address"
64#define VCARD_ADR_STREET "Street"
65#define VCARD_ADR_LOCALITY "Locality"
66#define VCARD_ADR_REGION "Region"
67#define VCARD_ADR_POSTCODE "Postal Code"
68#define VCARD_ADR_COUNTRY "Country Name"
69#define VCARD_LABEL "label"
70#define VCARD_PROFILE "profile"
71#define VCARD_SOURCE "source"
72#define VCARD_TEL "tel"
73// types
74#define VCARD_TEL_HOME "home"
75#define VCARD_TEL_WORK "work"
76#define VCARD_TEL_PREF "pref"
77#define VCARD_TEL_VOICE "voice"
78#define VCARD_TEL_FAX "fax"
79#define VCARD_TEL_MSG "msg"
80#define VCARD_TEL_CELL "cell"
81#define VCARD_TEL_PAGER "pager"
82#define VCARD_TEL_BBS "bbs"
83#define VCARD_TEL_MODEM "modem"
84#define VCARD_TEL_CAR "car"
85#define VCARD_TEL_ISDN "isdn"
86#define VCARD_TEL_VIDEO "video"
87#define VCARD_TEL_PCS "pcs"
88#define VCARD_EMAIL "email"
89// types
90#define VCARD_EMAIL_PREF "pref"
91#define VCARD_EMAIL_INTERNET "internet"
92#define VCARD_EMAIL_X400 "x400"
93#define VCARD_TZ "tz"
94#define VCARD_GEO "geo"
95#define VCARD_MAILER "mailer"
96#define VCARD_TITLE "title"
97#define VCARD_ROLE "role"
98#define VCARD_LOGO "logo"
99#define VCARD_AGENT "agent"
100#define VCARD_ORG "org"
101#define VCARD_CATEGORIES "categories"
102#define VCARD_NOTE "note"
103#define VCARD_PRODID "prodid"
104#define VCARD_REV "rev"
105#define VCARD_SOUND "sound"
106#define VCARD_UID "uid"
107#define VCARD_URL "url"
108#define VCARD_CLASS "class"
109#define VCARD_CLASS_PUBLIC "public"
110#define VCARD_CLASS_PRIVATE "private"
111#define VCARD_CLASS_CONFIDENTIAL "confidential"
112#define VCARD_KEY "key"
113// types
114#define VCARD_KEY_X509 "x509"
115#define VCARD_KEY_PGP "pgp"
116
117#define VCARD_QUOTED_PRINTABLE "quoted-printable"
118// this one is a temporary hack until we support TYPE=VALUE
119#define VCARD_ENCODING_QUOTED_PRINTABLE "encoding=quoted-printable"
120#define VCARD_BASE64 "base64"
121
122#define VC_STATE_BEGIN 1
123#define VC_STATE_BODY 2
124#define VC_STATE_END 4
125#define VC_STATE_HAVE_N 8
126#define VC_STATE_HAVE_VERSION 16
127
128#define VC_ERR_NO_BEGIN 1
129#define VC_ERR_NO_END 2
130#define VC_ERR_INVALID_LINE 3
131#define VC_ERR_INTERNAL 4
132#define VC_ERR_INVALID_NAME 5
133#define VC_ERR_MISSING_MANDATORY 6
134
135namespace TDEABC {
136
137class AddressBook;
138
142class KABC_EXPORT_DEPRECATED VCard21Parser
143{
144public:
145
149 VCard21Parser();
150
154 virtual ~VCard21Parser();
155
163 void readFromString( TDEABC::AddressBook *ab, const TQString &str );
164
173 TDEABC::Addressee readFromString( const TQString &data);
174
181 static TDEABC::Address readAddressFromQStringList (const TQStringList &data, const int type);
182};
183
184}
185
189class KABC_EXPORT VCardLineX
190{
191public:
192 TQString name;
193 bool qualified;
194 TQValueList<TQString> qualifiers;
195 TQValueList<TQString> parameters;
196 bool isValid() const;
197};
198
202class KABC_EXPORT VCard21ParserImpl
203{
204 friend class VCardLineX;
205
206public:
207 VCard21ParserImpl();
208 virtual ~VCard21ParserImpl();
209 static VCard21ParserImpl *parseVCard(const TQString& vc, int *err = NULL);
210 TQString getValue(const TQString& name, const TQString& qualifier);
211 TQString getValue(const TQString& name);
212 TQStringList getValues(const TQString& name, const TQString& qualifier);
213 TQStringList getValues(const TQString& name);
214
215 TQValueList<VCardLineX> *_vcdata;
216
217private:
218 VCard21ParserImpl (TQValueList<VCardLineX> *_vcd);
219};
220
221#endif
TDEABC::AddressBook
Address Book.
Definition: addressbook.h:44
TDEABC::Address
Postal address information.
Definition: address.h:56
TDEABC::Addressee
address book entry
Definition: addressee.src.h:75
TDEABC::VCard21Parser
Definition: vcard21parser.h:143
VCard21ParserImpl
Helper class.
Definition: vcard21parser.h:203
VCardLineX
Helper class.
Definition: vcard21parser.h:190
TDEABC
static data, shared by ALL addressee objects
Definition: address.h:48

tdeabc

Skip menu "tdeabc"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdeabc

Skip menu "tdeabc"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeabc by doxygen 1.9.4
This website is maintained by Timothy Pearson.