kabc Library API Documentation

address.h

00001 /* 00002 This file is part of libkabc. 00003 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00018 Boston, MA 02111-1307, USA. 00019 */ 00020 00021 #ifndef KABC_ADDRESS_H 00022 #define KABC_ADDRESS_H 00023 00024 #include <qmap.h> 00025 #include <qstring.h> 00026 #include <qvaluelist.h> 00027 00028 #include <kdelibs_export.h> 00029 00030 // template tags for address formatting localization 00031 #define KABC_FMTTAG_realname QString("%n") 00032 #define KABC_FMTTAG_REALNAME QString("%N") 00033 #define KABC_FMTTAG_company QString("%cm") 00034 #define KABC_FMTTAG_COMPANY QString("%CM") 00035 #define KABC_FMTTAG_pobox QString("%p") 00036 #define KABC_FMTTAG_street QString("%s") 00037 #define KABC_FMTTAG_STREET QString("%S") 00038 #define KABC_FMTTAG_zipcode QString("%z") 00039 #define KABC_FMTTAG_location QString("%l") 00040 #define KABC_FMTTAG_LOCATION QString("%L") 00041 #define KABC_FMTTAG_region QString("%r") 00042 #define KABC_FMTTAG_REGION QString("%R") 00043 #define KABC_FMTTAG_newline QString("\\n") 00044 #define KABC_FMTTAG_condcomma QString("%,") 00045 #define KABC_FMTTAG_condwhite QString("%w") 00046 #define KABC_FMTTAG_purgeempty QString("%0") 00047 00048 namespace KABC { 00049 00055 class KABC_EXPORT Address 00056 { 00057 friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const Address & ); 00058 friend KABC_EXPORT QDataStream &operator>>( QDataStream &, Address & ); 00059 00060 public: 00064 typedef QValueList<Address> List; 00065 typedef QValueList<int> TypeList; 00066 00078 enum Type { Dom = 1, Intl = 2, Postal = 4, Parcel = 8, Home = 16, Work = 32, 00079 Pref = 64 }; 00080 00085 Address(); 00086 00091 Address( int ); 00092 00093 bool operator==( const Address & ) const; 00094 bool operator!=( const Address & ) const; 00095 00099 bool isEmpty() const; 00100 00104 void clear(); 00105 00109 void setId( const QString & ); 00110 00111 /* 00112 Returns the unique id. 00113 */ 00114 QString id() const; 00115 00121 void setType( int type ); 00122 00126 int type() const; 00127 00131 QString typeLabel() const; 00132 00136 void setPostOfficeBox( const QString & ); 00137 00141 QString postOfficeBox() const; 00142 00146 static QString postOfficeBoxLabel(); 00147 00151 void setExtended( const QString & ); 00152 00156 QString extended() const; 00157 00161 static QString extendedLabel(); 00162 00166 void setStreet( const QString & ); 00167 00171 QString street() const; 00172 00176 static QString streetLabel(); 00177 00181 void setLocality( const QString & ); 00182 00186 QString locality() const; 00187 00191 static QString localityLabel(); 00192 00196 void setRegion( const QString & ); 00197 00201 QString region() const; 00202 00206 static QString regionLabel(); 00207 00211 void setPostalCode( const QString & ); 00212 00216 QString postalCode() const; 00217 00221 static QString postalCodeLabel(); 00222 00226 void setCountry( const QString & ); 00227 00231 QString country() const; 00232 00236 static QString countryLabel(); 00237 00241 void setLabel( const QString & ); 00242 00246 QString label() const; 00247 00251 static QString labelLabel(); 00252 00256 static TypeList typeList(); 00257 00261 static QString typeLabel( int type ); 00262 00266 void dump() const; 00267 00279 QString formattedAddress( const QString &realName=QString::null 00280 , const QString &orgaName=QString::null ) const; 00281 00289 static QString countryToISO( const QString &cname ); 00290 00298 static QString ISOtoCountry( const QString &ISOname ); 00299 00300 private: 00307 bool parseAddressTemplateSection( const QString &tsection 00308 , QString &result 00309 , const QString &realName 00310 , const QString &orgaName ) const; 00311 00317 int findBalancedBracket( const QString &tsection, int pos ) const; 00318 00319 bool mEmpty; 00320 00321 QString mId; 00322 int mType; 00323 00324 QString mPostOfficeBox; 00325 QString mExtended; 00326 QString mStreet; 00327 QString mLocality; 00328 QString mRegion; 00329 QString mPostalCode; 00330 QString mCountry; 00331 QString mLabel; 00332 00333 static QMap<QString, QString> *mISOMap; 00334 }; 00335 00336 KABC_EXPORT QDataStream &operator<<( QDataStream &, const Address & ); 00337 KABC_EXPORT QDataStream &operator>>( QDataStream &, Address & ); 00338 00339 } 00340 00341 #endif
KDE Logo
This file is part of the documentation for kabc Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Apr 12 23:27:19 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003