aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-10-02 14:17:41 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2018-10-30 17:09:03 +0100
commitf543f058f96c30b3153305fce0bc4c3ade78758f (patch)
tree2d470f821ce6b601c53e6c32037c154ad25a1c90
parentce075383309a30bb7084309014c7f1c2f699bf01 (diff)
Pass the plugin to action.
Pass the plugin to action using source structure. Plugin pointer is now accessible from anywhere in the plugin callbacks. Clean deprecated function. Change-Id: Idf50728af0b3573a45c4731d4343cf67741b662c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--ctl-lib/ctl-action.c1
-rw-r--r--ctl-lib/ctl-plugin.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/ctl-lib/ctl-action.c b/ctl-lib/ctl-action.c
index 4c72105..c1b7123 100644
--- a/ctl-lib/ctl-action.c
+++ b/ctl-lib/ctl-action.c
@@ -106,6 +106,7 @@ int ActionExecOne(CtlSourceT *source, CtlActionT* action, json_object *queryJ) {
#endif
case CTL_TYPE_CB:
+ source->plugin = action->exec.cb.plugin;
err = (*action->exec.cb.callback) (source, action->argsJ, queryJ);
if (err) {
AFB_ApiError(action->api, "ActionExecOne(Callback) uid%s plugin=%s function=%s args=%s", source->uid, action->exec.cb.plugin->uid, action->exec.cb.funcname, json_object_get_string(action->argsJ));
diff --git a/ctl-lib/ctl-plugin.h b/ctl-lib/ctl-plugin.h
index d931906..d7ede8e 100644
--- a/ctl-lib/ctl-plugin.h
+++ b/ctl-lib/ctl-plugin.h
@@ -87,6 +87,7 @@ typedef struct {
AFB_ApiT api;
AFB_ReqT request;
void *context;
+ CtlPluginT *plugin;
CtlActionStatusT status;
} CtlSourceT;