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 <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