|
IrrlichtEngine
|
00001 // Copyright (C) 2002-2011 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: 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 } // end namespace io 00078 } // end namespace irr 00079 00080 #endif 00081