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
KDE Home | KDE Accessibility Home | Description of Access Keys