载入中...
搜索中...
未找到
src
modules
plugins
Plugins.h
浏览该文件的文档.
1
#pragma once
2
3
#include "
common/Module.h
"
4
5
#include <string>
6
#include <unordered_map>
7
8
namespace
eve::plugins
{
9
11
class
Plugins
:
public
Module
{
12
public
:
13
Module_REG
(
Plugins
);
14
Plugins
();
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
24
private
:
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
Module.h
eve::Module
Definition
Module.h:43
eve::plugins::Plugins
加载导出 eve_plugin_init 的原生动态库(dll / so / dylib)。
Definition
Plugins.h:11
eve::plugins::Plugins::Plugins
Plugins()
eve::plugins::Plugins::isLoaded
bool isLoaded(const std::string &path) const
插件是否已加载。
Definition
Plugins.cpp:95
eve::plugins::Plugins::load
bool load(const std::string &path)
加载插件;路径可为绝对路径或游戏相对路径。
Definition
Plugins.cpp:35
eve::plugins::Plugins::~Plugins
~Plugins() override
Definition
Plugins.cpp:22
eve::plugins::Plugins::Module_REG
Module_REG(Plugins)
eve::plugins::Plugins::unload
bool unload(const std::string &path)
卸载插件。
Definition
Plugins.cpp:82
eve::plugins
Definition
Plugins.cpp:14