Struct GatewayPluginLoadResult
Defined in File plugin_loader.hpp
Struct Documentation
-
struct GatewayPluginLoadResult
Result of loading a gateway plugin.
RAII wrapper guaranteeing correct destruction order: provider pointers are invalidated first, then the plugin is destroyed, then dlclose is called. Move-only (no copy).
Public Functions
-
GatewayPluginLoadResult() = default
-
~GatewayPluginLoadResult()
-
GatewayPluginLoadResult(GatewayPluginLoadResult &&other) noexcept
-
GatewayPluginLoadResult &operator=(GatewayPluginLoadResult &&other) noexcept
-
GatewayPluginLoadResult(const GatewayPluginLoadResult&) = delete
-
GatewayPluginLoadResult &operator=(const GatewayPluginLoadResult&) = delete
-
inline void *dl_handle() const
Get the dlopen handle (for dlsym queries by PluginManager)
Public Members
-
std::unique_ptr<GatewayPlugin> plugin
-
UpdateProvider *update_provider = nullptr
Non-owning pointer to UpdateProvider interface (null if plugin doesn’t provide updates). Lifetime tied to plugin - do not use after plugin is destroyed.
-
IntrospectionProvider *introspection_provider = nullptr
Non-owning pointer to IntrospectionProvider interface (null if not provided). Lifetime tied to plugin - do not use after plugin is destroyed.
-
LogProvider *log_provider = nullptr
Non-owning pointer to LogProvider interface (null if not provided). Lifetime tied to plugin - do not use after plugin is destroyed.
-
ScriptProvider *script_provider = nullptr
Non-owning pointer to ScriptProvider interface (null if not provided). Lifetime tied to plugin - do not use after plugin is destroyed.
-
GatewayPluginLoadResult() = default