tdeabc
phonenumber.h
00001
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 <tqvaluelist.h>
00025 #include <tqstring.h>
00026
00027 #include <tdelibs_export.h>
00028
00029 namespace TDEABC {
00030
00038 class KABC_EXPORT PhoneNumber
00039 {
00040 friend KABC_EXPORT TQDataStream &operator<<( TQDataStream &, const PhoneNumber & );
00041 friend KABC_EXPORT TQDataStream &operator>>( TQDataStream &, PhoneNumber & );
00042
00043 public:
00044 typedef TQValueList<PhoneNumber> List;
00045 typedef TQValueList<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 TQString &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 TQString &id );
00093
00097 TQString id() const;
00098
00102 void setNumber( const TQString & );
00103
00107 TQString number() const;
00108
00113 void setType( int );
00114
00118 int type() const;
00119
00123 TQString typeLabel() const;
00124
00128 TQString label() const;
00129
00133 static TypeList typeList();
00134
00138 static TQString typeLabel( int type );
00139
00144 static TQString label( int type );
00145
00146 private:
00147 void init();
00148 void validateNumber( const TQString& );
00149
00150 TQString mId;
00151
00152 int mType;
00153 TQString mNumber;
00154 };
00155
00156 KABC_EXPORT TQDataStream &operator<<( TQDataStream &, const PhoneNumber & );
00157 KABC_EXPORT TQDataStream &operator>>( TQDataStream &, PhoneNumber & );
00158
00159 }
00160
00161 #endif