From c31f027f47f4e015b6af672f806fada477b94a74 Mon Sep 17 00:00:00 2001 From: jcasals <jcasals@iri.upc.edu> Date: Tue, 28 Apr 2020 12:08:31 +0200 Subject: [PATCH] Fix packages loading @problem::autosetup --- src/problem/problem.cpp | 4 ++-- src/yaml/parser_yaml.cpp | 16 ++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp index 7acce5acb..762d98aab 100644 --- a/src/problem/problem.cpp +++ b/src/problem/problem.cpp @@ -127,14 +127,14 @@ ProblemPtr Problem::autoSetup(ParamsServer &_server) WOLF_WARN(e.what()); WOLF_WARN("Support for subscribers disabled..."); } - for (auto it : _server.getParam<std::vector<std::string>>("packages")) { + for (auto it : _server.getParam<std::vector<std::string>>("packages_subscriber")) { std::string subscriber = packages_path + "/libsubscriber_" + it + lib_extension; WOLF_TRACE("Loading subscriber " + subscriber); auto l = new LoaderRaw(subscriber); l->load(); loaders.push_back(l); } - for (auto it : _server.getParam<std::vector<std::string>>("packages")) { + for (auto it : _server.getParam<std::vector<std::string>>("packages_publisher")) { std::string subscriber = packages_path + "/libpublisher_" + it + lib_extension; WOLF_TRACE("Loading publisher " + subscriber); auto l = new LoaderRaw(subscriber); diff --git a/src/yaml/parser_yaml.cpp b/src/yaml/parser_yaml.cpp index f2dd93e74..2d1aa8200 100644 --- a/src/yaml/parser_yaml.cpp +++ b/src/yaml/parser_yaml.cpp @@ -475,21 +475,25 @@ void ParserYAML::parse() tags.push_back("processor"); walkTreeR(it.n_, tags, "processor/" + it.name_); } - std::list<std::string> plugins, packages; + std::list<std::string> plugins; + std::list<std::string> packages_subscriber, packages_publisher; for (const auto& it : paramsSens_) plugins.push_back(it.plugin_); for (const auto& it : paramsProc_) plugins.push_back(it.plugin_); for (const auto& it : subscriber_managers_) - packages.push_back(it.package_); + packages_subscriber.push_back(it.package_); for (const auto& it : publisher_managers_) - packages.push_back(it.package_); + packages_publisher.push_back(it.package_); plugins.sort(); plugins.unique(); - packages.sort(); - packages.unique(); + packages_subscriber.sort(); + packages_subscriber.unique(); + packages_publisher.sort(); + packages_publisher.unique(); insert_register("plugins", wolf::converter<std::string>::convert(plugins)); - insert_register("packages", wolf::converter<std::string>::convert(packages)); + insert_register("packages_subscriber", wolf::converter<std::string>::convert(packages_subscriber)); + insert_register("packages_publisher", wolf::converter<std::string>::convert(packages_publisher)); YAML::Node n; n = loadYAML(generatePath(file_)); -- GitLab