2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
23#ifndef DOXYGEN_SHOULD_SKIP_THIS
25#include "core/system/unistd.h"
33 class DaemonFailure :
public std::runtime_error {
35 explicit DaemonFailure(
const std::string& failureMessage);
37 ~DaemonFailure() override;
40 class DaemonError :
public DaemonFailure {
42 explicit DaemonError(
const std::string& errorMessage);
44 ~DaemonError() override;
47 class DaemonSignaled :
public std::runtime_error {
49 explicit DaemonSignaled(
const std::string& message, pid_t pid);
51 ~DaemonSignaled() override;
64 static void startDaemon(
const std::string& pidFileName,
const std::string& userName,
const std::string& groupName);
65 static pid_t stopDaemon(
const std::string& pidFileName);
67 static void erasePidFile(
const std::string& pidFileName);
CLI::App * getApp() const
CallForShowConfig(CLI::App *app)
static void setQuiet(bool quiet=true)
static CLI::Option * logLevelOpt
static std::map< std::string, CLI::Option * > applicationOptions
static int getVerboseLevel()
static std::string configDirectory
static std::shared_ptr< CLI::App > app
static CLI::Option * groupNameOpt
static CLI::Option * verboseLevelOpt
static CLI::Option * quietOpt
static bool init(int argc, char *argv[])
static std::string pidDirectory
static std::shared_ptr< CLI::Formatter > sectionFormatter
static std::map< std::string, std::string > aliases
static void required(CLI::App *instance, bool reqired=true)
static CLI::Option * logFileOpt
static CLI::Option * enforceLogFileOpt
static std::string applicationName
static std::string logDirectory
static CLI::Option * userNameOpt
static CLI::Option * daemonizeOpt
static const std::shared_ptr< CLI::App > makeApp()
static std::string createCommandLineTemplate(CLI::App *app, CLI::CallForCommandline::Mode mode)
static const std::shared_ptr< CLI::HelpFormatter > makeSectionFormatter()
static void createCommandLineTemplate(std::stringstream &out, CLI::App *app, CLI::CallForCommandline::Mode mode)
static void createCommandLineOptions(std::stringstream &out, CLI::App *app, CLI::CallForCommandline::Mode mode)
static std::string createCommandLineOptions(CLI::App *app, CLI::CallForCommandline::Mode mode)
static std::string createCommandLineSubcommands(CLI::App *app, CLI::CallForCommandline::Mode mode)