diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-02 14:17:41 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-12-12 17:44:41 +0100 |
commit | c76dc6c88a24764b27affaa9eb92b144b868972d (patch) | |
tree | 0c1f309ff5a035de9b8656166b7d57da82589453 | |
parent | a492cbfe993139fe50950bb42f8a3dfcce094146 (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.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; |