mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2025-01-11 04:21:08 +00:00
45 lines
832 B
C++
45 lines
832 B
C++
|
|
#if !defined(INCLUDED_XML_IXML_H)
|
|
#define INCLUDED_XML_IXML_H
|
|
|
|
#include "itextstream.h"
|
|
|
|
class XMLAttrVisitor
|
|
{
|
|
public:
|
|
virtual void visit(const char* name, const char* value) = 0;
|
|
};
|
|
|
|
class XMLElement
|
|
{
|
|
public:
|
|
virtual const char* name() const = 0;
|
|
virtual const char* attribute(const char* name) const = 0;
|
|
virtual void forEachAttribute(XMLAttrVisitor& visitor) const = 0;
|
|
};
|
|
|
|
class XMLImporter : public TextOutputStream
|
|
{
|
|
public:
|
|
static const char* getTypeName()
|
|
{
|
|
return "XMLImporter";
|
|
}
|
|
|
|
virtual void pushElement(const XMLElement& element) = 0;
|
|
virtual void popElement(const char* name) = 0;
|
|
};
|
|
|
|
class XMLExporter
|
|
{
|
|
public:
|
|
static const char* getTypeName()
|
|
{
|
|
return "XMLExporter";
|
|
}
|
|
|
|
virtual void exportXML(XMLImporter& importer) = 0;
|
|
};
|
|
|
|
|
|
#endif
|