diff options
Diffstat (limited to 'kpilot/lib/idmapperxml.h')
-rw-r--r-- | kpilot/lib/idmapperxml.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/kpilot/lib/idmapperxml.h b/kpilot/lib/idmapperxml.h new file mode 100644 index 000000000..455673888 --- /dev/null +++ b/kpilot/lib/idmapperxml.h @@ -0,0 +1,84 @@ +#ifndef _KPILOT_IDMAPPERXML_H +#define _KPILOT_IDMAPPERXML_H +/* +** Copyright (C) 2006 Bertjan Broeksema <bbroeksema@bluebottle.com> +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published by +** the Free Software Foundation; either version 2.1 of the License, or +** (at your option) any later version. +** +** This program 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 Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public License +** along with this program in a file called COPYING; if not, write to +** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +** MA 02110-1301, USA. +*/ + +/* +** Bug reports and questions can be sent to kde-pim@kde.org +*/ + +#include "idmapping.h" + +#include <qxml.h> +#include <qdom.h> +#include <qstring.h> +#include <qptrcollection.h> + +class IDMapperXml : public QXmlDefaultHandler +{ +public: + IDMapperXml( const QString &file ); + + ~IDMapperXml(); + + /** + * Opens and parses the file or creates a new one if the file does not exist. + */ + bool open(); + + /** + * Saves the current mappings to the xml-file. Note this function must be + * called after changes and before deleting the IDMapperXml object. Otherwise + * the changes won't be saved. + */ + void save(); + + /** + * Adds a mapping to the collection of mappings. + */ + void addMapping( const IDMapping &mapping ); + + /** + * Returns the collection of mappings. + */ + QValueList<IDMapping> &mappings(); + + /** + * Overloaded function to parse the xml file. + */ + bool startElement( const QString &namespaceURI, const QString &localName + , const QString &qName, const QXmlAttributes &attribs ); + + /** + * Overloaded function to parse the xml file. + */ + bool endElement( const QString &namespaceURI, const QString &localName + , const QString &qName ); + +private: + QFile fFile; + QDomDocument doc; + QDomElement root; + IDMapping *fCurrentMapping; + QValueList<IDMapping> fMappings; +}; + +#endif |