Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Manager.hpp
1#pragma once
2
3#include <map>
4#include <string>
5
6#include <Common/Utilities/ModuleLoading.hpp>
7
8#include "Interface.hpp"
9
10namespace Grindstone {
11 class EngineCore;
12
13 namespace Plugins {
14 class Interface;
15
16 class Manager {
17 friend Interface;
18 public:
19 Manager(Grindstone::EngineCore* engineCore);
20 ~Manager();
21
22 void SetupInterfacePointers();
23 virtual Interface& GetInterface();
24
25 virtual void LoadPluginList();
26 virtual void UnloadPluginListExceptRenderHardwareInterface();
27 virtual void UnloadPluginRenderHardwareInterface();
28 bool Load(const char* name);
29 void LoadCritical(const char* name);
30
31 void Remove(const char* name);
32 private:
33 Interface pluginInterface;
34 EngineCore *engineCore;
35 std::map<std::string, Utilities::Modules::Handle> plugins;
36 std::vector<Utilities::Modules::Handle> pluginsFromList;
37 };
38 }
39}
Definition EngineCore.hpp:58
Definition Interface.hpp:50