00001
00002
00003
00004
00005 #ifndef __I_XML_WRITER_H_INCLUDED__
00006 #define __I_XML_WRITER_H_INCLUDED__
00007
00008 #include "IReferenceCounted.h"
00009 #include "irrArray.h"
00010 #include "irrString.h"
00011
00012 namespace irr
00013 {
00014 namespace io
00015 {
00016
00018
00020 class IXMLWriter : public virtual IReferenceCounted
00021 {
00022 public:
00023
00025 virtual ~IXMLWriter() {}
00026
00028
00031 virtual void writeXMLHeader() = 0;
00032
00035
00050 virtual void writeElement(const wchar_t* name, bool empty=false,
00051 const wchar_t* attr1Name = 0, const wchar_t* attr1Value = 0,
00052 const wchar_t* attr2Name = 0, const wchar_t* attr2Value = 0,
00053 const wchar_t* attr3Name = 0, const wchar_t* attr3Value = 0,
00054 const wchar_t* attr4Name = 0, const wchar_t* attr4Value = 0,
00055 const wchar_t* attr5Name = 0, const wchar_t* attr5Value = 0) = 0;
00056
00058 virtual void writeElement(const wchar_t* name, bool empty,
00059 core::array<core::stringw> &names, core::array<core::stringw> &values) = 0;
00060
00062 virtual void writeComment(const wchar_t* comment) = 0;
00063
00065 virtual void writeClosingTag(const wchar_t* name) = 0;
00066
00068
00071 virtual void writeText(const wchar_t* text) = 0;
00072
00074 virtual void writeLineBreak() = 0;
00075 };
00076
00077 }
00078 }
00079
00080 #endif
00081