kabc Library API Documentation

addressee.src.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_ADDRESSEE_H 00022 #define KABC_ADDRESSEE_H 00023 00024 #include <qdatetime.h> 00025 #include <qstring.h> 00026 #include <qstringlist.h> 00027 #include <qvaluelist.h> 00028 00029 #include <ksharedptr.h> 00030 #include <kurl.h> 00031 00032 #include "address.h" 00033 #include "agent.h" 00034 #include "geo.h" 00035 #include "key.h" 00036 #include "phonenumber.h" 00037 #include "picture.h" 00038 #include "secrecy.h" 00039 #include "sound.h" 00040 #include "timezone.h" 00041 00042 namespace KABC { 00043 00044 class Resource; 00045 class Field; 00046 class SortMode; 00047 00074 class KABC_EXPORT Addressee 00075 { 00076 friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const Addressee & ); 00077 friend KABC_EXPORT QDataStream &operator>>( QDataStream &, Addressee & ); 00078 00079 public: 00080 typedef QValueList<Addressee> List; 00081 typedef QMap<QString, Addressee> Map; 00082 00086 Addressee(); 00087 ~Addressee(); 00088 00089 Addressee( const Addressee & ); 00090 Addressee &operator=( const Addressee & ); 00091 00092 bool operator==( const Addressee & ) const; 00093 bool operator!=( const Addressee & ) const; 00094 00098 bool isEmpty() const; 00099 00103 void setUid( const QString &uid ); 00107 QString uid() const; 00111 static QString uidLabel(); 00112 00113 --DECLARATIONS-- 00119 void setNameFromString( const QString & ); 00120 00125 QString realName() const; 00126 00130 QString assembledName() const; 00131 00138 QString fullEmail( const QString &email=QString::null ) const; 00139 00148 void insertEmail( const QString &email, bool preferred=false ); 00149 00153 void removeEmail( const QString &email ); 00154 00159 QString preferredEmail() const; 00160 00164 QStringList emails() const; 00165 00171 void setEmails( const QStringList& list); 00172 00177 void insertPhoneNumber( const PhoneNumber &phoneNumber ); 00178 00183 void removePhoneNumber( const PhoneNumber &phoneNumber ); 00184 00188 PhoneNumber phoneNumber( int type ) const; 00189 00193 PhoneNumber::List phoneNumbers() const; 00194 00198 PhoneNumber::List phoneNumbers( int type ) const; 00199 00203 PhoneNumber findPhoneNumber( const QString &id ) const; 00204 00209 void insertKey( const Key &key ); 00210 00215 void removeKey( const Key &key ); 00216 00223 Key key( int type, QString customTypeString = QString::null ) const; 00224 00228 Key::List keys() const; 00229 00234 void setKeys( const Key::List& keys); 00235 00242 Key::List keys( int type, QString customTypeString = QString::null ) const; 00243 00247 Key findKey( const QString &id ) const; 00248 00253 void insertAddress( const Address &address ); 00254 00259 void removeAddress( const Address &address ); 00260 00264 Address address( int type ) const; 00265 00269 Address::List addresses() const; 00270 00274 Address::List addresses( int type ) const; 00275 00279 Address findAddress( const QString &id ) const; 00280 00284 void insertCategory( const QString & ); 00285 00289 void removeCategory( const QString & ); 00290 00294 bool hasCategory( const QString & ) const; 00295 00299 void setCategories( const QStringList & ); 00300 00304 QStringList categories() const; 00305 00314 void insertCustom( const QString &app, const QString &name, 00315 const QString &value ); 00316 00320 void removeCustom( const QString &app, const QString &name ); 00321 00325 QString custom( const QString &app, const QString &name ) const; 00326 00330 void setCustoms( const QStringList & ); 00331 00335 QStringList customs() const; 00336 00340 static void parseEmailAddress( const QString &rawEmail, QString &fullName, 00341 QString &email ); 00342 00346 void dump() const; 00347 00351 QString asString() const; 00352 00356 void setResource( Resource *resource ); 00357 00361 Resource *resource() const; 00362 00366 void setChanged( bool value ); 00367 00371 bool changed() const; 00372 00373 static void setSortMode( KABC::SortMode *mode ); 00374 00375 bool operator< ( const Addressee &addr ); 00376 00377 private: 00378 void detach(); 00379 00380 struct AddresseeData; 00381 mutable KSharedPtr<AddresseeData> mData; 00382 00383 private: 00384 static AddresseeData* shared_null; 00385 static AddresseeData* makeSharedNull(); 00386 static KABC::SortMode *mSortMode; 00387 }; 00388 00389 KABC_EXPORT QDataStream &operator<<( QDataStream &, const Addressee & ); 00390 KABC_EXPORT QDataStream &operator>>( QDataStream &, Addressee & ); 00391 00392 } 00393 00394 #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 Thu Apr 14 00:35:16 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003