00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef KABC_KEY_H
00022
#define KABC_KEY_H
00023
00024
#include <qvaluelist.h>
00025
00026
#include <kdelibs_export.h>
00027
00028
namespace KABC {
00029
00033 class KABC_EXPORT Key
00034 {
00035
friend KABC_EXPORT
QDataStream &
operator<<(
QDataStream &,
const Key & );
00036
friend KABC_EXPORT
QDataStream &operator>>(
QDataStream &, Key & );
00037
00038
public:
00039
typedef QValueList<Key> List;
00040
typedef QValueList<int> TypeList;
00041
00049 enum Types {
00050 X509,
00051 PGP,
00052 Custom
00053 };
00054
00061 Key(
const QString &text = QString::null,
int type = PGP );
00062
00066 ~Key();
00067
00068
bool operator==(
const Key & ) const;
00069
bool operator!=( const Key & ) const;
00070
00074
void setId( const
QString &
id );
00075
00079
QString id() const;
00080
00084
void setBinaryData( const
QByteArray &binary );
00085
00089
QByteArray binaryData() const;
00090
00094
void setTextData( const
QString &text );
00095
00099
QString textData() const;
00100
00104
bool isBinary() const;
00105
00109
void setType(
int type );
00110
00114
void setCustomTypeString( const
QString &custom );
00115
00119
int type() const;
00120
00124
QString customTypeString() const;
00125
00129 static TypeList typeList();
00130
00134 static
QString typeLabel(
int type );
00135
00136 private:
00137
QByteArray mBinaryData;
00138
QString mId;
00139
QString mTextData;
00140
QString mCustomTypeString;
00141
00142
int mIsBinary;
00143
int mType;
00144 };
00145
00146 KABC_EXPORT
QDataStream &operator<<(
QDataStream &, const Key & );
00147 KABC_EXPORT QDataStream &operator>>( QDataStream &, Key & );
00148
00149 }
00150 #endif