1 // Copyright (c) 2012 Dennco Project
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
13 // You should have received a copy of the GNU General Public License
14 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 // Created by tkawata on 12/11/2011.
20 #include "TKContainer.h"
22 #include "DNStorage.h"
25 TKContainer::~TKContainer()
31 bool TKContainer::doTick(float time)
34 for ( TKCellMap::iterator it = mCells.begin(); it != mCells.end(); ++it ) {
35 it->second->doTick(time);
41 bool TKContainer::doDestroy()
45 for ( TKCellMap::iterator it = mCells.begin(); it != mCells.end(); ++it ) {
46 (it->second)->doDestroy();
48 for ( TKCellMap::iterator it = mCells.begin(); it != mCells.end(); ++it ) {
52 mInterfaceCells.clear();
58 bool TKContainer::setDataStore(std::string storagePath)
60 mStorage = new DNStorage(storagePath.c_str());
61 return mStorage->isValid();
64 bool TKContainer::releaseDataStore()
76 TKCell* TKContainer::getCell(std::string theFQNName)
78 TKCellMap::iterator it = mCells.find(theFQNName);
79 if (it == mCells.end())
89 TKCell* TKContainer::getInterfaceCell(std::string theFQNName)
91 DNLocker locker(&mLock);
93 if (mInterfaceCells.empty())
97 TKCellMap::iterator it = mInterfaceCells.find(theFQNName);
98 if (it == mInterfaceCells.end())
108 TKCellCode* TKContainer::getCellCode(std::string theCellCodeName)
110 TKCellCodeMap::iterator it = mCellCodes.find(theCellCodeName);
111 if (it == mCellCodes.end())