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.h41
1 files changed, 34 insertions, 7 deletions
diff --git a/lib/4a-hal-utilities/4a-hal-utilities-data.h b/lib/4a-hal-utilities/4a-hal-utilities-data.h
index 6d5cd2d..c051373 100644
--- a/lib/4a-hal-utilities/4a-hal-utilities-data.h
+++ b/lib/4a-hal-utilities/4a-hal-utilities-data.h
@@ -34,17 +34,30 @@
// Enum for hal status
enum HalStatus {
- HAL_STATUS_UNAVAILABLE=0,
- HAL_STATUS_AVAILABLE=1,
- HAL_STATUS_READY=2
+ HAL_STATUS_UNAVAILABLE = 0,
+ HAL_STATUS_AVAILABLE = 1,
+ HAL_STATUS_READY = 2
};
// Enum for probed devices (dependencies) class
enum ProbedDeviceClasses {
- INVALID_PROBED_DEVICE=0,
- STATIC_PROBED_DEVICE=1,
- DYNAMIC_PROBED_DEVICE=2,
- MANDATORY_PROBED_DEVICE=3
+ INVALID_PROBED_DEVICE = 0,
+ STATIC_PROBED_DEVICE = 1,
+ DYNAMIC_PROBED_DEVICE = 2,
+ MANDATORY_PROBED_DEVICE = 3
+};
+
+// Enum for probed devices (dependencies) info format requested
+enum DependencyInfoJsonFormat {
+ DEPENDENCY_COMPACT_JSON = 0,
+ DEPENDENCY_FULL_JSON = 1
+};
+
+// Enum for probed devices (dependencies) info format requested
+enum DependencyStatus {
+ UNAVAILABLE_DEPENDENCY = 0,
+ AVAILABLE_DEPENDENCY = 1,
+ ALL_DEPENDENCY = 2
};
// Structure to store data for audio devices validated by dependencies
@@ -132,6 +145,7 @@ struct HalMgrData {
// Internal Hal - Probed devices structure handling functions
enum ProbedDeviceClasses HalUtlGetProbedDeviceClassFromString(char *probedDeviceString);
+char *HalUtlGetProbedDeviceClassString(enum ProbedDeviceClasses deviceClass);
struct InternalHalProbedDevice *HalUtlAddProbedDeviceToProbedDeviceList(struct InternalHalProbedDevice **probedDevicesList);
int HalUtlRemoveSelectedProbedDeviceFromList(struct InternalHalProbedDevice **probedDevicesList,
struct InternalHalProbedDevice *probedDeviceToRemove);
@@ -140,6 +154,19 @@ int HalUtlGetNumberOfProbedDevicesInList(struct InternalHalProbedDevice **probed
struct InternalHalProbedDevice *HalUtlSearchProbedDeviceDataById(struct InternalHalProbedDevice **probedDevicesList,
char *uid);
struct InternalHalDeviceData *HalUtlAllocateAndFillProbedDeviceDataUsingInfoGetResponse(json_object *responseJ);
+json_object *HalUtlGetJsonForSpecificDependencies(afb_api_t apiHandle,
+ struct InternalHalProbedDevice *requestedProbedDevice,
+ enum DependencyInfoJsonFormat jsonFormat);
+json_object *HalUtlGetJsonForSpecificDependenciesUsingUid(afb_api_t apiHandle,
+ struct InternalHalProbedDevice **probedDevicesList,
+ char *uid,
+ enum DependencyInfoJsonFormat jsonFormat);
+json_object *HalUtlGetJsonArrayForAvailableDependencies(afb_api_t apiHandle,
+ struct InternalHalProbedDevice **probedDevicesList,
+ enum DependencyInfoJsonFormat jsonFormat);
+json_object *HalUtlGetJsonArrayForAllDependencies(afb_api_t apiHandle,
+ struct InternalHalProbedDevice **probedDevicesList,
+ enum DependencyInfoJsonFormat jsonFormat);
// Internal Hal - Streams data handling functions
struct InternalHalMixerData *HalUtlAddMixerDataToMixerDataList(struct InternalHalMixerData **mixerDataList);