9 #include <boost/program_options/options_description.hpp> 10 #include <boost/program_options/parsers.hpp> 18 namespace bpo = boost::program_options;
52 <<
"DDS configuration" 53 <<
" v" << USER_DEFAULTS_CFG_VERSION <<
"\n" 60 if (
nullptr == _options)
61 throw std::runtime_error(
"Internal error: options' container is empty.");
64 bpo::options_description options(
"dds-info options");
65 options.add_options()(
"help,h",
"Produce help message");
66 options.add_options()(
"version,v",
"Version information");
67 options.add_options()(
"session,s", bpo::value<std::string>(),
"DDS Session ID");
68 options.add_options()(
"commander-pid",
70 "Return the pid of the commander server");
71 options.add_options()(
"status",
73 "Query current status of DDS commander server");
74 options.add_options()(
"agents-number,n",
76 "Returns a number of online agents");
77 options.add_options()(
"agents-list,l",
79 "Show detailed info about all online agents");
80 options.add_options()(
81 "prop-list", bpo::bool_switch(&_options->
m_bNeedPropList),
"Returns a property list from all agents.");
82 options.add_options()(
"prop-values",
84 "Returns a key-value pairs from all agents.");
85 options.add_options()(
"prop-id",
87 "Specify property IDs that have to be returned.");
90 bpo::variables_map vm;
91 bpo::store(bpo::command_line_parser(_argc, _argv).options(options).run(), vm);
95 bpo::variables_map::const_iterator found =
96 find_if(vm.begin(), vm.end(), [](
const bpo::variables_map::value_type& _v) {
97 return (!_v.second.defaulted());
100 if (vm.count(
"help") || vm.end() == found)
105 if (vm.count(
"version"))
116 if (vm.count(
"session"))
117 _options->
m_sid = boost::uuids::string_generator()(vm[
"session"].as<std::string>());
dds-commander's container of options
Definition: dds-info/src/Options.h:25
void PrintVersion()
Definition: dds-info/src/Options.h:49
bool m_bNeedAgentsList
Definition: dds-info/src/Options.h:42
#define LOG(severity)
Definition: Logger.h:54
boost::uuids::uuid m_sid
Definition: dds-info/src/Options.h:46
const LPCSTR g_cszReportBugsAddr("Report bugs/comments to fairroot@gsi.de")
Definition: dds-agent/src/AgentConnectionManager.h:18
bool m_bNeedPropValues
Definition: dds-info/src/Options.h:44
bool m_bNeedAgentsNumber
Definition: dds-info/src/Options.h:41
bool m_bNeedDDSStatus
Definition: dds-info/src/Options.h:40
SOptions()
Definition: dds-info/src/Options.h:27
bool m_bNeedPropList
Definition: dds-info/src/Options.h:43
std::string m_propertyID
Definition: dds-info/src/Options.h:45
struct dds::info_cmd::SOptions SOptions_t
dds-commander's container of options
bool m_bNeedCommanderPid
Definition: dds-info/src/Options.h:39
bool ParseCmdLine(int _argc, char *_argv[], SOptions *_options)
Definition: dds-info/src/Options.h:58