summaryrefslogtreecommitdiffstats
path: root/lib/4a-hal-utilities/4a-hal-utilities-data.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/4a-hal-utilities/4a-hal-utilities-data.h')
-rw-r--r--lib/4a-hal-utilities/4a-hal-utilities-data.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/4a-hal-utilities/4a-hal-utilities-data.h b/lib/4a-hal-utilities/4a-hal-utilities-data.h
index a2b28dd..69ba747 100644
--- a/lib/4a-hal-utilities/4a-hal-utilities-data.h
+++ b/lib/4a-hal-utilities/4a-hal-utilities-data.h
@@ -56,6 +56,16 @@ enum ProbedDeviceClasses {
MANDATORY_PROBED_DEVICE = 3
};
+// Enum for dependencies mixer link status
+enum DependencyMixerStatus {
+ DEPENDENCY_NO_MIXER_LINK = 0,
+ DEPENDENCY_MIXER_LINK_USELESS = 1,
+ DEPENDENCY_MIXER_ATTACH_SUCCEED = 2,
+ DEPENDENCY_MIXER_ATTACH_FAILED = 3,
+ DEPENDENCY_MIXER_DETACH_SUCCEED = 4,
+ DEPENDENCY_MIXER_DETACH_FAILED = 5
+};
+
// Enum for probed devices (dependencies) info format requested
enum DependencyInfoJsonFormat {
DEPENDENCY_COMPACT_JSON = 0,
@@ -91,6 +101,7 @@ struct InternalHalProbedDevice {
json_object *requestedDeviceJ;
struct InternalHalDeviceData *deviceData;
+ enum DependencyMixerStatus mixerLinkStatus;
struct cds_list_head node;
};
@@ -153,11 +164,13 @@ struct HalMgrData {
// Internal Hal - Probed devices structure handling functions
enum ProbedDeviceClasses HalUtlGetProbedDeviceClassFromString(char *probedDeviceString);
char *HalUtlGetProbedDeviceClassString(enum ProbedDeviceClasses deviceClass);
+void HalUtlFreeSelectedProbedDeviceDataAllocation(struct InternalHalDeviceData *probedDeviceDataToFree);
struct InternalHalProbedDevice *HalUtlAddProbedDeviceToProbedDeviceList(struct cds_list_head *probedDevicesListHead);
int HalUtlRemoveSelectedProbedDeviceFromList(struct cds_list_head *probedDevicesListHead,
struct InternalHalProbedDevice *probedDeviceToRemove);
int HalUtlRemoveAllProbedDevicesFromList(struct cds_list_head *probedDevicesListHead);
int HalUtlGetNumberOfProbedDevicesInList(struct cds_list_head *probedDevicesListHead);
+int HalUtlGetNumberOfDynamicProbedDevicesInList(struct cds_list_head *probedDevicesListHead);
struct InternalHalProbedDevice *HalUtlSearchProbedDeviceDataById(struct cds_list_head *probedDevicesListHead,
char *uid);
int HalUtlGetProbedDeviceCardNbUsingUid(struct cds_list_head *probedDevicesListHead, char *uid);
@@ -175,6 +188,10 @@ json_object *HalUtlGetJsonArrayForAvailableDependencies(afb_api_t apiHandle,
json_object *HalUtlGetJsonArrayForAllDependencies(afb_api_t apiHandle,
struct cds_list_head *probedDevicesListHead,
enum DependencyInfoJsonFormat jsonFormat);
+json_object *HalUtlGetJsonArrayForAllDependenciesInfoWithHandledDependency(afb_api_t apiHandle,
+ struct cds_list_head *probedDevicesListHead,
+ enum DependencyInfoJsonFormat jsonFormat,
+ char *handledProbedDeviceUid);
// Internal Hal - Streams data handling functions
struct InternalHalMixerData *HalUtlAddMixerDataToMixerDataList(struct cds_list_head *mixerDataListHead);