| 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