8#ifndef SEN_KERNEL_KERNEL_CONFIG_H
9#define SEN_KERNEL_KERNEL_CONFIG_H
15#include "stl/sen/kernel/basic_types.stl.h"
85 [[nodiscard]] const KernelParams&
getParams() const noexcept;
118 std::vector<ComponentPluginToLoad> pluginsToLoad_;
119 std::vector<ComponentToLoad> componentsToLoad_;
120 std::vector<PipelineToLoad> pipelinesToLoad_;
121 KernelParams params_ {};
122 std::filesystem::path path_ {};
A time duration.
Definition duration.h:25
Base class for implementing sen kernel components.
Definition component.h:34
ComponentConfig config
Component configuration parameters.
Definition kernel_config.h:47
const KernelParams & getParams() const noexcept
Gets the behavior of the kernel when calling run. By default it is blockUntilDone.
const std::vector< ComponentToLoad > & getComponentsToLoad() const noexcept
The in-memory components to be loaded on startup.
VarMap params
Dynamic user-defined parameters.
Definition kernel_config.h:48
std::string className
The name of its class.
Definition kernel_config.h:55
std::string name
The unique name of the object (process-wide).
Definition kernel_config.h:54
BusAddress bus
The bus where to publish it, if any.
Definition kernel_config.h:56
const std::string path
Path to the shared object.
Definition kernel_config.h:38
std::string name
Definition kernel_config.h:63
void addToLoad(ComponentPluginToLoad plugin)
Adds a plugin to be loaded by the kernel upon startup. Overrides previous parameters in case of repea...
void setParams(KernelParams params) noexcept
Sets general parameters.
void setConfigFilePath(const std::filesystem::path &path) noexcept
Sets the path to the configuration file's path used to construct the kernel.
Definition kernel_config.h:112
VarMap params
Time between updates (0 for event-triggered execution).
Definition kernel_config.h:68
Duration period
Objects to create.
Definition kernel_config.h:67
StringList imports
Config data (of the owning component).
Definition kernel_config.h:65
VarMap params
Dynamic user-defined parameters.
Definition kernel_config.h:40
ComponentConfig config
Component configuration parameters.
Definition kernel_config.h:39
~KernelConfig() noexcept=default
std::filesystem::path getConfigFilePath() const noexcept
Gets the path to the configuration file used to construct the kernel.
Definition kernel_config.h:115
std::vector< ObjectConfig > objects
Libraries to import.
Definition kernel_config.h:66
ComponentConfig config
The name of the pipeline.
Definition kernel_config.h:64
const std::vector< ComponentPluginToLoad > & getPluginsToLoad() const noexcept
The components to be loaded from plugins on startup.
VarMap params
Dynamic user-defined parameters.
Definition kernel_config.h:57
const std::vector< PipelineToLoad > & getPipelinesToLoad() const noexcept
The pipelines to be loaded on startup.
ComponentContext component
Component instance.
Definition kernel_config.h:46
Information about a component to load from a plugin.
Definition kernel_config.h:37
Information about a component to load.
Definition kernel_config.h:45
Information about how to create an object.
Definition kernel_config.h:53
Information about how to create a pipeline.
Definition kernel_config.h:62
ComponentConfig config
Definition kernel_config.h:27
Component * instance
Definition kernel_config.h:26
ComponentInfo info
Definition kernel_config.h:28
Holds a component instance and basic info.
Definition kernel_config.h:25
std::map< std::string, Var, std::less<> > VarMap
A map of vars to represent structures.
Definition var.h:107
Strong type for the unique identifier for a transport timer.
Definition native_object_impl.h:39