addressee.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
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
00073 class Addressee
00074 {
00075 friend QDataStream &operator<<( QDataStream &, const Addressee & );
00076 friend QDataStream &operator>>( QDataStream &, Addressee & );
00077
00078 public:
00079 typedef QValueList<Addressee> List;
00080
00084 Addressee();
00085 ~Addressee();
00086
00087 Addressee( const Addressee & );
00088 Addressee &operator=( const Addressee & );
00089
00090 bool operator==( const Addressee & ) const;
00091 bool operator!=( const Addressee & ) const;
00092
00096 bool isEmpty() const;
00097
00101 void setUid( const QString &uid );
00105 QString uid() const;
00109 static QString uidLabel();
00110
00114 void setName( const QString &name );
00118 QString name() const;
00122 static QString nameLabel();
00123
00127 void setFormattedName( const QString &formattedName );
00131 QString formattedName() const;
00135 static QString formattedNameLabel();
00136
00140 void setFamilyName( const QString &familyName );
00144 QString familyName() const;
00148 static QString familyNameLabel();
00149
00153 void setGivenName( const QString &givenName );
00157 QString givenName() const;
00161 static QString givenNameLabel();
00162
00166 void setAdditionalName( const QString &additionalName );
00170 QString additionalName() const;
00174 static QString additionalNameLabel();
00175
00179 void setPrefix( const QString &prefix );
00183 QString prefix() const;
00187 static QString prefixLabel();
00188
00192 void setSuffix( const QString &suffix );
00196 QString suffix() const;
00200 static QString suffixLabel();
00201
00205 void setNickName( const QString &nickName );
00209 QString nickName() const;
00213 static QString nickNameLabel();
00214
00218 void setBirthday( const QDateTime &birthday );
00222 QDateTime birthday() const;
00226 static QString birthdayLabel();
00227
00231 static QString homeAddressStreetLabel();
00232
00236 static QString homeAddressLocalityLabel();
00237
00241 static QString homeAddressRegionLabel();
00242
00246 static QString homeAddressPostalCodeLabel();
00247
00251 static QString homeAddressCountryLabel();
00252
00256 static QString homeAddressLabelLabel();
00257
00261 static QString businessAddressStreetLabel();
00262
00266 static QString businessAddressLocalityLabel();
00267
00271 static QString businessAddressRegionLabel();
00272
00276 static QString businessAddressPostalCodeLabel();
00277
00281 static QString businessAddressCountryLabel();
00282
00286 static QString businessAddressLabelLabel();
00287
00291 static QString homePhoneLabel();
00292
00296 static QString businessPhoneLabel();
00297
00301 static QString mobilePhoneLabel();
00302
00306 static QString homeFaxLabel();
00307
00311 static QString businessFaxLabel();
00312
00316 static QString carPhoneLabel();
00317
00321 static QString isdnLabel();
00322
00326 static QString pagerLabel();
00327
00331 static QString emailLabel();
00332
00336 void setMailer( const QString &mailer );
00340 QString mailer() const;
00344 static QString mailerLabel();
00345
00349 void setTimeZone( const TimeZone &timeZone );
00353 TimeZone timeZone() const;
00357 static QString timeZoneLabel();
00358
00362 void setGeo( const Geo &geo );
00366 Geo geo() const;
00370 static QString geoLabel();
00371
00375 void setTitle( const QString &title );
00379 QString title() const;
00383 static QString titleLabel();
00384
00388 void setRole( const QString &role );
00392 QString role() const;
00396 static QString roleLabel();
00397
00401 void setOrganization( const QString &organization );
00405 QString organization() const;
00409 static QString organizationLabel();
00410
00414 void setNote( const QString ¬e );
00418 QString note() const;
00422 static QString noteLabel();
00423
00427 void setProductId( const QString &productId );
00431 QString productId() const;
00435 static QString productIdLabel();
00436
00440 void setRevision( const QDateTime &revision );
00444 QDateTime revision() const;
00448 static QString revisionLabel();
00449
00453 void setSortString( const QString &sortString );
00457 QString sortString() const;
00461 static QString sortStringLabel();
00462
00466 void setUrl( const KURL &url );
00470 KURL url() const;
00474 static QString urlLabel();
00475
00479 void setSecrecy( const Secrecy &secrecy );
00483 Secrecy secrecy() const;
00487 static QString secrecyLabel();
00488
00492 void setLogo( const Picture &logo );
00496 Picture logo() const;
00500 static QString logoLabel();
00501
00505 void setPhoto( const Picture &photo );
00509 Picture photo() const;
00513 static QString photoLabel();
00514
00518 void setSound( const Sound &sound );
00522 Sound sound() const;
00526 static QString soundLabel();
00527
00531 void setAgent( const Agent &agent );
00535 Agent agent() const;
00539 static QString agentLabel();
00540
00546 void setNameFromString( const QString & );
00547
00552 QString realName() const;
00553
00557 QString assembledName() const;
00558
00565 QString fullEmail( const QString &email=QString::null ) const;
00566
00575 void insertEmail( const QString &email, bool preferred=false );
00576
00580 void removeEmail( const QString &email );
00581
00586 QString preferredEmail() const;
00587
00591 QStringList emails() const;
00592
00597 void insertPhoneNumber( const PhoneNumber &phoneNumber );
00598
00603 void removePhoneNumber( const PhoneNumber &phoneNumber );
00604
00608 PhoneNumber phoneNumber( int type ) const;
00609
00613 PhoneNumber::List phoneNumbers() const;
00614
00618 PhoneNumber::List phoneNumbers( int type ) const;
00619
00623 PhoneNumber findPhoneNumber( const QString &id ) const;
00624
00629 void insertKey( const Key &key );
00630
00635 void removeKey( const Key &key );
00636
00643 Key key( int type, QString customTypeString = QString::null ) const;
00644
00648 Key::List keys() const;
00649
00656 Key::List keys( int type, QString customTypeString = QString::null ) const;
00657
00661 Key findKey( const QString &id ) const;
00662
00667 void insertAddress( const Address &address );
00668
00673 void removeAddress( const Address &address );
00674
00678 Address address( int type ) const;
00679
00683 Address::List addresses() const;
00684
00688 Address::List addresses( int type ) const;
00689
00693 Address findAddress( const QString &id ) const;
00694
00698 void insertCategory( const QString & );
00699
00703 void removeCategory( const QString & );
00704
00708 bool hasCategory( const QString & ) const;
00709
00713 void setCategories( const QStringList & );
00714
00718 QStringList categories() const;
00719
00725 void insertCustom( const QString &app, const QString &name,
00726 const QString &value );
00727
00731 void removeCustom( const QString &app, const QString &name );
00732
00736 QString custom( const QString &app, const QString &name ) const;
00737
00741 void setCustoms( const QStringList & );
00742
00746 QStringList customs() const;
00747
00751 static void parseEmailAddress( const QString &rawEmail, QString &fullName,
00752 QString &email );
00753
00757 void dump() const;
00758
00762 QString asString() const;
00763
00767 void setResource( Resource *resource );
00768
00772 Resource *resource() const;
00773
00777 void setChanged( bool value );
00778
00782 bool changed() const;
00783
00784 private:
00785 Addressee copy();
00786 void detach();
00787
00788 struct AddresseeData;
00789 KSharedPtr<AddresseeData> mData;
00790 };
00791
00792 QDataStream &operator<<( QDataStream &, const Addressee & );
00793 QDataStream &operator>>( QDataStream &, Addressee & );
00794
00795 }
00796
00797 #endif
This file is part of the documentation for kdelibs Version 3.1.4.