diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-02 14:17:41 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-30 17:09:03 +0100 |
commit | f543f058f96c30b3153305fce0bc4c3ade78758f (patch) | |
tree | 2d470f821ce6b601c53e6c32037c154ad25a1c90 /ctl-lib | |
parent | ce075383309a30bb7084309014c7f1c2f699bf01 (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>
Diffstat (limited to 'ctl-lib')
-rw-r--r-- | ctl-lib/ctl-action.c | 1 | ||||
-rw-r--r-- | ctl-lib/ctl-plugin.h | 1 |
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; |