aboutsummaryrefslogtreecommitdiffstats
path: root/src/4a-internals-hal/4a-internals-hal-cb.h
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2019-10-10 10:36:55 +0200
committerJonathan Aillet <jonathan.aillet@iot.bzh>2019-10-17 11:29:21 +0200
commitf3d1f0a9f78f0e4a633cfafca649fd3289f981ae (patch)
treeb8e6961e58b84ce17cd621f023476bf092746b20 /src/4a-internals-hal/4a-internals-hal-cb.h
parent8ae8dd09cc0059282a99156180cafab65e990580 (diff)
Add functions to unmanage handled halmap
Add functions to unmanage handled halmap. Using these functions, it is possible to unmanage : - a specific halmap. - dependency related halmaps (e.g. at dynamic dependency disconnection). - all handled halmaps (a.g. at binder exit). BUG-AGL: SPEC-2893 Change-Id: I24c40ade8a392b30ad962e2396fdb5f8d7e71b33 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to 'src/4a-internals-hal/4a-internals-hal-cb.h')
-rw-r--r--src/4a-internals-hal/4a-internals-hal-cb.h26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/4a-internals-hal/4a-internals-hal-cb.h b/src/4a-internals-hal/4a-internals-hal-cb.h
index 48e3c35..2224046 100644
--- a/src/4a-internals-hal/4a-internals-hal-cb.h
+++ b/src/4a-internals-hal/4a-internals-hal-cb.h
@@ -24,12 +24,18 @@
#include <ctl-config.h>
-// Enum for the type of dependencies handling
-enum DependenciesHandlingType {
+// Enum for to define which type of dependency selection we want to use
+enum DependencySelectionType {
ALL_DEPENDENCIES = 0,
UID_CORRESPONDING_DEPENDENCIES = 1
};
+// Enum to define if to to handle or to unmanage a selected halmap
+enum HalMapProcessingType {
+ HANDLE_SELECTED_HALMAP = 0,
+ UNMANAGE_SELECTED_HALMAP = 1
+};
+
// Enum for the type of subscription
enum SubscribeUnsubscribeType {
SUBSCRIPTION = 0,
@@ -43,7 +49,7 @@ void InternalHalDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json
int InternalHalHandleHalDependencies(afb_api_t apiHandle,
struct HalData *currentHalData,
struct cds_list_head *halDevicesToProbeListHead,
- enum DependenciesHandlingType dependenciesHandlingType,
+ enum DependencySelectionType dependenciesSelectionType,
char *uid);
int InternalHalHalDependenciesConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *DependenciesJ);
@@ -51,6 +57,20 @@ int InternalHalHalDependenciesConfig(afb_api_t apiHandle, CtlSectionT *section,
int InternalHalHalMixerConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *MixerJ);
// Internals HAL - 'halmap' section parsing/handling functions
+int InternalHalHandleDependencyRelatedHalmap(afb_api_t apiHandle,
+ struct cds_list_head *halMapListHead,
+ struct cds_list_head *halDevicesToProbeListHead,
+ char *targetedDependency);
+int InternalHalUnmanageDependencyRelatedHalmap(afb_api_t apiHandle,
+ struct cds_list_head *halMapListHead,
+ struct cds_list_head *halDevicesToProbeListHead,
+ char *targetedDependency);
+int InternalHalHandleAllHalMap(afb_api_t apiHandle,
+ struct cds_list_head *halMapListHead,
+ struct cds_list_head *halDevicesToProbeListHead);
+int InternalHalUnmanageAllHalMap(afb_api_t apiHandle,
+ struct cds_list_head *halMapListHead,
+ struct cds_list_head *halDevicesToProbeListHead);
int InternalHalHalMapConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *halMapJ);
// Internals HAL verbs functions