key.h
00001 /* 00002 This file is part of libtdeabc. 00003 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef KABC_KEY_H 00022 #define KABC_KEY_H 00023 00024 #include <tqvaluelist.h> 00025 00026 #include <tdelibs_export.h> 00027 00028 namespace TDEABC { 00029 00033 class KABC_EXPORT Key 00034 { 00035 friend KABC_EXPORT TQDataStream &operator<<( TQDataStream &, const Key & ); 00036 friend KABC_EXPORT TQDataStream &operator>>( TQDataStream &, Key & ); 00037 00038 public: 00039 typedef TQValueList<Key> List; 00040 typedef TQValueList<int> TypeList; 00041 00049 enum Types { 00050 X509, 00051 PGP, 00052 Custom 00053 }; 00054 00061 Key( const TQString &text = TQString::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 TQString &id ); 00075 00079 TQString id() const; 00080 00084 void setBinaryData( const TQByteArray &binary ); 00085 00089 TQByteArray binaryData() const; 00090 00094 void setTextData( const TQString &text ); 00095 00099 TQString textData() const; 00100 00104 bool isBinary() const; 00105 00109 void setType( int type ); 00110 00114 void setCustomTypeString( const TQString &custom ); 00115 00119 int type() const; 00120 00124 TQString customTypeString() const; 00125 00129 static TypeList typeList(); 00130 00134 static TQString typeLabel( int type ); 00135 00136 private: 00137 TQByteArray mBinaryData; 00138 TQString mId; 00139 TQString mTextData; 00140 TQString mCustomTypeString; 00141 00142 int mIsBinary; 00143 int mType; 00144 }; 00145 00146 KABC_EXPORT TQDataStream &operator<<( TQDataStream &, const Key & ); 00147 KABC_EXPORT TQDataStream &operator>>( TQDataStream &, Key & ); 00148 00149 } 00150 #endif