8#ifndef SEN_KERNEL_KERNEL_H
9#define SEN_KERNEL_KERNEL_H
19#include "stl/sen/kernel/basic_types.stl.h"
79 std::unique_ptr<impl::KernelImpl> pimpl_;
Here we define a set of template meta-programming helpers to let the compiler take some decisions bas...
Holds the kernel configuration information.
Definition kernel_config.h:33
static const BuildInfo & getBuildInfo() noexcept
Gets the kernel build information.
friend class KernelApi
Definition kernel.h:72
const KernelConfig & getConfig() const noexcept
Gets the configuration used to construct the kernel. This method is thread-safe.
Kernel(KernelConfig config)
int run(KernelBlockMode blockMode=KernelBlockMode::doBlock)
Fire up the execution of the kernel. In case the is already running, -1 is returned....
friend class PreloadApi
Definition kernel.h:73
friend class impl::Runner
Definition kernel.h:75
void requestStop(int exitCode=0)
Stops the execution and deallocates runtime resources. This method is thread-safe.
static void registerTerminationHandler()
Registers the kernel termination handler.
std::filesystem::path getConfigPath() const noexcept
Gets the path to the configuration file used to construct the kernel. This method is thread-safe.
friend class TestKernel
Definition kernel.h:76
friend class UnloadApi
Definition kernel.h:74
Kernel class only meant for unit testing your packages or components. It starts in virtual time mode.
Definition test_kernel.h:27
Strong type for the unique identifier for a transport timer.
Definition native_object_impl.h:39
KernelBlockMode
How to deal with the thread that calls the Kernel::run() function.
Definition kernel.h:33
@ doNotBlock
Does not block the caller thread.
Definition kernel.h:34
@ doBlock
Blocks the caller thread.
Definition kernel.h:35