Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
DefaultPluginManager.hpp
1#pragma once
2
3#include <map>
4#include <string>
5
6#include <Common/Utilities/ModuleLoading.hpp>
7
8#include "IPluginManager.hpp"
9#include "Interface.hpp"
10
11namespace Grindstone::Plugins {
12 class Interface;
13
15 public:
16 virtual ~DefaultPluginManager();
17
18 virtual bool PreprocessPlugins() override;
19 virtual void LoadPluginsByStage(std::string_view stageName) override;
20 virtual void UnloadPluginsByStage(std::string_view stageName) override;
21 virtual std::filesystem::path GetLibraryPath(std::string_view pluginName, std::string_view libraryName) override;
22
23 protected:
24 bool LoadModule(const std::string& path);
25 void UnloadModule(const std::string& path);
26
27 std::map<std::string, Utilities::Modules::Handle> pluginModules;
28 };
29}
Definition DefaultPluginManager.hpp:14
Definition IPluginManager.hpp:9
Definition Interface.hpp:47