From b7dd0a6e19d5387bc8d499bd1b3a99d457fa58d9 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Mon, 25 Sep 2017 18:29:48 +0200 Subject: Enhance pointer manage and container browsing - SourceAPI now holds share_ptr of Signal - Signal are stored in a map that change way to browse the signals - subscribed property included in SourceAPI. - Clean old code - renaming struct SignalValue->signalValue Change-Id: Ic5c28296ddd7197c6562e12fbc91c504c1cc0b4d Signed-off-by: Romain Forlot --- signal-composer-binding/signal-composer.cpp | 42 ++++++++++++++--------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'signal-composer-binding/signal-composer.cpp') diff --git a/signal-composer-binding/signal-composer.cpp b/signal-composer-binding/signal-composer.cpp index b0c7d6a..71cac7b 100644 --- a/signal-composer-binding/signal-composer.cpp +++ b/signal-composer-binding/signal-composer.cpp @@ -21,9 +21,9 @@ #include "clientApp.hpp" -extern "C" void setSignalValueHandle(const char* aName, long long int timestamp, struct SignalValue value) +extern "C" void setsignalValueHandle(const char* aName, long long int timestamp, struct signalValue value) { - std::vector signals = Composer::instance().searchSignals(aName); + std::vector> signals = Composer::instance().searchSignals(aName); if(!signals.empty()) { for(auto& sig: signals) @@ -42,7 +42,7 @@ bool startsWith(const std::string& str, const std::string& pattern) } static struct pluginCBT pluginHandle = { - .setSignalValue = setSignalValueHandle, + .setsignalValue = setsignalValueHandle, }; CtlSectionT Composer::ctlSections_[] = { @@ -328,7 +328,7 @@ int Composer::loadSignals(CtlSectionT* section, json_object *signalsJ) return err; } -void Composer::processOptions(const char** opts, Signal* sig, json_object* response) const +void Composer::processOptions(const char** opts, std::shared_ptr sig, json_object* response) const { for(int idx=0; idx < sizeof(opts); idx++) { @@ -461,18 +461,6 @@ int Composer::initSourcesAPI() return err; } -std::vector Composer::getAllSignals() -{ - std::vector allSignals; - for( auto& source : sourcesListV_) - { - std::vector srcSignals = source.getSignals(); - allSignals.insert(allSignals.end(), srcSignals.begin(), srcSignals.end()); - } - - return allSignals; -} - SourceAPI* Composer::getSourceAPI(const std::string& api) { for(auto& source: sourcesListV_) @@ -483,10 +471,22 @@ SourceAPI* Composer::getSourceAPI(const std::string& api) return nullptr; } -std::vector Composer::searchSignals(const std::string& aName) +std::vector> Composer::getAllSignals() +{ + std::vector> allSignals; + for( auto& source : sourcesListV_) + { + std::vector> srcSignals = source.getSignals(); + allSignals.insert(allSignals.end(), srcSignals.begin(), srcSignals.end()); + } + + return allSignals; +} + +std::vector> Composer::searchSignals(const std::string& aName) { std::string api; - std::vector signals; + std::vector> signals; size_t sep = aName.find_first_of("/"); if(sep != std::string::npos) { @@ -496,8 +496,8 @@ std::vector Composer::searchSignals(const std::string& aName) } else { - std::vector allSignals = getAllSignals(); - for (Signal*& sig : allSignals) + std::vector> allSignals = getAllSignals(); + for (std::shared_ptr& sig : allSignals) { if(*sig == aName) {signals.emplace_back(sig);} @@ -517,7 +517,7 @@ json_object* Composer::getsignalValue(const std::string& sig, json_object* optio &opts[2], &opts[3]); - std::vector sigP = searchSignals(sig); + std::vector> sigP = searchSignals(sig); if(!sigP.empty()) { for(auto& sig: sigP) -- cgit 1.2.3-korg