Merge branch 'fixes' into main/rendor-staging
[ryzomcore.git] / nel / src / pacs / retriever_bank.cpp
blob03691aca2d9249d8ee4c90e6474f7f0388700952
1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #include "stdpacs.h"
19 #include "nel/misc/file.h"
20 #include "nel/misc/path.h"
21 #include "nel/misc/progress_callback.h"
23 #include "nel/pacs/retriever_bank.h"
25 using namespace std;
26 using namespace NLMISC;
28 // CRetrieverBank methods implementation
30 NLPACS::URetrieverBank *NLPACS::URetrieverBank::createRetrieverBank (const char *retrieverBank, bool loadAll)
33 CIFile file;
34 if (file.open( CPath::lookup(retrieverBank) ))
36 CRetrieverBank *bank = new CRetrieverBank();
38 bank->_AllLoaded = loadAll;
39 bank->_NamePrefix = CFile::getFilenameWithoutExtension(retrieverBank);
41 file.serial(*bank);
43 return static_cast<URetrieverBank *>(bank);
45 else
46 return NULL;
50 void NLPACS::URetrieverBank::deleteRetrieverBank (NLPACS::URetrieverBank *retrieverBank)
52 // Cast
53 // nlassert (dynamic_cast<NLPACS::CRetrieverBank*>(retrieverBank));
54 NLPACS::CRetrieverBank* r=static_cast<NLPACS::CRetrieverBank*>(retrieverBank);
56 // Delete
57 delete r;
60 void NLPACS::CRetrieverBank::clean()
62 uint i;
63 for (i=0; i<_Retrievers.size(); ++i)
65 _Retrievers[i].flushFullOrderedChains();
69 // end of CRetrieverBank methods implementation