diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-09-16 02:38:26 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-09-27 13:05:37 +0200 |
commit | 7138e18c162f9246079fbb077d38f7796314b6b0 (patch) | |
tree | 0d76110c2f04c0c0ba4ea310b2318390aea3b330 /signal-composer-binding/signal-composer.cpp | |
parent | e0655ca2d3d2db4c99d56da6fc90345e9093deb7 (diff) |
Handle errors on signal initialization
This reports errors at signals getSignals action call
and removed incorrect signals from the source. This allows
the binding to correctly respond to the user if there was an
error in its signal definitions.
Change-Id: I7779ab9339a979fcb2b7b41f8ebf4aa27b8af3a1
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'signal-composer-binding/signal-composer.cpp')
-rw-r--r-- | signal-composer-binding/signal-composer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/signal-composer-binding/signal-composer.cpp b/signal-composer-binding/signal-composer.cpp index 79b6022..13bfd64 100644 --- a/signal-composer-binding/signal-composer.cpp +++ b/signal-composer-binding/signal-composer.cpp @@ -480,14 +480,14 @@ void Composer::initSourcesAPI() } } -void Composer::initSignals() +int Composer::initSignals() { for(int i=0; i < sourcesListV_.size(); i++) { std::shared_ptr<SourceAPI> src = sourcesListV_[i]; src->initSignals(); } - execSignalsSubscription(); + return execSignalsSubscription(); } std::shared_ptr<SourceAPI> Composer::getSourceAPI(const std::string& api) @@ -579,13 +579,16 @@ json_object* Composer::getsignalValue(const std::string& sig, json_object* optio return finalResponse; } -void Composer::execSignalsSubscription() +int Composer::execSignalsSubscription() { + int err = 0;; for(std::shared_ptr<SourceAPI> srcAPI: sourcesListV_) { if (srcAPI->api() != std::string(ctlConfig_->api)) { - srcAPI->makeSubscription(); + err += srcAPI->makeSubscription(); } } + + return err; } |