1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
/*!
@file
@author Albert Semenov
@date 07/2012
*/
#include "DataManager.h"
#include "pugixml.hpp"
#include "MyGUI_DataManager.h"
#include "DataInfoManager.h"
namespace tools
{
DataManager* DataManager::mInstance = nullptr;
DataManager::DataManager() :
mRoot(nullptr)
{
mInstance = this;
}
DataManager::~DataManager()
{
mInstance = nullptr;
}
DataManager& DataManager::getInstance()
{
return *mInstance;
}
DataManager* DataManager::getInstancePtr()
{
return mInstance;
}
void DataManager::initialise()
{
mRoot = new Data();
mRoot->setType(DataInfoManager::getInstance().getData("Root"));
}
void DataManager::shutdown()
{
delete mRoot;
mRoot = nullptr;
}
void DataManager::clear()
{
while (!mRoot->getChilds().empty())
{
Data* child = mRoot->getChilds().back();
mRoot->removeChild(child);
delete child;
}
}
Data* DataManager::getRoot()
{
return mRoot;
}
void DataManager::invalidateDatas()
{
eventChangeData();
}
}
|