30 lines
749 B
C
30 lines
749 B
C
|
#ifndef OTMLDOCUMENT_H
|
||
|
#define OTMLDOCUMENT_H
|
||
|
|
||
|
#include "otmlnode.h"
|
||
|
|
||
|
class OTMLDocument : public OTMLNode
|
||
|
{
|
||
|
public:
|
||
|
OTMLDocument() { }
|
||
|
virtual ~OTMLDocument() { }
|
||
|
|
||
|
/// Create a new OTML document for filling it with nodes
|
||
|
static OTMLDocumentPtr create();
|
||
|
|
||
|
/// Parse OTML from a file
|
||
|
static OTMLDocumentPtr parse(const std::string& fileName);
|
||
|
|
||
|
/// Parse OTML from input stream
|
||
|
/// @param source is the file name that will be used to show errors messages
|
||
|
static OTMLDocumentPtr parse(std::istream& in, const std::string& source);
|
||
|
|
||
|
/// Emits this document and all it's children to a std::string
|
||
|
std::string emit();
|
||
|
|
||
|
/// Save this document to a file
|
||
|
bool save(const std::string& fileName);
|
||
|
};
|
||
|
|
||
|
#endif
|