FairMQ: Implement PluginServices - Config

This commit is contained in:
Dennis Klein
2017-06-29 22:53:44 +02:00
committed by Mohammad Al-Turany
parent 739460b2fe
commit ad0f050c99
14 changed files with 265 additions and 169 deletions

View File

@@ -47,14 +47,16 @@ int main(int argc, const char** argv)
boost::program_options::options_description customOptions("Custom options");
addCustomOptions(customOptions);
// Plugin manager needs to be destroyed after config !
// TODO Investigate, why
auto pluginManager = fair::mq::PluginManager::MakeFromCommandLineOptions(fair::mq::tools::ToStrVector(argc, argv));
FairMQProgOptions config;
config.AddToCmdLineOptions(customOptions);
auto pluginManager = fair::mq::PluginManager::MakeFromCommandLineOptions(fair::mq::tools::ToStrVector(argc, argv));
config.AddToCmdLineOptions(pluginManager->ProgramOptions());
pluginManager->ForEachPluginProgOptions([&config](const boost::program_options::options_description& options){
pluginManager->ForEachPluginProgOptions([&config](boost::program_options::options_description options){
config.AddToCmdLineOptions(options);
});
config.AddToCmdLineOptions(pluginManager->ProgramOptions());
config.ParseAll(argc, argv, true);