![]() |
dfx 0.1.0
Linux-based dynamic dataflow executor
|
Central manager for plugin discovery, loading, and registration. More...
#include <dfx-plugins/Registry.hpp>
Public Member Functions | |
| Registry (Utils::SystemConfig &sysConfig) | |
| Constructs the registry and performs initial plugin discovery. | |
| DFX_DISABLE_COPY_AND_MOVE (Registry) | |
| Non-copyable and non-movable to maintain registry integrity. | |
| void | loadAllPlugins (Graph::NodeFactory &nodeFactory, Graph::TransportFactory &transportFactory) |
| Loads and initializes all plugins that passed the discovery phase. | |
Central manager for plugin discovery, loading, and registration.
The Registry acts as the primary entry point for the plugin subsystem. It searches configured system paths for shared libraries, validates their metadata, and facilitates the registration of their provided Node and Transport types into the broader dfx framework.
|
explicit |
Constructs the registry and performs initial plugin discovery.
The constructor scans the search paths defined in the system configuration to identify potential plugin binaries. For each file found, it attempts to read its metadata to verify its validity as a dfx plugin.
| sysConfig | Configuration object containing search paths for plugins. |
| dfx::Plugins::Registry::DFX_DISABLE_COPY_AND_MOVE | ( | Registry | ) |
Non-copyable and non-movable to maintain registry integrity.
| void dfx::Plugins::Registry::loadAllPlugins | ( | Graph::NodeFactory & | nodeFactory, |
| Graph::TransportFactory & | transportFactory ) |
Loads and initializes all plugins that passed the discovery phase.
This method iterates through the map of discovered plugins. For every plugin with valid metadata, it:
| nodeFactory | The factory where new node types will be registered. |
| transportFactory | The factory where new transport schemes will be registered. |