00001 00007 /* 00008 This file is part of MyGUI. 00009 00010 MyGUI is free software: you can redistribute it and/or modify 00011 it under the terms of the GNU Lesser General Public License as published by 00012 the Free Software Foundation, either version 3 of the License, or 00013 (at your option) any later version. 00014 00015 MyGUI is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU Lesser General Public License for more details. 00019 00020 You should have received a copy of the GNU Lesser General Public License 00021 along with MyGUI. If not, see <http://www.gnu.org/licenses/>. 00022 */ 00023 #include "MyGUI_Precompiled.h" 00024 #include "MyGUI_DataManager.h" 00025 00026 namespace MyGUI 00027 { 00028 00029 const std::string INSTANCE_TYPE_NAME("DataManager"); 00030 00031 DataManager* DataManager::msInstance = 0; 00032 00033 DataManager::DataManager() : 00034 mIsInitialise(false) 00035 { 00036 MYGUI_ASSERT(0 == msInstance, "instance " << INSTANCE_TYPE_NAME << " is exsist"); 00037 msInstance = this; 00038 } 00039 00040 DataManager::~DataManager() 00041 { 00042 msInstance = 0; 00043 } 00044 00045 DataManager* DataManager::getInstancePtr() 00046 { 00047 return msInstance; 00048 } 00049 00050 DataManager& DataManager::getInstance() 00051 { 00052 MYGUI_ASSERT(0 != msInstance, "instance " << INSTANCE_TYPE_NAME << " was not created"); 00053 return (*msInstance); 00054 } 00055 00056 } // namespace MyGUI