diff options
author | 2019-06-14 18:14:13 +0200 | |
---|---|---|
committer | 2019-06-18 11:34:58 +0200 | |
commit | 24046bfdb0568077a074b503d58a343a06f4234a (patch) | |
tree | 54ecdea5d0768d3d354a2ddbda1e309d574bbd14 /lib/4a-hal-utilities/4a-hal-utilities-data.h | |
parent | 66f27bce6355cc7df978a9d7a6bc725542057a01 (diff) |
Refactoring 'streams data' linked list
Refactoring 'streams data' linked list code using liburcu.
BUG-AGL: SPEC-2329
Change-Id: Idf9367c015d73574d96d83c82a9e8f5b7588a45d
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to 'lib/4a-hal-utilities/4a-hal-utilities-data.h')
-rw-r--r-- | lib/4a-hal-utilities/4a-hal-utilities-data.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/4a-hal-utilities/4a-hal-utilities-data.h b/lib/4a-hal-utilities/4a-hal-utilities-data.h index 8ac4c25..8bddbbb 100644 --- a/lib/4a-hal-utilities/4a-hal-utilities-data.h +++ b/lib/4a-hal-utilities/4a-hal-utilities-data.h @@ -36,7 +36,8 @@ // Enum for linked list type enum LinkedListType { - LINKED_LIST_FOR_DEPENDENCIES_DATA = 0 + LINKED_LIST_FOR_DEPENDENCIES_DATA = 0, + LINKED_LIST_FOR_MIXER_DATA = 1 }; // Enum for hal status @@ -100,7 +101,7 @@ struct InternalHalMixerData { char *streamCardId; afb_event_t event; - struct InternalHalMixerData *next; + struct cds_list_head node; }; // Structure to store specific internal hal data @@ -111,7 +112,7 @@ struct InternalHalData { struct cds_list_head probedDevicesListHead; - struct InternalHalMixerData *streamsData; + struct cds_list_head streamsDataListHead; afb_event_t streamUpdates; struct InternalHalAlsaMapT *alsaMapT; @@ -176,16 +177,17 @@ json_object *HalUtlGetJsonArrayForAllDependencies(afb_api_t apiHandle, enum DependencyInfoJsonFormat jsonFormat); // Internal Hal - Streams data handling functions -struct InternalHalMixerData *HalUtlAddMixerDataToMixerDataList(struct InternalHalMixerData **mixerDataList); -int HalUtlRemoveSelectedMixerData(struct InternalHalMixerData **mixerDataList, +struct InternalHalMixerData *HalUtlAddMixerDataToMixerDataList(struct cds_list_head *mixerDataListHead); +int HalUtlRemoveSelectedMixerData(struct cds_list_head *mixerDataListHead, struct InternalHalMixerData *mixerDataToRemove); -int HalUtlRemoveAllMixerData(struct InternalHalMixerData **mixerDataList); -int HalUtlGetNumberOfMixerDataInList(struct InternalHalMixerData **mixerDataList); -struct InternalHalMixerData *HalUtlSearchMixerDataByProperties(struct InternalHalMixerData **mixerDataList, - char *verb, char *verbToCall, +int HalUtlRemoveAllMixerData(struct cds_list_head *mixerDataListHead); +int HalUtlGetNumberOfMixerDataInList(struct cds_list_head *mixerDataListHead); +struct InternalHalMixerData *HalUtlSearchMixerDataByProperties(struct cds_list_head *mixerDataListHead, + char *verb, + char *verbToCall, char *streamCardId); json_object *HalUtlGetJsonArrayForSpecificMixerData(afb_api_t apiHandle, struct InternalHalMixerData *mixerData); -json_object *HalUtlGetJsonArrayForAllMixersData(afb_api_t apiHandle, struct InternalHalMixerData **mixerDataList); +json_object *HalUtlGetJsonArrayForAllMixersData(afb_api_t apiHandle, struct cds_list_head *mixerDataListHead); // Hal data handling functions struct HalData *HalUtlAddHalToHalList(struct HalData **halDataList); |