MCPcopy Create free account
hub / github.com/Clarionos/clarion / set_program_options

Method set_program_options

libraries/appbase/application.cpp:184–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

182}
183
184void application::set_program_options()
185{
186 for(auto& plug : plugins) {
187 boost::program_options::options_description plugin_cli_opts("Command Line Options for " + plug.second->name());
188 boost::program_options::options_description plugin_cfg_opts("Config Options for " + plug.second->name());
189 plug.second->set_program_options(plugin_cli_opts, plugin_cfg_opts);
190 if(plugin_cfg_opts.options().size()) {
191 my->_app_options.add(plugin_cfg_opts);
192 my->_cfg_options.add(plugin_cfg_opts);
193 }
194 if(plugin_cli_opts.options().size())
195 my->_app_options.add(plugin_cli_opts);
196 }
197
198 options_description app_cfg_opts( "Application Config Options" );
199 options_description app_cli_opts( "Application Command Line Options" );
200 app_cfg_opts.add_options()
201 ("plugin", bpo::value< vector<string> >()->composing(), "Plugin(s) to enable, may be specified multiple times");
202
203 app_cli_opts.add_options()
204 ("help,h", "Print this help message and exit.")
205 ("version,v", "Print version information.")
206 ("full-version", "Print full version information.")
207 ("print-default-config", "Print default configuration template")
208 ("data-dir,d", bpo::value<std::string>(), "Directory containing program runtime data")
209 ("config-dir", bpo::value<std::string>(), "Directory containing configuration files such as config.ini")
210 ("config,c", bpo::value<std::string>()->default_value( "config.ini" ), "Configuration file name relative to config-dir")
211 ("logconf,l", bpo::value<std::string>()->default_value( "logging.json" ), "Logging configuration file name/path for library users");
212
213 my->_cfg_options.add(app_cfg_opts);
214 my->_app_options.add(app_cfg_opts);
215 my->_app_options.add(app_cli_opts);
216}
217
218bool application::initialize_impl(int argc, char** argv, vector<abstract_plugin*> autostart_plugins) {
219 set_program_options();

Callers 1

print_default_configMethod · 0.45

Calls 3

nameMethod · 0.45
sizeMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected