Rename BaseModule to Module
This commit is contained in:
parent
479c3fa667
commit
47a7809398
18 changed files with 10 additions and 8 deletions
31
Module/public/Module.hpp
Normal file
31
Module/public/Module.hpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "Common.hpp"
|
||||
#include "Assert.hpp"
|
||||
|
||||
#define MODULE_SANITY_CHECK(name) ASSERT(name.isInitialized() && "Module Is Not Initialized" && #name)
|
||||
|
||||
namespace tp {
|
||||
|
||||
class ModuleManifest {
|
||||
public:
|
||||
typedef bool (*ModuleInit)(const ModuleManifest*);
|
||||
typedef void (*ModuleDeinit)(const ModuleManifest*);
|
||||
|
||||
ModuleManifest(const char* aModuleName, ModuleInit aInit, ModuleDeinit aDeinit, ModuleManifest** aDependencies);
|
||||
[[nodiscard]] bool isInitialized() const;
|
||||
bool initialize();
|
||||
void deinitialize();
|
||||
[[nodiscard]] const char* getName() const;
|
||||
private:
|
||||
const char* mModuleName = nullptr;
|
||||
ModuleManifest** mDependencies; // NULL terminated
|
||||
bool mInitialized = false;
|
||||
ModuleInit mInit = nullptr;
|
||||
ModuleDeinit mDeinit = nullptr;
|
||||
uhalni mInitCount = 0;
|
||||
};
|
||||
|
||||
extern ModuleManifest gModuleBase;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue