summaryrefslogtreecommitdiffstats
path: root/src/qhpxmlwriter.h
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2008-09-28 18:54:57 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2008-09-28 18:54:57 (GMT)
commit7b38eb9f5ca2c324c76f5d3b53dedfb2bd6486a0 (patch)
tree49bbfc50150f8734b5b10c2f0ea81182413c8bb7 /src/qhpxmlwriter.h
parentec8cd7293a58213bac5967a3a3ccc7dc55ba19fe (diff)
downloadDoxygen-7b38eb9f5ca2c324c76f5d3b53dedfb2bd6486a0.zip
Doxygen-7b38eb9f5ca2c324c76f5d3b53dedfb2bd6486a0.tar.gz
Doxygen-7b38eb9f5ca2c324c76f5d3b53dedfb2bd6486a0.tar.bz2
Release-1.5.7
Diffstat (limited to 'src/qhpxmlwriter.h')
-rw-r--r--src/qhpxmlwriter.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/qhpxmlwriter.h b/src/qhpxmlwriter.h
new file mode 100644
index 0000000..33e6152
--- /dev/null
+++ b/src/qhpxmlwriter.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2008 by Sebastian Pipping.
+ * Copyright (C) 2008 Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ * Sebastian Pipping <sebastian@pipping.org>
+ */
+
+#ifndef QHPXMLWRITER_H
+#define QHPXMLWRITER_H
+
+#include <qstring.h>
+#include <qtextstream.h>
+
+class QFile;
+
+class QhpXmlWriter
+{
+ public:
+ QhpXmlWriter();
+ ~QhpXmlWriter();
+
+ void setIndentLevel(int level);
+ void setCompressionEnabled(bool enabled);
+ void insert(QhpXmlWriter const & source);
+ void dumpTo(QFile & file);
+ void open(char const * elementName,
+ char const * const * attributes = 0);
+ void openClose(char const * elementName,
+ char const * const * attributes = 0);
+ void openCloseContent(char const * elementName, char const * content);
+ void close(char const * elementName);
+
+ static char * dupEscaped(const char * source);
+
+ private:
+ void indent();
+ void newLine();
+ void openPureHelper(char const * elementName,
+ char const * const * attributes, bool close);
+ void openPure(char const * elementName,
+ char const * const * attributes = 0);
+ void openClosePure(char const * elementName,
+ char const * const * attributes = 0);
+ void closePure(char const * elementName);
+
+ QString m_backend;
+ QTextOStream m_out;
+ int m_indentLevel;
+ bool m_curLineIndented;
+ bool m_compress;
+
+};
+
+#endif // QHPXMLWRITER_H