diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-11-23 10:00:09 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-11-23 10:00:56 +0100 |
commit | 74c0e1f8e2a6dbc5b7485c3b06e12d4ad7f43c6b (patch) | |
tree | d518d880d94d7df189ad1a34093dc8ad348691ba /signal-composer-binding/signal-composer-binding.cpp | |
parent | e1ef945da61ae0dfec7a5c8d1e9cde2716c0c1fd (diff) |
Use specific binder's event handlersguppy_6.99.2guppy/6.99.26.99.2
Use specific binder's event handlers which allows you to bind a callback with
an incoming event based on a pattern matching. This replace the global
event listener and internal callback search algorythm which is now
delegated to the binder.
Clean unused constructor
Bug-AGL: SPEC-1968
Change-Id: I4b22c003661189fb71498efc4d9021c1a54ae866
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'signal-composer-binding/signal-composer-binding.cpp')
-rw-r--r-- | signal-composer-binding/signal-composer-binding.cpp | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/signal-composer-binding/signal-composer-binding.cpp b/signal-composer-binding/signal-composer-binding.cpp index 6c60526..15b9c93 100644 --- a/signal-composer-binding/signal-composer-binding.cpp +++ b/signal-composer-binding/signal-composer-binding.cpp @@ -25,55 +25,6 @@ #include "signal-composer-apidef.h" #include "clientApp.hpp" -/// @brief callback for receiving message from low bindings. This will callback -/// an action defined in the configuration files depending on the event received -/// -/// @param[in] event - event name -/// @param[in] object - eventual data that comes with the event -void onEvent(const char *event, json_object *object) -{ - std::vector<std::shared_ptr<Signal>> signals { Composer::instance().searchSignals(event) }; - - if(!signals.empty()) - { - // If there is more than 1 element then maybe we can find a more - // detailled event name in JSON object as 1 event may carry several - // signals. Try to find that one. - if(signals.size() > 1) - { - bool found = false; - json_object_iterator iter = json_object_iter_begin(object); - json_object_iterator iterEnd = json_object_iter_end(object); - while(!json_object_iter_equal(&iter, &iterEnd)) - { - json_object *value = json_object_iter_peek_value(&iter); - if(json_object_is_type(value, json_type_string)) - { - std::string name = json_object_get_string(value); - for(auto& sig: signals) - { - if(*sig == name) - { - found = true; - sig->onReceivedCB(object); - } - } - } - json_object_iter_next(&iter); - } - // If nothing found in JSON data then apply onReceived callback - // for all signals found - if(! found) - { - for(auto& sig: signals) - {sig->onReceivedCB(object);} - } - } - else - {signals[0]->onReceivedCB(object);} - } -} - static int one_subscribe_unsubscribe(AFB_ReqT request, bool subscribe, const std::string& event, |