16#ifndef IOX_POSH_ROUDI_CMD_LINE_ARGS_HPP
17#define IOX_POSH_ROUDI_CMD_LINE_ARGS_HPP
19#include "iceoryx_hoofs/log/logstream.hpp"
20#include "iceoryx_posh/iceoryx_posh_types.hpp"
21#include "iceoryx_posh/version/compatibility_check_level.hpp"
32 iox::log::LogLevel logLevel{iox::log::LogLevel::kWarn};
33 version::CompatibilityCheckLevel compatibilityCheckLevel{version::CompatibilityCheckLevel::PATCH};
34 units::Duration processKillDelay{roudi::PROCESS_DEFAULT_KILL_DELAY};
35 cxx::optional<uint16_t> uniqueRouDiId{cxx::nullopt};
37 roudi::ConfigFilePathString_t configFilePath;
40inline iox::log::LogStream& operator<<(iox::log::LogStream& logstream,
const CmdLineArgs_t& cmdLineArgs)
noexcept
42 logstream <<
"Log level: " << cmdLineArgs.logLevel <<
"\n";
43 logstream <<
"Monitoring mode: " << cmdLineArgs.monitoringMode <<
"\n";
44 logstream <<
"Compatibility check level: " << cmdLineArgs.compatibilityCheckLevel <<
"\n";
45 cmdLineArgs.uniqueRouDiId.and_then([&logstream](
auto&
id) { logstream <<
"Unique RouDi ID: " <<
id <<
"\n"; })
46 .or_else([&logstream] { logstream <<
"Unique RouDi ID: < unset >\n"; });
47 logstream <<
"Process kill delay: " << cmdLineArgs.processKillDelay.toSeconds() <<
" s\n";
48 if (!cmdLineArgs.configFilePath.empty())
50 logstream <<
"Config file used is: " << cmdLineArgs.configFilePath;
54 logstream <<
"Config file used is: < none >";
MonitoringMode
Controls process alive monitoring. Upon timeout, a monitored process is removed and its resources are...
Definition: iceoryx_posh_types.hpp:243
Definition: cmd_line_args.hpp:30