You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
3.0 KiB
154 lines
3.0 KiB
/*
|
|
This file is part of libkabc.
|
|
Copyright (c) 2002 Tobias Koenig <tokoe@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.
|
|
*/
|
|
|
|
#include <kapplication.h>
|
|
#include <klocale.h>
|
|
|
|
#include "key.h"
|
|
|
|
using namespace KABC;
|
|
|
|
Key::Key( const QString &text, int type )
|
|
: mTextData( text ), mIsBinary( false ), mType( type )
|
|
{
|
|
mId = KApplication::randomString(8);
|
|
}
|
|
|
|
Key::~Key()
|
|
{
|
|
}
|
|
|
|
bool Key::operator==( const Key &k ) const
|
|
{
|
|
if ( mIsBinary != k.mIsBinary ) return false;
|
|
if ( mIsBinary )
|
|
if ( mBinaryData != k.mBinaryData ) return false;
|
|
else
|
|
if ( mTextData != k.mTextData ) return false;
|
|
if ( mType != k.mType ) return false;
|
|
if ( mCustomTypeString != k.mCustomTypeString ) return false;
|
|
|
|
return true;
|
|
}
|
|
|
|
bool Key::operator!=( const Key &k ) const
|
|
{
|
|
return !( k == *this );
|
|
}
|
|
|
|
void Key::setId( const QString &id )
|
|
{
|
|
mId = id;
|
|
}
|
|
|
|
QString Key::id() const
|
|
{
|
|
return mId;
|
|
}
|
|
|
|
void Key::setBinaryData( const QByteArray &binary )
|
|
{
|
|
mBinaryData = binary;
|
|
mIsBinary = true;
|
|
}
|
|
|
|
QByteArray Key::binaryData() const
|
|
{
|
|
return mBinaryData;
|
|
}
|
|
|
|
void Key::setTextData( const QString &text )
|
|
{
|
|
mTextData = text;
|
|
mIsBinary = false;
|
|
}
|
|
|
|
QString Key::textData() const
|
|
{
|
|
return mTextData;
|
|
}
|
|
|
|
bool Key::isBinary() const
|
|
{
|
|
return mIsBinary;
|
|
}
|
|
|
|
void Key::setType( int type )
|
|
{
|
|
mType = type;
|
|
}
|
|
|
|
void Key::setCustomTypeString( const QString &custom )
|
|
{
|
|
mCustomTypeString = custom;
|
|
}
|
|
|
|
int Key::type() const
|
|
{
|
|
return mType;
|
|
}
|
|
|
|
QString Key::customTypeString() const
|
|
{
|
|
return mCustomTypeString;
|
|
}
|
|
|
|
Key::TypeList Key::typeList()
|
|
{
|
|
TypeList list;
|
|
list << X509;
|
|
list << PGP;
|
|
list << Custom;
|
|
|
|
return list;
|
|
}
|
|
|
|
QString Key::typeLabel( int type )
|
|
{
|
|
switch ( type ) {
|
|
case X509:
|
|
return i18n( "X509" );
|
|
break;
|
|
case PGP:
|
|
return i18n( "PGP" );
|
|
break;
|
|
case Custom:
|
|
return i18n( "Custom" );
|
|
break;
|
|
default:
|
|
return i18n( "Unknown type" );
|
|
break;
|
|
}
|
|
}
|
|
|
|
QDataStream &KABC::operator<<( QDataStream &s, const Key &key )
|
|
{
|
|
return s << key.mId << key.mIsBinary << key.mTextData << key.mBinaryData <<
|
|
key.mCustomTypeString << key.mType;
|
|
}
|
|
|
|
QDataStream &KABC::operator>>( QDataStream &s, Key &key )
|
|
{
|
|
s >> key.mId >> key.mIsBinary >> key.mTextData >> key.mBinaryData >>
|
|
key.mCustomTypeString >> key.mType;
|
|
|
|
return s;
|
|
}
|