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
|
#include "stdafx.h"
#include "SharedLibs.h"
namespace storm {
SharedLibs::SharedLibs() {}
SharedLibs::~SharedLibs() {
unload();
}
SharedLib *SharedLibs::load(Url *file) {
SharedLib *loaded = SharedLib::load(file);
if (!loaded)
return null;
if (SharedLib *prev = loaded->prevInstance()) {
delete loaded;
return prev;
}
this->loaded.push_back(loaded);
return loaded;
}
void SharedLibs::shutdown() {
for (nat i = 0; i < loaded.size(); i++)
loaded[i]->shutdown();
}
void SharedLibs::unload() {
for (nat i = 0; i < loaded.size(); i++)
delete loaded[i];
loaded.clear();
}
}
|