Blame include/cppunit/tools/XmlDocument.h

Packit 8c9aa0
#ifndef CPPUNIT_TOOLS_XMLDOCUMENT_H
Packit 8c9aa0
#define CPPUNIT_TOOLS_XMLDOCUMENT_H
Packit 8c9aa0
Packit 8c9aa0
#include <cppunit/Portability.h>
Packit 8c9aa0
Packit 8c9aa0
#if CPPUNIT_NEED_DLL_DECL
Packit 8c9aa0
#pragma warning( push )
Packit 8c9aa0
#pragma warning( disable: 4251 )  // X needs to have dll-interface to be used by clients of class Z
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
#include <string>
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_NS_BEGIN
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
class XmlElement;
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/*! \brief A XML Document.
Packit 8c9aa0
 *
Packit 8c9aa0
 * A XmlDocument represents a XML file. It holds a pointer on the root XmlElement
Packit 8c9aa0
 * of the document. It also holds the encoding and style sheet used.
Packit 8c9aa0
 *
Packit 8c9aa0
 * By default, the XML document is stand-alone and tagged with enconding "ISO-8859-1".
Packit 8c9aa0
 */
Packit 8c9aa0
class CPPUNIT_API XmlDocument
Packit 8c9aa0
{
Packit 8c9aa0
public:
Packit 8c9aa0
  /*! \brief Constructs a XmlDocument object.
Packit 8c9aa0
   * \param encoding Encoding used in the XML file (default is Latin-1, ISO-8859-1 ). 
Packit 8c9aa0
   * \param styleSheet Name of the XSL style sheet file used. If empty then no
Packit 8c9aa0
   *                   style sheet will be specified in the output.
Packit 8c9aa0
   */
Packit 8c9aa0
  XmlDocument( const std::string &encoding = "",
Packit 8c9aa0
               const std::string &styleSheet = "" );
Packit 8c9aa0
Packit 8c9aa0
  /// Destructor.
Packit 8c9aa0
  virtual ~XmlDocument();
Packit 8c9aa0
Packit 8c9aa0
  std::string encoding() const;
Packit 8c9aa0
  void setEncoding( const std::string &encoding = "" );
Packit 8c9aa0
  
Packit 8c9aa0
  std::string styleSheet() const;
Packit 8c9aa0
  void setStyleSheet( const std::string &styleSheet = "" );
Packit 8c9aa0
Packit 8c9aa0
  bool standalone() const;
Packit 8c9aa0
Packit 8c9aa0
  /*! \brief set the output document as standalone or not.
Packit 8c9aa0
   *
Packit 8c9aa0
   *  For the output document, specify wether it's a standalone XML
Packit 8c9aa0
   *  document, or not.
Packit 8c9aa0
   *
Packit 8c9aa0
   *  \param standalone if true, the output will be specified as standalone.
Packit 8c9aa0
   *         if false, it will be not.
Packit 8c9aa0
   */
Packit 8c9aa0
  void setStandalone( bool standalone );
Packit 8c9aa0
 
Packit 8c9aa0
  void setRootElement( XmlElement *rootElement );
Packit 8c9aa0
  XmlElement &rootElement() const;
Packit 8c9aa0
Packit 8c9aa0
  std::string toString() const;
Packit 8c9aa0
Packit 8c9aa0
private:
Packit 8c9aa0
  /// Prevents the use of the copy constructor.
Packit 8c9aa0
  XmlDocument( const XmlDocument &copy );
Packit 8c9aa0
Packit 8c9aa0
  /// Prevents the use of the copy operator.
Packit 8c9aa0
  void operator =( const XmlDocument &copy );
Packit 8c9aa0
Packit 8c9aa0
protected:
Packit 8c9aa0
  std::string m_encoding;
Packit 8c9aa0
  std::string m_styleSheet;
Packit 8c9aa0
  XmlElement *m_rootElement;
Packit 8c9aa0
  bool m_standalone;
Packit 8c9aa0
};
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
#if CPPUNIT_NEED_DLL_DECL
Packit 8c9aa0
#pragma warning( pop )
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_NS_END
Packit 8c9aa0
Packit 8c9aa0
#endif  // CPPUNIT_TOOLS_XMLDOCUMENT_H