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:
20 ~Manager();
21
22 void SetupInterfacePointers();
23 virtual Interface& GetInterface();
24
25 virtual void LoadPluginList();
26 virtual void UnloadPluginList();
27 bool Load(const char* name);
28 void LoadCritical(const char* name);
29
30 void Remove(const char* name);
31 private:
32 Interface pluginInterface;
33 EngineCore *engineCore;
34 std::map<std::string, Utilities::Modules::Handle> plugins;
35 std::vector<Utilities::Modules::Handle> pluginsFromList;
36 };
37 }
38}
Definition EngineCore.hpp:57
Definition Interface.hpp:49
Definition Manager.hpp:16