aboutsummaryrefslogtreecommitdiffstats
path: root/src/4a-internals-hal/4a-internals-hal-cb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/4a-internals-hal/4a-internals-hal-cb.c')
-rw-r--r--src/4a-internals-hal/4a-internals-hal-cb.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/4a-internals-hal/4a-internals-hal-cb.c b/src/4a-internals-hal/4a-internals-hal-cb.c
index f0becf5..ff916ff 100644
--- a/src/4a-internals-hal/4a-internals-hal-cb.c
+++ b/src/4a-internals-hal/4a-internals-hal-cb.c
@@ -955,6 +955,33 @@ int InternalHalHandleAllHalDependencies(afb_api_t apiHandle, struct InternalHalP
return 0;
}
+int InternalHalHalDependenciesConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *DependenciesJ)
+{
+ CtlConfigT *ctrlConfig;
+ struct HalData *currentHalData;
+
+ ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle);
+ if(! ctrlConfig)
+ return -1;
+
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData)
+ return -2;
+
+ if(DependenciesJ &&
+ InternalHalProcessAllHalDependencies(apiHandle, DependenciesJ, &currentHalData->internalHalData->probedDevicesList)) {
+ AFB_API_ERROR(apiHandle, "Failed to process 'haldependencies' section");
+ return -3;
+ }
+ else if(! DependenciesJ &&
+ (InternalHalHandleAllHalDependencies(apiHandle, &currentHalData->internalHalData->probedDevicesList)) < 0) {
+ AFB_API_ERROR(apiHandle, "Failed to handle 'haldependencies' section");
+ return -4;
+ }
+
+ return 0;
+}
+
/*******************************************************************************
* Internals HAL verbs functions *
******************************************************************************/