From 6075d60a3d8368cdfdece93abadd2bc9d8110e76 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Thu, 28 Sep 2017 20:10:13 +0200 Subject: Builtin plugin integration Change-Id: I285c666c9ac77b6c1efb56406ce0a9cf33ec140f Signed-off-by: Romain Forlot --- signal-composer-binding/signal-composer.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (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 ab5c63c..4218bae 100644 --- a/signal-composer-binding/signal-composer.cpp +++ b/signal-composer-binding/signal-composer.cpp @@ -123,6 +123,27 @@ CtlActionT* Composer::convert2Action(const std::string& name, json_object* actio "label", name.c_str(), "callback", callbackJ); } + else if(startsWith(function, "builtin://")) + { + std::string uri = std::string(function).substr(10); + char b[8] = "builtin"; + char* label = strncat(b , name.c_str(), name.size()); + std::vector uriV = Composer::parseURI(uri); + if(uriV.size() > 1) {AFB_WARNING("Too many thing specified. Uri has to be like: builtin://");} + return new CtlActionT { + CTL_TYPE_CB, + nullptr, + uriV[0].c_str(), + functionArgsJ, + Signal::defaultOnReceivedCB, + CtlSourceT{ + label, + nullptr, + {nullptr, nullptr}, + nullptr, + } + }; + } else { AFB_ERROR("Wrong function uri specified. You have to specified 'lua://', 'plugin://' or 'api://'. (%s)", function); -- cgit 1.2.3-korg