kabc Library API Documentation

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., 59 Temple Place - Suite 330,
00019     Boston, MA 02111-1307, 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 
00074 class Addressee
00075 {
00076   friend QDataStream &operator<<( QDataStream &, const Addressee & );
00077   friend 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 
00116     void setName( const QString &name );
00120     QString name() const;
00124     static QString nameLabel();
00125 
00129     void setFormattedName( const QString &formattedName );
00133     QString formattedName() const;
00137     static QString formattedNameLabel();
00138 
00142     void setFamilyName( const QString &familyName );
00146     QString familyName() const;
00150     static QString familyNameLabel();
00151 
00155     void setGivenName( const QString &givenName );
00159     QString givenName() const;
00163     static QString givenNameLabel();
00164 
00168     void setAdditionalName( const QString &additionalName );
00172     QString additionalName() const;
00176     static QString additionalNameLabel();
00177 
00181     void setPrefix( const QString &prefix );
00185     QString prefix() const;
00189     static QString prefixLabel();
00190 
00194     void setSuffix( const QString &suffix );
00198     QString suffix() const;
00202     static QString suffixLabel();
00203 
00207     void setNickName( const QString &nickName );
00211     QString nickName() const;
00215     static QString nickNameLabel();
00216 
00220     void setBirthday( const QDateTime &birthday );
00224     QDateTime birthday() const;
00228     static QString birthdayLabel();
00229 
00233     static QString homeAddressStreetLabel();
00234 
00238     static QString homeAddressLocalityLabel();
00239 
00243     static QString homeAddressRegionLabel();
00244 
00248     static QString homeAddressPostalCodeLabel();
00249 
00253     static QString homeAddressCountryLabel();
00254 
00258     static QString homeAddressLabelLabel();
00259 
00263     static QString businessAddressStreetLabel();
00264 
00268     static QString businessAddressLocalityLabel();
00269 
00273     static QString businessAddressRegionLabel();
00274 
00278     static QString businessAddressPostalCodeLabel();
00279 
00283     static QString businessAddressCountryLabel();
00284 
00288     static QString businessAddressLabelLabel();
00289 
00293     static QString homePhoneLabel();
00294 
00298     static QString businessPhoneLabel();
00299 
00303     static QString mobilePhoneLabel();
00304 
00308     static QString homeFaxLabel();
00309 
00313     static QString businessFaxLabel();
00314 
00318     static QString carPhoneLabel();
00319 
00323     static QString isdnLabel();
00324 
00328     static QString pagerLabel();
00329 
00333     static QString emailLabel();
00334 
00338     void setMailer( const QString &mailer );
00342     QString mailer() const;
00346     static QString mailerLabel();
00347 
00351     void setTimeZone( const TimeZone &timeZone );
00355     TimeZone timeZone() const;
00359     static QString timeZoneLabel();
00360 
00364     void setGeo( const Geo &geo );
00368     Geo geo() const;
00372     static QString geoLabel();
00373 
00377     void setTitle( const QString &title );
00381     QString title() const;
00385     static QString titleLabel();
00386 
00390     void setRole( const QString &role );
00394     QString role() const;
00398     static QString roleLabel();
00399 
00403     void setOrganization( const QString &organization );
00407     QString organization() const;
00411     static QString organizationLabel();
00412 
00416     void setNote( const QString &note );
00420     QString note() const;
00424     static QString noteLabel();
00425 
00429     void setProductId( const QString &productId );
00433     QString productId() const;
00437     static QString productIdLabel();
00438 
00442     void setRevision( const QDateTime &revision );
00446     QDateTime revision() const;
00450     static QString revisionLabel();
00451 
00455     void setSortString( const QString &sortString );
00459     QString sortString() const;
00463     static QString sortStringLabel();
00464 
00468     void setUrl( const KURL &url );
00472     KURL url() const;
00476     static QString urlLabel();
00477 
00481     void setSecrecy( const Secrecy &secrecy );
00485     Secrecy secrecy() const;
00489     static QString secrecyLabel();
00490 
00494     void setLogo( const Picture &logo );
00498     Picture logo() const;
00502     static QString logoLabel();
00503 
00507     void setPhoto( const Picture &photo );
00511     Picture photo() const;
00515     static QString photoLabel();
00516 
00520     void setSound( const Sound &sound );
00524     Sound sound() const;
00528     static QString soundLabel();
00529 
00533     void setAgent( const Agent &agent );
00537     Agent agent() const;
00541     static QString agentLabel();
00542 
00548     void setNameFromString( const QString & );
00549 
00554     QString realName() const;
00555 
00559     QString assembledName() const;
00560 
00567     QString fullEmail( const QString &email=QString::null ) const;
00568 
00577     void insertEmail( const QString &email, bool preferred=false );
00578 
00582     void removeEmail( const QString &email );
00583 
00588     QString preferredEmail() const;
00589 
00593     QStringList emails() const;
00594 
00600     void setEmails( const QStringList& list);
00601 
00606     void insertPhoneNumber( const PhoneNumber &phoneNumber );
00607 
00612     void removePhoneNumber( const PhoneNumber &phoneNumber );
00613 
00617     PhoneNumber phoneNumber( int type ) const;
00618 
00622     PhoneNumber::List phoneNumbers() const;
00623 
00627     PhoneNumber::List phoneNumbers( int type ) const;
00628 
00632     PhoneNumber findPhoneNumber( const QString &id ) const;
00633 
00638     void insertKey( const Key &key );
00639 
00644     void removeKey( const Key &key );
00645 
00652     Key key( int type, QString customTypeString = QString::null ) const;
00653 
00657     Key::List keys() const;
00658 
00663     void setKeys( const Key::List& keys);
00664 
00671     Key::List keys( int type, QString customTypeString = QString::null  ) const;
00672 
00676     Key findKey( const QString &id ) const;
00677 
00682     void insertAddress( const Address &address );
00683 
00688     void removeAddress( const Address &address );
00689 
00693     Address address( int type ) const;
00694 
00698     Address::List addresses() const;
00699 
00703     Address::List addresses( int type ) const;
00704 
00708     Address findAddress( const QString &id ) const;
00709 
00713     void insertCategory( const QString & );
00714 
00718     void removeCategory( const QString & );
00719 
00723     bool hasCategory( const QString & ) const;
00724 
00728     void setCategories( const QStringList & );
00729 
00733     QStringList categories() const;
00734 
00740     void insertCustom( const QString &app, const QString &name,
00741                        const QString &value );
00742 
00746     void removeCustom( const QString &app, const QString &name );
00747 
00751     QString custom( const QString &app, const QString &name ) const;
00752 
00756     void setCustoms( const QStringList & );
00757 
00761     QStringList customs() const;
00762 
00766     static void parseEmailAddress( const QString &rawEmail, QString &fullName,
00767                                    QString &email );
00768 
00772     void dump() const;
00773 
00777     QString asString() const;
00778 
00782     void setResource( Resource *resource );
00783 
00787     Resource *resource() const;
00788 
00792     void setChanged( bool value );
00793 
00797     bool changed() const;
00798 
00799     static void setSortKey( KABC::Field *field );
00800 
00801     bool operator< ( const Addressee &addr );
00802 
00803   private:
00804     void detach();
00805 
00806     struct AddresseeData;
00807     mutable KSharedPtr<AddresseeData> mData;
00808 
00809   private:
00810     static AddresseeData* shared_null;
00811     static AddresseeData* makeSharedNull();
00812     static KABC::Field *mSortField;
00813 };
00814 
00815 QDataStream &operator<<( QDataStream &, const Addressee & );
00816 QDataStream &operator>>( QDataStream &, Addressee & );
00817 
00818 }
00819 
00820 #endif
KDE Logo
This file is part of the documentation for kabc Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Jan 21 09:58:37 2005 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003