# kabc Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# 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

This file is part of the documentation for kabc Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:31:29 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003