Irrlicht 3D Engine
IXMLWriter.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
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 } // end namespace io
00074 } // end namespace irr
00075 
00076 #endif
00077