secrecy.cpp
00001 /* 00002 This file is part of libkabc. 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 #include <klocale.h> 00022 00023 #include "secrecy.h" 00024 00025 using namespace KABC; 00026 00027 Secrecy::Secrecy( int type ) 00028 : mType( type ) 00029 { 00030 } 00031 00032 bool Secrecy::operator==( const Secrecy &s ) const 00033 { 00034 return ( mType == s.mType ); 00035 } 00036 00037 bool Secrecy::operator!=( const Secrecy &s ) const 00038 { 00039 return !( *this == s ); 00040 } 00041 00042 bool Secrecy::isValid() const 00043 { 00044 return mType != Invalid; 00045 } 00046 00047 void Secrecy::setType( int type ) 00048 { 00049 mType = type; 00050 } 00051 00052 int Secrecy::type() const 00053 { 00054 return mType; 00055 } 00056 00057 Secrecy::TypeList Secrecy::typeList() 00058 { 00059 static TypeList list; 00060 00061 if ( list.isEmpty() ) 00062 list << Public << Private << Confidential; 00063 00064 return list; 00065 } 00066 00067 QString Secrecy::typeLabel( int type ) 00068 { 00069 switch ( type ) { 00070 case Public: 00071 return i18n( "Public" ); 00072 break; 00073 case Private: 00074 return i18n( "Private" ); 00075 break; 00076 case Confidential: 00077 return i18n( "Confidential" ); 00078 break; 00079 default: 00080 return i18n( "Unknown type" ); 00081 break; 00082 } 00083 } 00084 00085 QString Secrecy::asString() const 00086 { 00087 return typeLabel( mType ); 00088 } 00089 00090 QDataStream &KABC::operator<<( QDataStream &s, const Secrecy &secrecy ) 00091 { 00092 return s << secrecy.mType; 00093 } 00094 00095 QDataStream &KABC::operator>>( QDataStream &s, Secrecy &secrecy ) 00096 { 00097 s >> secrecy.mType; 00098 00099 return s; 00100 }