diff options
m--------- | afb-helpers | 0 | ||||
m--------- | app-controller-submodule | 0 | ||||
m--------- | conf.d/app-templates | 0 | ||||
-rw-r--r-- | src/aft.c | 23 |
4 files changed, 17 insertions, 6 deletions
diff --git a/afb-helpers b/afb-helpers -Subproject 52f04783535948f2782780992710276f3419e56 +Subproject 4f99d163cb8a993f176f305566dbd8a93c79144 diff --git a/app-controller-submodule b/app-controller-submodule -Subproject 440be0984f16562fdf321c770d65787ecea0e36 +Subproject 88892db78f2f5b047923af5b36169052c96bc3c diff --git a/conf.d/app-templates b/conf.d/app-templates -Subproject 332f377e84a673cdcfe52ce71c932f39c4b4802 +Subproject 6fb38467ca1609a1aa1be865b38648f37861af7 @@ -23,6 +23,8 @@ #include "aft.h" #include "mapis.h" + +#define CONTROL_PREFIX "aft" // default api to print log when apihandle not avaliable afb_dynapi *AFB_default; @@ -109,25 +111,34 @@ static int CtrlLoadOneApi(void *cbdata, AFB_ApiT apiHandle) { int afbBindingEntry(afb_dynapi *apiHandle) { int status, err = 0; - const char *dirList = NULL, *configPath = NULL; + size_t len = 0; + char *dirList; + const char *prefix = CONTROL_PREFIX, *envDirList = NULL, *configPath = NULL; json_object *resourcesJ = NULL, *eventsJ = NULL; CtlConfigT *ctrlConfig = NULL; AFB_default = apiHandle; - AFB_ApiNotice(apiHandle, "Controller in afbBindingVdyn"); + AFB_ApiNotice(apiHandle, "Controller in afbBindingEntry"); + + envDirList = getEnvDirList(prefix, "CONFIG_PATH"); - dirList = getenv("CONTROL_CONFIG_PATH"); - if (!dirList) + if(envDirList) { + len = strlen(CONTROL_CONFIG_PATH) + strlen(envDirList); + dirList = malloc(len + 1); + snprintf(dirList, len + 1, "%s:%s", envDirList, CONTROL_CONFIG_PATH); + } + else { dirList = CONTROL_CONFIG_PATH; + } - configPath = CtlConfigSearch(apiHandle, dirList, "aft"); + configPath = CtlConfigSearch(apiHandle, dirList, prefix); if (!configPath) { AFB_ApiError(apiHandle, "CtlPreInit: No %s* config found in %s ", GetBinderName(), dirList); return ERROR; } // load config file and create API - ctrlConfig = CtlLoadMetaData(apiHandle, configPath); + ctrlConfig = CtlLoadMetaDataUsingPrefix(apiHandle, configPath, prefix); if (!ctrlConfig) { AFB_ApiError(apiHandle, "CtrlBindingDyn No valid control config file in:\n-- %s", |