diff options
Diffstat (limited to 'lib/idmapperxml.h')
-rw-r--r-- | lib/idmapperxml.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/lib/idmapperxml.h b/lib/idmapperxml.h new file mode 100644 index 0000000..87c9123 --- /dev/null +++ b/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 <tqxml.h> +#include <tqdom.h> +#include <tqstring.h> +#include <tqptrcollection.h> + +class IDMapperXml : public QXmlDefaultHandler +{ +public: + IDMapperXml( const TQString &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. + */ + TQValueList<IDMapping> &mappings(); + + /** + * Overloaded function to parse the xml file. + */ + bool startElement( const TQString &namespaceURI, const TQString &localName + , const TQString &qName, const TQXmlAttributes &attribs ); + + /** + * Overloaded function to parse the xml file. + */ + bool endElement( const TQString &namespaceURI, const TQString &localName + , const TQString &qName ); + +private: + TQFile fFile; + TQDomDocument doc; + TQDomElement root; + IDMapping *fCurrentMapping; + TQValueList<IDMapping> fMappings; +}; + +#endif |