summaryrefslogtreecommitdiff
path: root/src/qhpxmlwriter.h
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-11-08 06:36:54 -0800
committerAnas Nashif <anas.nashif@intel.com>2012-11-08 06:36:54 -0800
commitcccf3a7c7888ce7bd7a8f8d48a34c5474ad9feeb (patch)
tree7f31b77ace4359e85dc3d3f66c853858c0bca7a4 /src/qhpxmlwriter.h
downloaddoxygen-cccf3a7c7888ce7bd7a8f8d48a34c5474ad9feeb.tar.gz
doxygen-cccf3a7c7888ce7bd7a8f8d48a34c5474ad9feeb.tar.bz2
doxygen-cccf3a7c7888ce7bd7a8f8d48a34c5474ad9feeb.zip
Imported Upstream version 1.8.2upstream/1.8.2
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..c88eebd
--- /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 "ftextstream.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);
+
+ QGString m_backend;
+ FTextStream m_out;
+ int m_indentLevel;
+ bool m_curLineIndented;
+ bool m_compress;
+
+};
+
+#endif // QHPXMLWRITER_H