Faro Engine
0.0.0.b519570 (main)
Loading...
Searching...
No Matches
Source
Engine
Core
Source
Module.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <
Containers/Array.hpp
>
3
#include <
Containers/String.hpp
>
4
#include <
Util/ClassRegistry.hpp
>
5
6
namespace
Faro
7
{
8
class
IModule
9
{
10
public
:
11
virtual
void
Load
() = 0;
12
virtual
void
Unload
() = 0;
13
virtual
String
GetName
() = 0;
14
virtual
Array<String>
GetRuntimeDependencies
() = 0;
15
16
uint32
loadOrder
= 0;
17
};
18
19
extern
Array<IModule*>
GetRegisteredModules
();
20
21
DEFINE_INSTANCE_REGISTRY
(Module,
Faro::IModule
)
22
#define REGISTER_MODULE(MODULE) REGISTER_INSTANCE(Module, MODULE)
23
}
Array.hpp
ClassRegistry.hpp
DEFINE_INSTANCE_REGISTRY
#define DEFINE_INSTANCE_REGISTRY(NAME, TYPE)
Definition
ClassRegistry.hpp:6
String.hpp
Faro::Array
Definition
Array.hpp:11
Faro::IModule
Definition
Module.hpp:9
Faro::IModule::GetName
virtual String GetName()=0
Faro::IModule::loadOrder
uint32 loadOrder
Definition
Module.hpp:16
Faro::IModule::Unload
virtual void Unload()=0
Faro::IModule::GetRuntimeDependencies
virtual Array< String > GetRuntimeDependencies()=0
Faro::IModule::Load
virtual void Load()=0
Faro::String
Definition
String.hpp:12
Faro
Definition
Array.hpp:8
Faro::GetRegisteredModules
Array< IModule * > GetRegisteredModules()
Definition
Module.cpp:7
Faro::uint32
uint32_t uint32
Definition
Primitives.hpp:12
Generated by
1.9.8