summaryrefslogtreecommitdiffstats
path: root/lib/idmapperxml.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/idmapperxml.h')
-rw-r--r--lib/idmapperxml.h84
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