From 12097251ec058b1fa9d9202998c829b27ee5554f Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Sun, 17 Sep 2017 19:20:40 +0200 Subject: Get CPP controller plugin works Context passing variables not working well Change-Id: Ibc67bef353e5cc2e53ef9e5579d106baab92a604 Signed-off-by: Romain Forlot --- controller/ctl-plugin.c | 6 +++++- controller/ctl-plugin.h | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'controller') diff --git a/controller/ctl-plugin.c b/controller/ctl-plugin.c index b14d591..69f0f09 100644 --- a/controller/ctl-plugin.c +++ b/controller/ctl-plugin.c @@ -21,6 +21,9 @@ #define _GNU_SOURCE #include #include +#include +#include +#include #ifdef CONTROL_SUPPORT_LUA #include "ctl-lua.h" @@ -202,7 +205,8 @@ STATIC int PluginLoadOne (CtlPluginT *ctlPlugin, json_object *pluginJ, void* han } } #endif - DispatchPluginInstallCbT ctlPluginOnload = dlsym(dlHandle, "CtlPluginOnload"); + +DispatchPluginInstallCbT ctlPluginOnload = dlsym(dlHandle, "CtlPluginOnload"); if (ctlPluginOnload) { ctlPlugin->context = (*ctlPluginOnload) (ctlPlugin, handle); } diff --git a/controller/ctl-plugin.h b/controller/ctl-plugin.h index 7c1d0f1..1c772c7 100644 --- a/controller/ctl-plugin.h +++ b/controller/ctl-plugin.h @@ -49,7 +49,7 @@ typedef struct { typedef struct { long magic; - char *label; + const char *label; void *handle; } CtlPluginMagicT; @@ -66,7 +66,7 @@ typedef void*(*DispatchPluginInstallCbT)(CtlPluginT *plugin, void* handle); #define MACRO_STR_VALUE(arg) #arg -#define CTLP_REGISTER(pluglabel) CtlPluginMagicT CtlPluginMagic={.magic=CTL_PLUGIN_MAGIC,.label=pluglabel}; struct afb_binding_data_v2; +#define CTLP_REGISTER(pluglabel) CtlPluginMagicT CtlPluginMagic={.magic=CTL_PLUGIN_MAGIC,.label=pluglabel,.handle=NULL}; struct afb_binding_data_v2; #define CTLP_ONLOAD(plugin, handle) void* CtlPluginOnload(CtlPluginT *plugin, void* handle) #define CTLP_CAPI(funcname, source, argsJ, queryJ, context) int funcname(CtlSourceT *source, json_object* argsJ, json_object* queryJ, void* context) -- cgit