summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/controller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipa/raspberrypi/controller/controller.cpp')
-rw-r--r--src/ipa/raspberrypi/controller/controller.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ipa/raspberrypi/controller/controller.cpp b/src/ipa/raspberrypi/controller/controller.cpp
index 872a3230..d91ac907 100644
--- a/src/ipa/raspberrypi/controller/controller.cpp
+++ b/src/ipa/raspberrypi/controller/controller.cpp
@@ -32,19 +32,23 @@ Controller::Controller(char const *jsonFilename)
Controller::~Controller() {}
-void Controller::read(char const *filename)
+int Controller::read(char const *filename)
{
boost::property_tree::ptree root;
boost::property_tree::read_json(filename, root);
for (auto const &keyAndValue : root) {
Algorithm *algo = createAlgorithm(keyAndValue.first.c_str());
if (algo) {
- algo->read(keyAndValue.second);
+ int ret = algo->read(keyAndValue.second);
+ if (ret)
+ return ret;
algorithms_.push_back(AlgorithmPtr(algo));
} else
LOG(RPiController, Warning)
<< "No algorithm found for \"" << keyAndValue.first << "\"";
}
+
+ return 0;
}
Algorithm *Controller::createAlgorithm(char const *name)