#include "BBCXmlSerializer.h" namespace BBC { XmlSerializer::XmlSerializer() { mLoaded = false; } XmlSerializer::~XmlSerializer() { if (mLoaded) { if (mFile) { delete mFile; } mLoaded = false; } } TiXmlDocument* XmlSerializer::load(Ogre::String filename) { mFilename = filename; if (!mLoaded) { mFile = new TiXmlDocument(filename.c_str()); mLoaded = true; } else { if (mFile) { delete mFile; } mFile = new TiXmlDocument(filename.c_str()); } mFilename = filename; mFile->LoadFile(); return mFile; } void XmlSerializer::save() { if (mLoaded && (mFilename != "")) { Ogre::LogManager::getSingleton().logMessage("Filename:" + mFilename); mFile->SaveFile(mFilename.c_str()); } } TiXmlDocument* XmlSerializer::create(Ogre::String filename) { if (!mLoaded) { mFile = new TiXmlDocument(filename.c_str()); mLoaded = true; } else { if (mFile) { delete mFile; } mFile = new TiXmlDocument(filename.c_str()); } mFilename = filename; return mFile; } }