summaryrefslogtreecommitdiffstats
path: root/4a-hal/4a-hal-utilities/4a-hal-utilities-data.h
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2018-05-29 14:00:43 +0200
committerJonathan Aillet <jonathan.aillet@iot.bzh>2018-10-08 15:51:00 +0200
commitfe2759e55720c0927726cb4235e3e203b245998f (patch)
treee0a2760b7033e0fe9c280ba13a9b54317ee87da3 /4a-hal/4a-hal-utilities/4a-hal-utilities-data.h
parentc82bd2a432a8c56015e0ab377a467ff5c4c85b66 (diff)
Use a structure to store ctl hal specific data
To avoid multiple variables at NULL in specific hal data, use a structure to store all controller hal specific data. These data won't be use if the hal is external (registered). Example of controller hal specific data : - Mixer api name - Mixer initialization json - Mixer streams names and card id ... Change-Id: Ifc4823d5ea21ed408b4ecc25b870cad74d3b2173 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to '4a-hal/4a-hal-utilities/4a-hal-utilities-data.h')
-rw-r--r--4a-hal/4a-hal-utilities/4a-hal-utilities-data.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/4a-hal/4a-hal-utilities/4a-hal-utilities-data.h b/4a-hal/4a-hal-utilities/4a-hal-utilities-data.h
index ab4c8b3..9514571 100644
--- a/4a-hal/4a-hal-utilities/4a-hal-utilities-data.h
+++ b/4a-hal/4a-hal-utilities/4a-hal-utilities-data.h
@@ -31,22 +31,41 @@ enum HalStatus {
HAL_STATUS_AVAILABLE=1,
};
+struct CtlHalStreamData {
+ char *name;
+ char *cardId;
+};
+
+struct CtlHalStreamsDataT {
+ struct CtlHalStreamData *data;
+ unsigned int count;
+};
+
+struct CtlHalSpecificData {
+ char *mixerApiName;
+ json_object *halMixerJ;
+
+ struct CtlHalStreamsDataT ctlHalStreamsData;
+ // TODO JAI : add structure to hold halmap section data
+
+ afb_dynapi *apiHandle;
+ CtlConfigT *ctrlConfig;
+};
+
// Structure to store specific hal (controller or external) data
struct SpecificHalData {
char *apiName;
enum HalStatus status;
char *sndCard;
char *info;
- uint8_t internal;
+ unsigned int internal;
char *author;
char *version;
char *date;
-
// Can be beefed up if needed
- afb_dynapi *apiHandle; // Can be NULL if external api
- CtlConfigT *ctrlConfig; // Can be NULL if external api
+ struct CtlHalSpecificData *ctlHalSpecificData; // Can be NULL if external api
struct SpecificHalData *next;
};