phonenumber.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KABC_PHONENUMBER_H
00022 #define KABC_PHONENUMBER_H
00023
00024 #include <qvaluelist.h>
00025 #include <qstring.h>
00026
00027 #include <kdelibs_export.h>
00028
00029 namespace KABC {
00030
00038 class KABC_EXPORT PhoneNumber
00039 {
00040 friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const PhoneNumber & );
00041 friend KABC_EXPORT QDataStream &operator>>( QDataStream &, PhoneNumber & );
00042
00043 public:
00044 typedef QValueList<PhoneNumber> List;
00045 typedef QValueList<int> TypeList;
00046
00063 enum Types { Home = 1, Work = 2, Msg = 4, Pref = 8, Voice = 16, Fax = 32,
00064 Cell = 64, Video = 128, Bbs = 256, Modem = 512, Car = 1024,
00065 Isdn = 2048, Pcs = 4096, Pager = 8192 };
00066
00070 PhoneNumber();
00071
00079 PhoneNumber( const QString &number, int type = Home );
00080
00084 ~PhoneNumber();
00085
00086 bool operator==( const PhoneNumber & ) const;
00087 bool operator!=( const PhoneNumber & ) const;
00088
00092 void setId( const QString &id );
00093
00097 QString id() const;
00098
00102 void setNumber( const QString & );
00103
00107 QString number() const;
00108
00113 void setType( int );
00114
00118 int type() const;
00119
00123 QString typeLabel() const;
00124
00128 QString label() const;
00129
00133 static TypeList typeList();
00134
00138 static QString typeLabel( int type );
00139
00144 static QString label( int type );
00145
00146 private:
00147 void init();
00148 void validateNumber( const QString& );
00149
00150 QString mId;
00151
00152 int mType;
00153 QString mNumber;
00154 };
00155
00156 KABC_EXPORT QDataStream &operator<<( QDataStream &, const PhoneNumber & );
00157 KABC_EXPORT QDataStream &operator>>( QDataStream &, PhoneNumber & );
00158
00159 }
00160
00161 #endif
|