27 #ifndef _CEGUIXMLSerializer_h_
28 #define _CEGUIXMLSerializer_h_
29 #include "CEGUI/Base.h"
30 #include "CEGUI/String.h"
34 # pragma warning(push)
35 # pragma warning(disable : 4251)
85 class CEGUIEXPORT XMLSerializer :
86 public AllocatedObject<XMLSerializer>
97 XMLSerializer(
OutStream& out,
size_t indentSpace = 4);
102 virtual ~XMLSerializer(
void);
112 XMLSerializer& openTag(
const String& name);
119 XMLSerializer& closeTag(
void);
130 XMLSerializer& attribute(
const String& name,
const String& value);
139 XMLSerializer& text(
const String& text);
148 unsigned int getTagCount()
const;
155 operator bool ()
const
157 return false == d_error;
165 bool operator!()
const
167 return false != d_error;
173 unsigned int d_tagCount;
175 size_t d_indentSpace;
180 CEGUI_VECTOR_ALLOC(String)> d_tagStack;
189 static String convertEntityInText(
const String& text);
193 static String convertEntityInAttribute(
const String& attributeValue);
197 XMLSerializer(
const XMLSerializer& obj);
199 XMLSerializer& operator=(
const XMLSerializer& obj);
203 #if defined(_MSC_VER)
204 # pragma warning(pop)