addressee.h

00001 /*** Warning! This file has been generated by the script makeaddressee ***/
00002 /*
00003     This file is part of libkabc.
00004     Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019     Boston, MA 02110-1301, USA.
00020 */
00021 
00022 #ifndef KABC_ADDRESSEE_H
00023 #define KABC_ADDRESSEE_H
00024 
00025 #include <qdatetime.h>
00026 #include <qstring.h>
00027 #include <qstringlist.h>
00028 #include <qvaluelist.h>
00029 
00030 #include <ksharedptr.h>
00031 #include <kurl.h>
00032 
00033 #include "address.h"
00034 #include "agent.h"
00035 #include "geo.h"
00036 #include "key.h"
00037 #include "phonenumber.h"
00038 #include "picture.h"
00039 #include "secrecy.h"
00040 #include "sound.h"
00041 #include "timezone.h"
00042 
00043 namespace KABC {
00044 
00045 class Resource;
00046 class Field;
00047 class SortMode;
00048 
00075 class KABC_EXPORT Addressee
00076 {
00077   friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const Addressee & );
00078   friend KABC_EXPORT QDataStream &operator>>( QDataStream &, Addressee & );
00079 
00080   public:
00081     typedef QValueList<Addressee> List;
00082     typedef QMap<QString, Addressee> Map;
00083 
00087     Addressee();
00088     ~Addressee();
00089 
00090     Addressee( const Addressee & );
00091     Addressee &operator=( const Addressee & );
00092 
00093     bool operator==( const Addressee & ) const;
00094     bool operator!=( const Addressee & ) const;
00095 
00099     bool isEmpty() const;
00100 
00104     void setUid( const QString &uid );
00108     QString uid() const;
00112     static QString uidLabel();
00113 
00117     void setName( const QString &name );
00121     QString name() const;
00125     static QString nameLabel();
00126 
00130     void setFormattedName( const QString &formattedName );
00134     QString formattedName() const;
00138     static QString formattedNameLabel();
00139 
00143     void setFamilyName( const QString &familyName );
00147     QString familyName() const;
00151     static QString familyNameLabel();
00152 
00156     void setGivenName( const QString &givenName );
00160     QString givenName() const;
00164     static QString givenNameLabel();
00165 
00169     void setAdditionalName( const QString &additionalName );
00173     QString additionalName() const;
00177     static QString additionalNameLabel();
00178 
00182     void setPrefix( const QString &prefix );
00186     QString prefix() const;
00190     static QString prefixLabel();
00191 
00195     void setSuffix( const QString &suffix );
00199     QString suffix() const;
00203     static QString suffixLabel();
00204 
00208     void setNickName( const QString &nickName );
00212     QString nickName() const;
00216     static QString nickNameLabel();
00217 
00221     void setBirthday( const QDateTime &birthday );
00225     QDateTime birthday() const;
00229     static QString birthdayLabel();
00230 
00234     static QString homeAddressStreetLabel();
00235 
00239     static QString homeAddressLocalityLabel();
00240 
00244     static QString homeAddressRegionLabel();
00245 
00249     static QString homeAddressPostalCodeLabel();
00250 
00254     static QString homeAddressCountryLabel();
00255 
00259     static QString homeAddressLabelLabel();
00260 
00264     static QString businessAddressStreetLabel();
00265 
00269     static QString businessAddressLocalityLabel();
00270 
00274     static QString businessAddressRegionLabel();
00275 
00279     static QString businessAddressPostalCodeLabel();
00280 
00284     static QString businessAddressCountryLabel();
00285 
00289     static QString businessAddressLabelLabel();
00290 
00294     static QString homePhoneLabel();
00295 
00299     static QString businessPhoneLabel();
00300 
00304     static QString mobilePhoneLabel();
00305 
00309     static QString homeFaxLabel();
00310 
00314     static QString businessFaxLabel();
00315 
00319     static QString carPhoneLabel();
00320 
00324     static QString isdnLabel();
00325 
00329     static QString pagerLabel();
00330 
00334     static QString emailLabel();
00335 
00339     void setMailer( const QString &mailer );
00343     QString mailer() const;
00347     static QString mailerLabel();
00348 
00352     void setTimeZone( const TimeZone &timeZone );
00356     TimeZone timeZone() const;
00360     static QString timeZoneLabel();
00361 
00365     void setGeo( const Geo &geo );
00369     Geo geo() const;
00373     static QString geoLabel();
00374 
00378     void setTitle( const QString &title );
00382     QString title() const;
00386     static QString titleLabel();
00387 
00391     void setRole( const QString &role );
00395     QString role() const;
00399     static QString roleLabel();
00400 
00404     void setOrganization( const QString &organization );
00408     QString organization() const;
00412     static QString organizationLabel();
00413 
00417     void setNote( const QString &note );
00421     QString note() const;
00425     static QString noteLabel();
00426 
00430     void setProductId( const QString &productId );
00434     QString productId() const;
00438     static QString productIdLabel();
00439 
00443     void setRevision( const QDateTime &revision );
00447     QDateTime revision() const;
00451     static QString revisionLabel();
00452 
00456     void setSortString( const QString &sortString );
00460     QString sortString() const;
00464     static QString sortStringLabel();
00465 
00469     void setUrl( const KURL &url );
00473     KURL url() const;
00477     static QString urlLabel();
00478 
00482     void setSecrecy( const Secrecy &secrecy );
00486     Secrecy secrecy() const;
00490     static QString secrecyLabel();
00491 
00495     void setLogo( const Picture &logo );
00499     Picture logo() const;
00503     static QString logoLabel();
00504 
00508     void setPhoto( const Picture &photo );
00512     Picture photo() const;
00516     static QString photoLabel();
00517 
00521     void setSound( const Sound &sound );
00525     Sound sound() const;
00529     static QString soundLabel();
00530 
00534     void setAgent( const Agent &agent );
00538     Agent agent() const;
00542     static QString agentLabel();
00543 
00549     void setNameFromString( const QString & );
00550 
00555     QString realName() const;
00556 
00560     QString assembledName() const;
00561 
00568     QString fullEmail( const QString &email=QString::null ) const;
00569 
00578     void insertEmail( const QString &email, bool preferred=false );
00579 
00583     void removeEmail( const QString &email );
00584 
00589     QString preferredEmail() const;
00590 
00594     QStringList emails() const;
00595 
00601     void setEmails( const QStringList& list);
00602 
00607     void insertPhoneNumber( const PhoneNumber &phoneNumber );
00608 
00613     void removePhoneNumber( const PhoneNumber &phoneNumber );
00614 
00618     PhoneNumber phoneNumber( int type ) const;
00619 
00623     PhoneNumber::List phoneNumbers() const;
00624 
00628     PhoneNumber::List phoneNumbers( int type ) const;
00629 
00633     PhoneNumber findPhoneNumber( const QString &id ) const;
00634 
00639     void insertKey( const Key &key );
00640 
00645     void removeKey( const Key &key );
00646 
00653     Key key( int type, QString customTypeString = QString::null ) const;
00654 
00658     Key::List keys() const;
00659 
00664     void setKeys( const Key::List& keys);
00665 
00672     Key::List keys( int type, QString customTypeString = QString::null  ) const;
00673 
00677     Key findKey( const QString &id ) const;
00678 
00683     void insertAddress( const Address &address );
00684 
00689     void removeAddress( const Address &address );
00690 
00694     Address address( int type ) const;
00695 
00699     Address::List addresses() const;
00700 
00704     Address::List addresses( int type ) const;
00705 
00709     Address findAddress( const QString &id ) const;
00710 
00714     void insertCategory( const QString & );
00715 
00719     void removeCategory( const QString & );
00720 
00724     bool hasCategory( const QString & ) const;
00725 
00729     void setCategories( const QStringList & );
00730 
00734     QStringList categories() const;
00735 
00744     void insertCustom( const QString &app, const QString &name,
00745                        const QString &value );
00746 
00750     void removeCustom( const QString &app, const QString &name );
00751 
00755     QString custom( const QString &app, const QString &name ) const;
00756 
00760     void setCustoms( const QStringList & );
00761 
00765     QStringList customs() const;
00766 
00770     static void parseEmailAddress( const QString &rawEmail, QString &fullName,
00771                                    QString &email );
00772 
00776     void dump() const;
00777 
00781     QString asString() const;
00782 
00786     void setResource( Resource *resource );
00787 
00791     Resource *resource() const;
00792 
00796     void setChanged( bool value );
00797 
00801     bool changed() const;
00802 
00803     static void setSortMode( KABC::SortMode *mode );
00804 
00805     bool operator< ( const Addressee &addr );
00806 
00807   private:
00808     void detach();
00809 
00810     struct AddresseeData;
00811     mutable KSharedPtr<AddresseeData> mData;
00812 
00813   private:
00814     static AddresseeData* shared_null;
00815     static AddresseeData* makeSharedNull();
00816     static KABC::SortMode *mSortMode;
00817 };
00818 
00819 KABC_EXPORT QDataStream &operator<<( QDataStream &, const Addressee & );
00820 KABC_EXPORT QDataStream &operator>>( QDataStream &, Addressee & );
00821 
00822 }
00823 
00824 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys