From 492c6dc1ecba7b8dfd3353a52352645d9f6984e8 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Mon, 7 May 2018 17:05:00 +0200 Subject: Loads l2c functions per plugin. L2C functions are prefixed with either the chosen prefix or plugin uid by default. Change-Id: Id296ec629c803ab06cd05f5278fed3c48cbcf10e Signed-off-by: Romain Forlot --- ctl-lib/ctl-plugin.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'ctl-lib/ctl-plugin.h') diff --git a/ctl-lib/ctl-plugin.h b/ctl-lib/ctl-plugin.h index 5d505ac..85d9788 100644 --- a/ctl-lib/ctl-plugin.h +++ b/ctl-lib/ctl-plugin.h @@ -30,9 +30,6 @@ extern "C" { #include -#define CONTROL_PLUGIN_EXT ".ctlso" -#define CONTROL_SCRIPT_EXT ".lua" - // Waiting for a clean AppFW-V3 API #ifdef USE_API_DYN #define AFB_BINDING_VERSION dyn @@ -165,6 +162,15 @@ extern "C" { #define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_ ## x #endif +#ifdef CONTROL_SUPPORT_LUA + typedef struct luaL_Reg luaL_Reg; + + typedef struct CtlLua2cFuncT { + luaL_Reg *l2cFunc; + const char *prefix; + int l2cCount; +} CtlLua2cFuncT; +#endif typedef struct { const char *uid; @@ -177,6 +183,9 @@ typedef struct { AFB_ApiT api; void *dlHandle; void *context; +#ifdef CONTROL_SUPPORT_LUA + CtlLua2cFuncT *ctlL2cFunc; +#endif } CtlPluginT; typedef enum { @@ -227,8 +236,9 @@ typedef struct { } exec; } CtlActionT; +extern CtlPluginT *ctlPlugins; -typedef void*(*DispatchPluginInstallCbT)(CtlPluginT *plugin, void* handle); +typedef int(*DispatchPluginInstallCbT)(CtlPluginT *plugin, void* handle); #define MACRO_STR_VALUE(arg) #arg #define CTLP_CAPI_REGISTER(pluglabel) CtlPluginMagicT CtlPluginMagic={.uid=pluglabel,.magic=CTL_PLUGIN_MAGIC}; struct afb_binding_data_v2; -- cgit 1.2.3-korg