diff options
author | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2018-09-17 14:59:11 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-12-12 17:44:41 +0100 |
commit | ff20c394e456075d5936440b35be2f6a137dab82 (patch) | |
tree | de0f8c73e6933dc3ba13e121f6ec36b3bdf33e9a | |
parent | 6abf6ad7ffeb40f375d49b6c2964c5c3cb2e5062 (diff) |
Add a 'params' fields for controller plugins
Add a 'params' fields for controller plugins.
Can be used to send specific parameters
to plugins functions (onload, init, ...).
Change-Id: Ifb16f06a20453ef2bd1bc8a72bc2841dc12e323c
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
-rw-r--r-- | ctl-lib/ctl-plugin.c | 7 | ||||
-rw-r--r-- | ctl-lib/ctl-plugin.h | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/ctl-lib/ctl-plugin.c b/ctl-lib/ctl-plugin.c index 3dfecd9..2347518 100644 --- a/ctl-lib/ctl-plugin.c +++ b/ctl-lib/ctl-plugin.c @@ -303,15 +303,16 @@ static int PluginLoad (AFB_ApiT apiHandle, CtlPluginT *ctlPlugin, json_object *p // plugin initialises at 1st load further init actions should be place into onload section if (!pluginJ) return 0; - err = wrap_json_unpack(pluginJ, "{ss,s?s,s?s,s?o,s?o !}", + err = wrap_json_unpack(pluginJ, "{ss,s?s,s?s,s?o,s?o,s?o !}", "uid", &ctlPlugin->uid, "info", &ctlPlugin->info, "spath", &sPath, "libs", &fileJ, - "lua", &luaJ + "lua", &luaJ, + "params", &ctlPlugin->paramsJ ); if (err) { - AFB_ApiError(apiHandle, "CTL-PLUGIN-LOADONE Plugin missing uid|[info]|libs|[spath]|[lua] in:\n-- %s", json_object_get_string(pluginJ)); + AFB_ApiError(apiHandle, "CTL-PLUGIN-LOADONE Plugin missing uid|[info]|libs|[spath]|[lua]|[params] in:\n-- %s", json_object_get_string(pluginJ)); return 1; } diff --git a/ctl-lib/ctl-plugin.h b/ctl-lib/ctl-plugin.h index 8d9b083..d931906 100644 --- a/ctl-lib/ctl-plugin.h +++ b/ctl-lib/ctl-plugin.h @@ -62,6 +62,7 @@ typedef struct { AFB_ApiT api; void *dlHandle; void *context; + json_object *paramsJ; #ifdef CONTROL_SUPPORT_LUA CtlLua2cFuncT *ctlL2cFunc; #endif |