载入中...
搜索中...
未找到
Plugins.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Module.h"
4
5#include <string>
6#include <unordered_map>
7
8namespace eve::plugins {
9
11class Plugins : public Module {
12public:
15 ~Plugins() override;
16
18 bool load(const std::string& path);
20 bool unload(const std::string& path);
22 bool isLoaded(const std::string& path) const;
23
24private:
25 struct Handle {
26 void* native = nullptr;
27 std::string path;
28 };
29
30 std::unordered_map<std::string, Handle> loaded_;
31};
32
33} // namespace eve::plugins
加载导出 eve_plugin_init 的原生动态库(dll / so / dylib)。
Definition Plugins.h:11
bool isLoaded(const std::string &path) const
插件是否已加载。
Definition Plugins.cpp:95
bool load(const std::string &path)
加载插件;路径可为绝对路径或游戏相对路径。
Definition Plugins.cpp:35
~Plugins() override
Definition Plugins.cpp:22
bool unload(const std::string &path)
卸载插件。
Definition Plugins.cpp:82