mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2025-01-11 04:21:08 +00:00
43 lines
767 B
C++
43 lines
767 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
|