summaryrefslogtreecommitdiffstats
path: root/kabc/phonenumber.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch)
tree5ac38a06f3dde268dc7927dc155896926aaf7012 /kabc/phonenumber.h
downloadtdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz
tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kabc/phonenumber.h')
-rw-r--r--kabc/phonenumber.h161
1 files changed, 161 insertions, 0 deletions
diff --git a/kabc/phonenumber.h b/kabc/phonenumber.h
new file mode 100644
index 000000000..099cd2261
--- /dev/null
+++ b/kabc/phonenumber.h
@@ -0,0 +1,161 @@
+/*
+ This file is part of libkabc.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef KABC_PHONENUMBER_H
+#define KABC_PHONENUMBER_H
+
+#include <qvaluelist.h>
+#include <qstring.h>
+
+#include <kdelibs_export.h>
+
+namespace KABC {
+
+/**
+ @short Phonenumber information.
+
+ This class provides phone number information. A phone number is classified by
+ a type. The following types are available, it's possible to use multiple types
+ Types for a number by combining them through a logical or.
+*/
+class KABC_EXPORT PhoneNumber
+{
+ friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const PhoneNumber & );
+ friend KABC_EXPORT QDataStream &operator>>( QDataStream &, PhoneNumber & );
+
+ public:
+ typedef QValueList<PhoneNumber> List;
+ typedef QValueList<int> TypeList;
+
+ /**
+ @li @p Home - Home number
+ @li @p Work - Office number
+ @li @p Msg - Messaging
+ @li @p Pref - Preferred number
+ @li @p Voice - Voice
+ @li @p Fax - Fax machine
+ @li @p Cell - Cell phone
+ @li @p Video - Video phone
+ @li @p Bbs - Mailbox
+ @li @p Modem - Modem
+ @li @p Car - Car phone
+ @li @p Isdn - ISDN connection
+ @li @p Pcs - Personal Communication Service
+ @li @p Pager - Pager
+ */
+ enum Types { Home = 1, Work = 2, Msg = 4, Pref = 8, Voice = 16, Fax = 32,
+ Cell = 64, Video = 128, Bbs = 256, Modem = 512, Car = 1024,
+ Isdn = 2048, Pcs = 4096, Pager = 8192 };
+
+ /**
+ Create an empty phone number object.
+ */
+ PhoneNumber();
+
+ /**
+ Create a phonenumber object.
+
+ @param number Number
+ @param type Type as defined in enum. Multiple types can be
+ specified by combining them by a logical or.
+ */
+ PhoneNumber( const QString &number, int type = Home );
+
+ /**
+ Destructor.
+ */
+ ~PhoneNumber();
+
+ bool operator==( const PhoneNumber & ) const;
+ bool operator!=( const PhoneNumber & ) const;
+
+ /**
+ Sets the unique identifier.
+ */
+ void setId( const QString &id );
+
+ /**
+ Returns the unique identifier.
+ */
+ QString id() const;
+
+ /**
+ Sets the number.
+ */
+ void setNumber( const QString & );
+
+ /**
+ Returns the number.
+ */
+ QString number() const;
+
+ /**
+ Sets the type. Multiple types can be specified by combining them by
+ a logical or.
+ */
+ void setType( int );
+
+ /**
+ Returns the type. Can be a multiple types combined by a logical or.
+ */
+ int type() const;
+
+ /**
+ Returns a translated string of all types the address has.
+ */
+ QString typeLabel() const;
+
+ /**
+ Returns the translated label for phone number depending on its type.
+ */
+ QString label() const;
+
+ /**
+ Returns a list of all available types
+ */
+ static TypeList typeList();
+
+ /**
+ Returns the translated label for phone number type.
+ */
+ static QString typeLabel( int type );
+
+ /**
+ Returns the translated label for phone number type.
+ @obsolete
+ */
+ static QString label( int type );
+
+ private:
+ void init();
+ void validateNumber( const QString& );
+
+ QString mId;
+
+ int mType;
+ QString mNumber;
+};
+
+KABC_EXPORT QDataStream &operator<<( QDataStream &, const PhoneNumber & );
+KABC_EXPORT QDataStream &operator>>( QDataStream &, PhoneNumber & );
+
+}
+
+#endif