Fixes
This commit is contained in:
parent
f91b45643d
commit
53aa0e34a8
24 changed files with 116 additions and 110 deletions
|
|
@ -24,7 +24,7 @@ bool ModuleManifest::isInitialized() const {
|
|||
return mInitialized;
|
||||
}
|
||||
|
||||
bool ModuleManifest::initialize() {
|
||||
bool ModuleManifest::initialize(const ModuleManifest* parent) {
|
||||
|
||||
mInitCount++;
|
||||
|
||||
|
|
@ -35,10 +35,10 @@ bool ModuleManifest::initialize() {
|
|||
mInitialized = true;
|
||||
|
||||
for (auto module = mDependencies; module && *module; module++) {
|
||||
mInitialized &= (*module)->initialize();
|
||||
mInitialized &= (*module)->initialize(this);
|
||||
}
|
||||
|
||||
std::cout << "====== Initializing \"" << mModuleName << "\"\n";
|
||||
std::cout << "=== Initializing \"" << mModuleName << "\" from \"" << (parent ? parent->mModuleName : mModuleName ) << "\"\n";
|
||||
|
||||
if (mInit) mInitialized &= mInit(this);
|
||||
|
||||
|
|
|
|||
|
|
@ -15,9 +15,12 @@ namespace tp {
|
|||
|
||||
ModuleManifest(const char* aModuleName, ModuleInit aInit, ModuleDeinit aDeinit, ModuleManifest** aDependencies);
|
||||
[[nodiscard]] bool isInitialized() const;
|
||||
bool initialize();
|
||||
bool initialize(const ModuleManifest* parent = nullptr);
|
||||
void deinitialize();
|
||||
[[nodiscard]] const char* getName() const;
|
||||
void setCustomData(void* data) { mCustomData = data; }
|
||||
void* getCustomData(void* data) const { return mCustomData; }
|
||||
|
||||
private:
|
||||
const char* mModuleName = nullptr;
|
||||
ModuleManifest** mDependencies; // NULL terminated
|
||||
|
|
@ -25,6 +28,7 @@ namespace tp {
|
|||
ModuleInit mInit = nullptr;
|
||||
ModuleDeinit mDeinit = nullptr;
|
||||
uhalni mInitCount = 0;
|
||||
void* mCustomData = nullptr;
|
||||
};
|
||||
|
||||
extern ModuleManifest gModuleBase;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue