vcardline.h
00001 /* 00002 This file is part of libkabc. 00003 Copyright (c) 2003 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 VCARDLINE_H 00022 #define VCARDLINE_H 00023 00024 #include <qstringlist.h> 00025 #include <qvaluelist.h> 00026 #include <qvariant.h> 00027 #include <qmap.h> 00028 #include <qstring.h> 00029 00030 namespace KABC { 00031 00032 class VCardLine 00033 { 00034 public: 00035 typedef QValueList<VCardLine> List; 00036 typedef QMap<QString, QStringList> ParamMap; 00037 00038 VCardLine(); 00039 VCardLine( const QString &identifier ); 00040 VCardLine( const QString &identifier, const QVariant &value ); 00041 VCardLine( const VCardLine& ); 00042 00043 ~VCardLine(); 00044 00045 VCardLine& operator=( const VCardLine& ); 00046 00050 void setIdentifier( const QString& identifier ); 00051 00055 QString identifier() const; 00056 00060 void setValue( const QVariant& value ); 00061 00065 QVariant value() const; 00066 00070 void setGroup( const QString& group ); 00071 00075 QString group() const; 00076 00080 bool hasGroup() const; 00081 00085 QStringList parameterList() const; 00086 00090 void addParameter( const QString& param, const QString& value ); 00091 00096 QStringList parameters( const QString& param ) const; 00097 00102 QString parameter( const QString& param ) const; 00103 00104 private: 00105 ParamMap mParamMap; 00106 QString mIdentifier; 00107 QVariant mValue; 00108 00109 class VCardLinePrivate; 00110 VCardLinePrivate *d; 00111 }; 00112 00113 } 00114 00115 #endif