Go to the documentation of this file.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:
00024 
00027         virtual void writeXMLHeader() = 0;
00028 
00031 
00046         virtual void writeElement(const wchar_t* name, bool empty=false,
00047             const wchar_t* attr1Name = 0, const wchar_t* attr1Value = 0,
00048             const wchar_t* attr2Name = 0, const wchar_t* attr2Value = 0,
00049             const wchar_t* attr3Name = 0, const wchar_t* attr3Value = 0,
00050             const wchar_t* attr4Name = 0, const wchar_t* attr4Value = 0,
00051             const wchar_t* attr5Name = 0, const wchar_t* attr5Value = 0) = 0;
00052 
00054         virtual void writeElement(const wchar_t* name, bool empty,
00055                 core::array<core::stringw> &names, core::array<core::stringw> &values) = 0;
00056 
00058         virtual void writeComment(const wchar_t* comment) = 0;
00059 
00061         virtual void writeClosingTag(const wchar_t* name) = 0;
00062 
00064 
00067         virtual void writeText(const wchar_t* text) = 0;
00068 
00070         virtual void writeLineBreak() = 0;
00071     };
00072 
00073 } 
00074 } 
00075 
00076 #endif
00077