summaryrefslogtreecommitdiffstats
path: root/src/test-binding.c
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-06-15 16:37:10 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2018-07-10 17:12:13 +0200
commit49122aa735427cfcd08f40035bf0354ae8c477f3 (patch)
tree5020307c474062501ad0f8e5f210d9762e5c8cd6 /src/test-binding.c
parentbcf72eda48af082530aca93153ac0630ba646c20 (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/test-binding.c')
-rw-r--r--src/test-binding.c26
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);