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
|
#pragma once
#include "SharedLib.h"
namespace storm {
/**
* Stores all shared libraries currently loaded by an engine.
*/
class SharedLibs : NoCopy {
public:
// Create.
SharedLibs();
// Destroy.
~SharedLibs();
// Attempt to load an URL with a shared library. Handles any duplications in the system.
SharedLib *load(Url *file);
// Signal that shutdown is in progress to all libraries.
void shutdown();
// Unload all libraries.
void unload();
private:
// All loaded shared libraries so far.
vector<SharedLib *> loaded;
};
}
|