diff options
author | Anas Nashif <anas.nashif@intel.com> | 2012-11-08 06:36:54 -0800 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2012-11-08 06:36:54 -0800 |
commit | cccf3a7c7888ce7bd7a8f8d48a34c5474ad9feeb (patch) | |
tree | 7f31b77ace4359e85dc3d3f66c853858c0bca7a4 /src/qhpxmlwriter.h | |
download | doxygen-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.h | 63 |
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 |