本文整理汇总了C++中ArgumentParser::GetConfig方法的典型用法代码示例。如果您正苦于以下问题:C++ ArgumentParser::GetConfig方法的具体用法?C++ ArgumentParser::GetConfig怎么用?C++ ArgumentParser::GetConfig使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArgumentParser
的用法示例。
在下文中一共展示了ArgumentParser::GetConfig方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: config
Daemon::Daemon(const ArgumentParser &args) {
ConfigParser config(args.GetConfig());
plog::init<plog::LogFormatter>(config.GetLogSeverity(),
config.GetLogFilename().c_str());
IpcConnection conn("\0INTEGRITY");
conn.Listen();
Storage storage;
daemon(1, 0);
std::unique_ptr<std::thread> schedule;
if (config.GetSleepDuration() > 0) {
schedule = std::unique_ptr<std::thread>(
new std::thread(&Daemon::Schedule,
this,
std::ref(storage),
config.GetPathListFile(),
config.GetSleepDuration()));
}
while (running) {
std::shared_ptr<IpcClient> client = conn.WaitForClient();
int message = client->ReceiveCommand();
switch (message) {
case ArgumentParser::STORE: {
Store(storage, config.GetPathListFile());
break;
}
case ArgumentParser::CHECK: {
Check(storage, config.GetPathListFile());
break;
}
case ArgumentParser::KILL:
running = false;
storage.mtx.lock(); // wait for all db operations to end
break;
default:
break;
}
}
if (config.GetSleepDuration() > 0) {
schedule->join();
}
}