diff options
Diffstat (limited to 'controller/ctl-config.h')
-rw-r--r-- | controller/ctl-config.h | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/controller/ctl-config.h b/controller/ctl-config.h deleted file mode 100644 index 25a066c..0000000 --- a/controller/ctl-config.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2016 "IoT.bzh" - * Author Fulup Ar Foll <fulup@iot.bzh> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, something express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Reference: - * Json load using json_unpack https://jansson.readthedocs.io/en/2.9/apiref.html#parsing-and-validating-values - */ - -#ifndef _CTL_CONFIG_INCLUDE_ -#define _CTL_CONFIG_INCLUDE_ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif - -#define AFB_BINDING_VERSION 2 -#include <afb/afb-binding.h> -#include <json-c/json.h> -#include <filescan-utils.h> -#include <wrap-json.h> - -#include "ctl-plugin.h" - -#ifndef CONTROL_MAXPATH_LEN - #define CONTROL_MAXPATH_LEN 255 -#endif - -#ifndef CONTROL_CONFIG_PRE - #define CONTROL_CONFIG_PRE "init" -#endif - -#ifndef CTL_PLUGIN_EXT - #define CTL_PLUGIN_EXT ".ctlso" -#endif - -typedef enum { - CTL_TYPE_NONE=0, - CTL_TYPE_API, - CTL_TYPE_CB, - CTL_TYPE_LUA, -} CtlActionTypeT; - -typedef struct { - CtlActionTypeT type; - const char* api; - const char* call; - json_object *argsJ; - int (*actionCB)(CtlSourceT *source, json_object *argsJ, json_object *queryJ); - CtlSourceT source; -} CtlActionT; - -typedef struct { - const char* label; - const char *info; - CtlActionT *actions; -} DispatchHandleT; - -typedef struct ConfigSectionS { - const char *key; - const char *label; - const char *info; - int (*loadCB)(struct ConfigSectionS *section, json_object *sectionJ); - void *handle; -} CtlSectionT; - -typedef struct { - const char* api; - const char* label; - const char *info; - const char *version; - json_object *requireJ; - json_object *filesJ; - CtlSectionT *sections; -} CtlConfigT; - -#ifdef CONTROL_SUPPORT_LUA - #include "ctl-lua.h" -#else - typedef struct lua_State lua_State; - typedef void *Lua2cFunctionT; - typedef void* Lua2cWrapperT; -#endif - -// ctl-action.c -CtlActionT *ActionLoad(json_object *actionsJ); -int ActionExecOne(CtlActionT* action, json_object *queryJ); -int ActionLoadOne(CtlActionT *action, json_object *actionJ); - -// ctl-config.c -CtlConfigT *CtlConfigLoad(const char* filepath, CtlSectionT *sections); -int CtlConfigExec(CtlConfigT *ctlConfig); - -// ctl-onload.c -int OnloadConfig(CtlSectionT *section, json_object *actionsJ); - -// ctl-plugin.c -int PluginConfig(CtlSectionT *section, json_object *pluginsJ); -int PluginGetCB (CtlActionT *action , json_object *callbackJ); - -#ifdef __cplusplus -} -#endif - -#endif /* _CTL_CONFIG_INCLUDE_ */ |