插件管理器单例类
更多...
#include <plugin_manager.hpp>
|
| static plugin_manager & | instance () |
| | 获取单例实例
|
插件管理器单例类
负责插件的加载、卸载和生命周期管理。 维护插件实例、动态库句柄和插件名称之间的映射关系。
在文件 plugin_manager.hpp 第 31 行定义.
◆ get_plugin()
| iplugin * neforce::plugin_manager::get_plugin |
( |
const string & | name | ) |
|
|
nodiscard |
获取插件实例
- 参数
-
- 返回
- 插件指针,如果插件不存在返回nullptr
◆ initialize_all()
| void neforce::plugin_manager::initialize_all |
( |
| ) |
|
初始化所有插件
调用所有已加载插件的 initialize 方法。
◆ instance()
| plugin_manager & neforce::plugin_manager::instance |
( |
| ) |
|
|
inlinestatic |
◆ list_plugins()
| vector< string > neforce::plugin_manager::list_plugins |
( |
| ) |
const |
|
nodiscard |
◆ load_plugin()
| void neforce::plugin_manager::load_plugin |
( |
string_view | pth | ) |
|
加载单个插件
- 参数
-
- 异常
-
加载指定的动态库,获取插件的创建和销毁函数, 创建插件实例并注册到管理器。
◆ load_plugins()
| size_t neforce::plugin_manager::load_plugins |
( |
const string & | pth | ) |
|
从目录加载所有插件
- 参数
-
- 返回
- 成功加载的插件数量
- 异常
-
加载指定目录中所有符合条件的动态库文件。
◆ shutdown_all()
| void neforce::plugin_manager::shutdown_all |
( |
| ) |
|
|
noexcept |
关闭所有插件
调用所有已加载插件的 shutdown 方法, 并清理所有资源。
◆ unload_plugin()
| bool neforce::plugin_manager::unload_plugin |
( |
const string & | name | ) |
|
卸载插件
- 参数
-
- 返回
- 是否成功卸载
关闭指定的插件,释放相关资源。
该类的文档由以下文件生成: