iceoryx_posh 2.0.5
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
iox::roudi::RouDiApp Class Referenceabstract

base class for RouDi daemons More...

#include <iceoryx_posh/roudi/roudi_app.hpp>

Inheritance diagram for iox::roudi::RouDiApp:
Inheritance graph
[legend]
Collaboration diagram for iox::roudi::RouDiApp:
Collaboration graph
[legend]

Public Member Functions

 RouDiApp (const config::CmdLineArgs_t &cmdLineArgs, const RouDiConfig_t &config) noexcept
 C'tor with command line parser, which has already parsed the command line parameters.
 
virtual uint8_t run () noexcept=0
 interface to start the execution of the RouDi daemon
 

Static Public Member Functions

static void roudiSigHandler (int32_t signal) noexcept
 Method passed to the OS signal handler.
 

Protected Member Functions

void registerSigHandler () noexcept
 Tells the OS which signals shall be hooked.
 
bool waitForSignal () noexcept
 waits for the next signal to RouDi daemon
 

Protected Attributes

iox::log::LogLevel m_logLevel {iox::log::LogLevel::kWarn}
 
roudi::MonitoringMode m_monitoringMode {roudi::MonitoringMode::ON}
 
bool m_run {true}
 
RouDiConfig_t m_config
 
posix::Semaphore m_semaphore
 
version::CompatibilityCheckLevel m_compatibilityCheckLevel {version::CompatibilityCheckLevel::PATCH}
 
units::Duration m_processKillDelay {roudi::PROCESS_DEFAULT_KILL_DELAY}
 

Detailed Description

base class for RouDi daemons

Constructor & Destructor Documentation

◆ RouDiApp()

iox::roudi::RouDiApp::RouDiApp ( const config::CmdLineArgs_t cmdLineArgs,
const RouDiConfig_t config 
)
noexcept

C'tor with command line parser, which has already parsed the command line parameters.

Parameters
[in]cmdLineParserreference to a command line parser object
[in]configthe configuration to use

Member Function Documentation

◆ run()

virtual uint8_t iox::roudi::RouDiApp::run ( )
pure virtualnoexcept

interface to start the execution of the RouDi daemon

Returns
Return code for programm execution

Implemented in iox::roudi::IceOryxRouDiApp.

Member Data Documentation

◆ m_semaphore

posix::Semaphore iox::roudi::RouDiApp::m_semaphore
protected
Initial value:
=
std::move(posix::Semaphore::create(posix::CreateUnnamedSingleProcessSemaphore, 0u)
.or_else([](posix::SemaphoreError&) {
errorHandler(Error::kROUDI_APP__FAILED_TO_CREATE_SEMAPHORE, nullptr, ErrorLevel::FATAL);
})
.value())

The documentation for this class was generated from the following file: