diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-02 14:18:19 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-12-12 17:44:41 +0100 |
commit | 58651198696bca1216fb18eceaab9bd048f6f936 (patch) | |
tree | 4e034f48930ac1dd4ce2b5000c7782203246c960 /ctl-lib | |
parent | c76dc6c88a24764b27affaa9eb92b144b868972d (diff) |
Add setter/getter for user free defined pointer
Change-Id: I617f758890c3508f55d568b0e5c57c8c5d4d5dd1
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'ctl-lib')
-rw-r--r-- | ctl-lib/ctl-config.c | 7 | ||||
-rw-r--r-- | ctl-lib/ctl-config.h | 5 | ||||
-rw-r--r-- | ctl-lib/ctl-plugin.c | 8 |
3 files changed, 18 insertions, 2 deletions
diff --git a/ctl-lib/ctl-config.c b/ctl-lib/ctl-config.c index e7bdc14..accc608 100644 --- a/ctl-lib/ctl-config.c +++ b/ctl-lib/ctl-config.c @@ -26,8 +26,13 @@ #include "filescan-utils.h" #include "ctl-config.h" +extern void* getExternalData(CtlConfigT *ctlConfig) { + return ctlConfig->external; +} -// Load control config file +extern void setExternalData(CtlConfigT *ctlConfig, void *data) { + ctlConfig->external = data; +} int CtlConfigMagicNew() { static int InitRandomDone=0; diff --git a/ctl-lib/ctl-config.h b/ctl-lib/ctl-config.h index 4216aa8..4bf82f9 100644 --- a/ctl-lib/ctl-config.h +++ b/ctl-lib/ctl-config.h @@ -101,6 +101,8 @@ extern int ActionLabelToIndex(CtlActionT* actions, const char* actionLabel); // ctl-config.c extern int CtlConfigMagicNew(); +extern void* getExternalData(CtlConfigT *ctlConfig); +extern void setExternalData(CtlConfigT *ctlConfig, void *data); extern json_object* CtlConfigScan(const char *dirList, const char *prefix) ; extern char* ConfigSearch(AFB_ApiT apiHandle, json_object *responseJ); extern char* CtlConfigSearch(AFB_ApiT apiHandle, const char *dirList, const char *prefix) ; @@ -125,7 +127,8 @@ extern int OnloadConfig(AFB_ApiT apiHandle, CtlSectionT *section, json_object *a // ctl-plugin.c extern int PluginConfig(AFB_ApiT UNUSED_ARG(apiHandle), CtlSectionT *section, json_object *pluginsJ); extern int PluginGetCB (AFB_ApiT apiHandle, CtlActionT *action , json_object *callbackJ); - +extern void* getPluginContext(CtlPluginT *plugin); +extern void setPluginContext(CtlPluginT *plugin, void *context); #ifdef __cplusplus } #endif diff --git a/ctl-lib/ctl-plugin.c b/ctl-lib/ctl-plugin.c index 5d3ae1f..a632450 100644 --- a/ctl-lib/ctl-plugin.c +++ b/ctl-lib/ctl-plugin.c @@ -24,6 +24,14 @@ #include "ctl-config.h" +void* getPluginContext(CtlPluginT *plugin) { + return plugin->context; +} + +void setPluginContext(CtlPluginT *plugin, void *context) { + plugin->context = context; +} + int PluginGetCB (AFB_ApiT apiHandle, CtlActionT *action , json_object *callbackJ) { const char *plugin=NULL, *function=NULL; json_object *argsJ; |