|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
插件管理器单例类 更多...
#include <plugin_manager.hpp>
Public 类型 | |
| using | library_ptr = unique_ptr<dynamic_library> |
| 动态库指针类型 | |
Public 成员函数 | |
| ~plugin_manager () | |
| 析构函数,关闭所有插件 | |
| size_t | load_plugins (const string &pth) |
| 从目录加载所有插件 | |
| void | load_plugin (string_view pth) |
| 加载单个插件 | |
| bool | unload_plugin (const string &name) |
| 卸载插件 | |
| NEFORCE_NODISCARD iplugin * | get_plugin (const string &name) |
| 获取插件实例 | |
| NEFORCE_NODISCARD vector< string > | list_plugins () const |
| 获取所有已加载插件名称 | |
| void | initialize_all () |
| 初始化所有插件 | |
| void | shutdown_all () noexcept |
| 关闭所有插件 | |
静态 Public 成员函数 | |
| static plugin_manager & | instance () |
| 获取单例实例 | |
| void plugin_manager::initialize_all | ( | ) |
初始化所有插件
调用所有已加载插件的 initialize 方法。
|
inlinestatic |
| void plugin_manager::load_plugin | ( | string_view | pth | ) |
从目录加载所有插件
| pth | 插件目录路径 |
| value_exception | 目录无效时抛出 |
| system_exception | 插件已加载或加载失败时抛出 |
加载指定目录中所有符合条件的动态库文件。
|
noexcept |
关闭所有插件
调用所有已加载插件的 shutdown 方法, 并清理所有资源。
| bool plugin_manager::unload_plugin | ( | const string & | name | ) |