diff options
Diffstat (limited to 'src/translators/xmlimporter.h')
-rw-r--r-- | src/translators/xmlimporter.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/translators/xmlimporter.h b/src/translators/xmlimporter.h new file mode 100644 index 0000000..743a1c1 --- /dev/null +++ b/src/translators/xmlimporter.h @@ -0,0 +1,74 @@ +/*************************************************************************** + copyright : (C) 2003-2006 by Robby Stephenson + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License as * + * published by the Free Software Foundation; * + * * + ***************************************************************************/ + +#ifndef XMLIMPORTER_H +#define XMLIMPORTER_H + +#include "importer.h" + +#include <qdom.h> + +namespace Tellico { + namespace Import { + +/** + * The XMLImporter class is meant as an abstract class for any importer which reads xml files. + * + * @author Robby Stephenson + */ +class XMLImporter : public Importer { +Q_OBJECT + +public: + /** + * In the constructor, the contents of the file are read. + * + * @param url The file to be imported + */ + XMLImporter(const KURL& url); + /** + * Imports xml text. + * + * @param text The text + */ + XMLImporter(const QString& text); + /** + * Imports xml text from a byte array. + * + * @param data The Data + */ + XMLImporter(const QByteArray& data); + XMLImporter(const QDomDocument& dom); + + virtual void setText(const QString& text); + + /** + * This class gets used as a utility XML loader. This should never get called, + * but cannot be abstract. + */ + virtual Data::CollPtr collection(); + + /** + * Returns the contents of the imported file. + * + * @return The file contents + */ + const QDomDocument& domDocument() const { return m_dom; } + +private: + QDomDocument m_dom; +}; + + } // end namespace +} // end namespace +#endif |