diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-06-15 16:37:10 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-07-10 17:12:13 +0200 |
commit | 49122aa735427cfcd08f40035bf0354ae8c477f3 (patch) | |
tree | 5020307c474062501ad0f8e5f210d9762e5c8cd6 /src | |
parent | bcf72eda48af082530aca93153ac0630ba646c20 (diff) |
Simplify the writing of configuration.
As resources and events are "static" hardcode them
in the binding.
Change-Id: I9dd600fa6cfe0d2f5f55cf605ce75d8c5446d78d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src')
-rw-r--r-- | src/test-binding.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/test-binding.c b/src/test-binding.c index d1c6c1f..33a8807 100644 --- a/src/test-binding.c +++ b/src/test-binding.c @@ -100,21 +100,25 @@ static int CtrlLoadOneApi(void *cbdata, AFB_ApiT apiHandle) { int afbBindingVdyn(afb_dynapi *apiHandle) { int status, err = 0; + const char *dirList = NULL, *configPath = NULL; + json_object *resourcesJ = NULL, *eventsJ = NULL; + CtlConfigT *ctrlConfig = NULL; AFB_default = apiHandle; + AFB_ApiNotice(apiHandle, "Controller in afbBindingVdyn"); - const char *dirList = getenv("CONTROL_CONFIG_PATH"); + dirList = getenv("CONTROL_CONFIG_PATH"); if (!dirList) dirList = CONTROL_CONFIG_PATH; - const char *configPath = CtlConfigSearch(apiHandle, dirList, ""); + configPath = CtlConfigSearch(apiHandle, dirList, ""); if (!configPath) { AFB_ApiError(apiHandle, "CtlPreInit: No %s* config found in %s ", GetBinderName(), dirList); return ERROR; } // load config file and create API - CtlConfigT *ctrlConfig = CtlLoadMetaData(apiHandle, configPath); + ctrlConfig = CtlLoadMetaData(apiHandle, configPath); if (!ctrlConfig) { AFB_ApiError(apiHandle, "CtrlBindingDyn No valid control config file in:\n-- %s", @@ -132,6 +136,22 @@ int afbBindingVdyn(afb_dynapi *apiHandle) { AFB_ApiNotice(apiHandle, "Controller API='%s' info='%s'", ctrlConfig->api, ctrlConfig->info); + err = wrap_json_pack(&resourcesJ, "{s[{ss, ss, ss, s[s]}]}", "resources", + "uid", "AFT", + "info", "LUA Binder test framework", + "spath", "var/", + "libs", "aft.lua" ); + err += wrap_json_pack(&eventsJ, "{s[{ss, ss}]}", "events", + "uid", "monitor/trace", + "action", "lua://AFT#_evt_catcher_" ); + + if(err) { + AFB_ApiError(apiHandle, "Error at Controller configuration editing."); + return err; + } + wrap_json_object_add(ctrlConfig->configJ, resourcesJ); + wrap_json_object_add(ctrlConfig->configJ, eventsJ); + // create one API per config file (Pre-V3 return code ToBeChanged) status = afb_dynapi_new_api(apiHandle, ctrlConfig->api, ctrlConfig->info, 1, CtrlLoadOneApi, ctrlConfig); |