aboutsummaryrefslogtreecommitdiffstats
path: root/4a-hal
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2019-04-18 12:40:25 +0200
committerJonathan Aillet <jonathan.aillet@iot.bzh>2019-05-24 12:05:52 +0200
commit68138a3ec7a78ad7304d291ff92d8e5292847c4e (patch)
tree9157134d50a749c838afdf93a49c4ce17a018347 /4a-hal
parent196e723e79a1f5eae41cf4a8b1450df0679a4af8 (diff)
Clarify internals hal functions and files names
The purpose of this commit is to have of a more standard way to name files and functions used to generate/handle hal api (generated from hal json configuration file). It occurred to me that 'hal-controller' was not a good name because it is harder for people who don't know about the app-controller to understanded what is the purpose of these files/functions. It was renamed to 'internal-hal' because it's about hal that are all handle/load by hal-manager in opposition of external-hal that are independant binding/binder that can register themselves to hal-manager. BUG-AGL: SPEC-2329 Change-Id: I11b7efe64ec474b004a2a15ed8969b9db95d428f Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to '4a-hal')
-rw-r--r--4a-hal/4a-hal-manager/4a-hal-manager-cb.c35
-rw-r--r--4a-hal/4a-hal-manager/4a-hal-manager.c41
-rw-r--r--4a-hal/4a-hal-manager/4a-hal-manager.h4
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-alsacore-link.c (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-alsacore-link.c)92
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-alsacore-link.h (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-alsacore-link.h)24
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-api-loader.c (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c)106
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-api-loader.h (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.h)10
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-cb.c (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c)249
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-cb.h (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h)22
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-mixer-link.c (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-link.c)107
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-mixer-link.h (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-link.h)22
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-value-handler.c (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.c)79
-rw-r--r--4a-hal/4a-internals-hal/4a-internals-hal-value-handler.h (renamed from 4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h)32
-rw-r--r--4a-hal/CMakeLists.txt14
14 files changed, 440 insertions, 397 deletions
diff --git a/4a-hal/4a-hal-manager/4a-hal-manager-cb.c b/4a-hal/4a-hal-manager/4a-hal-manager-cb.c
index 77ae52f..32fbb25 100644
--- a/4a-hal/4a-hal-manager/4a-hal-manager-cb.c
+++ b/4a-hal/4a-hal-manager/4a-hal-manager-cb.c
@@ -62,8 +62,8 @@ void HalMgrLoaded(afb_req_t request)
char cardIdString[32];
afb_api_t apiHandle;
- struct HalMgrData *HalMgrGlobalData;
- struct SpecificHalData *currentHalData;
+ struct HalMgrData *halMgrData;
+ struct HalData *currentHalData;
json_object *requestJson, *requestAnswer, *apiObject;
@@ -72,12 +72,13 @@ void HalMgrLoaded(afb_req_t request)
return;
}
- if(! (HalMgrGlobalData = (struct HalMgrData *) afb_api_get_userdata(apiHandle))) {
+ halMgrData = (struct HalMgrData *) afb_api_get_userdata(apiHandle);
+ if(! halMgrData) {
afb_req_fail(request, "hal_manager_data", "Can't get hal manager data");
return;
}
- currentHalData = HalMgrGlobalData->halDataList;
+ currentHalData = halMgrData->halDataList;
if(! currentHalData) {
afb_req_success(request, NULL, "No Hal Api loaded");
@@ -136,8 +137,8 @@ void HalMgrLoad(afb_req_t request)
char *apiName, *sndCardPath, *info = NULL, *author = NULL, *version = NULL, *date = NULL;
afb_api_t apiHandle;
- struct HalMgrData *HalMgrGlobalData;
- struct SpecificHalData *addedHal;
+ struct HalMgrData *halMgrData;
+ struct HalData *addedHal;
json_object *requestJson, *apiReceivedMetadata;
@@ -146,7 +147,8 @@ void HalMgrLoad(afb_req_t request)
return;
}
- if(! (HalMgrGlobalData = (struct HalMgrData *) afb_api_get_userdata(apiHandle))) {
+ halMgrData = (struct HalMgrData *) afb_api_get_userdata(apiHandle);
+ if(! halMgrData) {
afb_req_fail(request, "hal_manager_data", "Can't get hal manager data");
return;
}
@@ -174,7 +176,7 @@ void HalMgrLoad(afb_req_t request)
return;
}
- addedHal = HalUtlAddHalApiToHalList(&HalMgrGlobalData->halDataList);
+ addedHal = HalUtlAddHalToHalList(&halMgrData->halDataList);
addedHal->internal = 0;
// TBD JAI : initialize external to unavailable once event from external hal will be handled
@@ -207,8 +209,8 @@ void HalMgrUnload(afb_req_t request)
char *apiName;
afb_api_t apiHandle;
- struct HalMgrData *HalMgrGlobalData;
- struct SpecificHalData *HalToRemove;
+ struct HalMgrData *halMgrData;
+ struct HalData *halToRemove;
json_object *requestJson;
@@ -217,7 +219,8 @@ void HalMgrUnload(afb_req_t request)
return;
}
- if(! (HalMgrGlobalData = (struct HalMgrData *) afb_api_get_userdata(apiHandle))) {
+ halMgrData = (struct HalMgrData *) afb_api_get_userdata(apiHandle);
+ if(! halMgrData) {
afb_req_fail(request, "hal_manager_data", "Can't get hal manager data");
return;
}
@@ -232,18 +235,18 @@ void HalMgrUnload(afb_req_t request)
return;
}
- HalToRemove = HalUtlSearchHalDataByApiName(&HalMgrGlobalData->halDataList, apiName);
- if(! HalToRemove) {
+ halToRemove = HalUtlSearchHalDataByApiName(&halMgrData->halDataList, apiName);
+ if(! halToRemove) {
afb_req_fail(request, "requested_api", "Can't find api to remove");
return;
}
- if(HalToRemove->internal) {
- afb_req_fail(request, "requested_api", "Can't remove an internal controller api");
+ if(halToRemove->internal) {
+ afb_req_fail(request, "requested_api", "Can't remove an internal hal");
return;
}
- if(HalUtlRemoveSelectedHalFromList(&HalMgrGlobalData->halDataList, HalToRemove)) {
+ if(HalUtlRemoveSelectedHalFromList(&halMgrData->halDataList, halToRemove)) {
afb_req_fail(request, "unregister_error", "Didn't succeed to remove specified api");
return;
}
diff --git a/4a-hal/4a-hal-manager/4a-hal-manager.c b/4a-hal/4a-hal-manager/4a-hal-manager.c
index 017199f..4d2fbf1 100644
--- a/4a-hal/4a-hal-manager/4a-hal-manager.c
+++ b/4a-hal/4a-hal-manager/4a-hal-manager.c
@@ -25,7 +25,7 @@
#include "4a-hal-utilities-data.h"
#include "4a-hal-utilities-verbs-loader.h"
-#include "../4a-hal-controllers/4a-hal-controllers-api-loader.h"
+#include "../4a-internals-hal/4a-internals-hal-api-loader.h"
#include "4a-hal-manager.h"
#include "4a-hal-manager-cb.h"
@@ -54,11 +54,11 @@ afb_verb_t HalManagerApiStaticVerbs[] =
};
/*******************************************************************************
- * HAL Manager get 'SpecificHalData' linked list *
+ * HAL Manager get 'HalData' linked list *
from HAL list function *
******************************************************************************/
-struct SpecificHalData **HalMngGetHalDataList(void)
+struct HalData **HalMngGetHalDataList(void)
{
return &localHalMgrGlobalData.halDataList;
}
@@ -69,8 +69,8 @@ struct SpecificHalData **HalMngGetHalDataList(void)
static int HalMgrInitApi(afb_api_t apiHandle)
{
- struct SpecificHalData *currentCtlHalData;
- struct HalMgrData *HalMgrGlobalData;
+ struct HalData *currentHalData;
+ struct HalMgrData *halMgrData;
if(! apiHandle)
return -1;
@@ -79,21 +79,22 @@ static int HalMgrInitApi(afb_api_t apiHandle)
AFB_default = apiHandle;
// Retrieve section config from api handle
- if(! (HalMgrGlobalData = (struct HalMgrData *) afb_api_get_userdata(apiHandle)))
+ halMgrData = (struct HalMgrData *) afb_api_get_userdata(apiHandle);
+ if(! halMgrData)
return -2;
- if(HalUtlInitializeHalMgrData(apiHandle, HalMgrGlobalData, HAL_MANAGER_API_NAME, HAL_MANAGER_API_INFO))
+ if(HalUtlInitializeHalMgrData(apiHandle, halMgrData, HAL_MANAGER_API_NAME, HAL_MANAGER_API_INFO))
return -3;
- currentCtlHalData = HalMgrGlobalData->halDataList;
+ currentHalData = halMgrData->halDataList;
- while(currentCtlHalData) {
- if(! currentCtlHalData->apiName)
+ while(currentHalData) {
+ if(! currentHalData->apiName)
return -4;
- else if(afb_api_require_api(apiHandle, currentCtlHalData->apiName, 1))
+ else if(afb_api_require_api(apiHandle, currentHalData->apiName, 1))
return -5;
- currentCtlHalData = currentCtlHalData->next;
+ currentHalData = currentHalData->next;
}
return 0;
@@ -101,15 +102,15 @@ static int HalMgrInitApi(afb_api_t apiHandle)
static int HalMgrLoadApi(void *cbdata, afb_api_t apiHandle)
{
- struct HalMgrData *HalMgrGlobalData;
+ struct HalMgrData *halMgrData;
if(! cbdata || ! apiHandle)
return -1;
- HalMgrGlobalData = (struct HalMgrData *) cbdata;
+ halMgrData = (struct HalMgrData *) cbdata;
// Save closure as api's data context
- afb_api_set_userdata(apiHandle, HalMgrGlobalData);
+ afb_api_set_userdata(apiHandle, halMgrData);
// Add static controls verbs
if(HalUtlLoadVerbs(apiHandle, HalManagerApiStaticVerbs)) {
@@ -128,13 +129,13 @@ static int HalMgrLoadApi(void *cbdata, afb_api_t apiHandle)
return 0;
}
-int HalMgrCreateApi(afb_api_t apiHandle, struct HalMgrData *HalMgrGlobalData)
+int HalMgrCreateApi(afb_api_t apiHandle, struct HalMgrData *halMgrData)
{
- if(! apiHandle || ! HalMgrGlobalData)
+ if(! apiHandle || ! halMgrData)
return -1;
// Create one API
- return afb_api_new_api(apiHandle, HAL_MANAGER_API_NAME, HAL_MANAGER_API_INFO, 1, HalMgrLoadApi, HalMgrGlobalData) ? 0 : -1;
+ return afb_api_new_api(apiHandle, HAL_MANAGER_API_NAME, HAL_MANAGER_API_INFO, 1, HalMgrLoadApi, halMgrData) ? 0 : -1;
}
/*******************************************************************************
@@ -158,8 +159,8 @@ int afbBindingEntry(afb_api_t apiHandle)
if(rc < 0)
status--;
- // Load Hal-Ctls using Api v3
- rc = HalCtlsCreateAllApi(apiHandle, &localHalMgrGlobalData);
+ // Load internals Hal using Api v3
+ rc = InternalHalCreateAllApi(apiHandle, &localHalMgrGlobalData);
if(rc < 0)
status -= rc;
diff --git a/4a-hal/4a-hal-manager/4a-hal-manager.h b/4a-hal/4a-hal-manager/4a-hal-manager.h
index b9eabba..4a53bdd 100644
--- a/4a-hal/4a-hal-manager/4a-hal-manager.h
+++ b/4a-hal/4a-hal-manager/4a-hal-manager.h
@@ -23,7 +23,7 @@
#define HAL_MANAGER_API_NAME "4a-hal-manager"
#define HAL_MANAGER_API_INFO "Manager for 4A HAL APIs"
-// HAL Manager get 'SpecificHalData' linked list
-struct SpecificHalData **HalMngGetHalDataList(void);
+// HAL Manager get 'HalData' linked list
+struct HalData **HalMngGetHalDataList(void);
#endif /* _HALMGR_BINDING_INCLUDE_ */ \ No newline at end of file
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-alsacore-link.c b/4a-hal/4a-internals-hal/4a-internals-hal-alsacore-link.c
index 214fca9..d092ddf 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-alsacore-link.c
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-alsacore-link.c
@@ -31,8 +31,8 @@
#include "4a-hal-utilities-alsa-data.h"
#include "4a-hal-utilities-data.h"
-#include "4a-hal-controllers-alsacore-link.h"
-#include "4a-hal-controllers-value-handler.h"
+#include "4a-internals-hal-alsacore-link.h"
+#include "4a-internals-hal-value-handler.h"
/*******************************************************************************
* Map to alsa control types *
@@ -52,7 +52,7 @@ static const char *const snd_ctl_elem_type_names[] = {
* Alsa control types map from string function *
******************************************************************************/
-snd_ctl_elem_type_t HalCtlsMapsAlsaTypeToEnum(const char *label)
+snd_ctl_elem_type_t InternalHalMapsAlsaTypeToEnum(const char *label)
{
int idx;
static int length = sizeof(snd_ctl_elem_type_names) / sizeof(char *);
@@ -66,10 +66,10 @@ snd_ctl_elem_type_t HalCtlsMapsAlsaTypeToEnum(const char *label)
}
/*******************************************************************************
- * HAL controllers alsacore calls funtions *
+ * Internals HAL - Alsacore calls funtions *
******************************************************************************/
-int HalCtlsGetCardIdByCardPath(afb_api_t apiHandle, char *devPath)
+int InternalHalGetCardIdByCardPath(afb_api_t apiHandle, char *devPath)
{
int errorToReturn, cardId;
@@ -135,7 +135,7 @@ int HalCtlsGetCardIdByCardPath(afb_api_t apiHandle, char *devPath)
return errorToReturn;
}
-int HalCtlsSubscribeToAlsaCardEvent(afb_api_t apiHandle, char *cardId)
+int InternalHalSubscribeToAlsaCardEvent(afb_api_t apiHandle, char *cardId)
{
int err = 0;
@@ -169,7 +169,7 @@ int HalCtlsSubscribeToAlsaCardEvent(afb_api_t apiHandle, char *cardId)
return err;
}
-int HalCtlsGetAlsaCtlInfo(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCtl *currentAlsaCtl, json_object **returnedDataJ)
+int InternalHalGetAlsaCtlInfo(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaCtl *currentAlsaCtl, json_object **returnedDataJ)
{
int err = 0;
@@ -247,13 +247,14 @@ int HalCtlsGetAlsaCtlInfo(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCt
return err;
}
-int HalCtlsUpdateAlsaCtlProperties(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCtl *currentAlsaCtl)
+int InternalHalUpdateAlsaCtlProperties(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaCtl *currentAlsaCtl)
{
int err = 0;
json_object *returnedDataJ;
- if((err = HalCtlsGetAlsaCtlInfo(apiHandle, cardId, currentAlsaCtl, &returnedDataJ))) {
+ err = InternalHalGetAlsaCtlInfo(apiHandle, cardId, currentAlsaCtl, &returnedDataJ);
+ if(err) {
return err;
}
// TBD JAI : get dblinear/dbminmax/... values
@@ -280,7 +281,7 @@ int HalCtlsUpdateAlsaCtlProperties(afb_api_t apiHandle, char *cardId, struct Ctl
return err;
}
-int HalCtlsGetAlsaCtlValues(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCtl *currentAlsaCtl, json_object **returnedValuesJ)
+int InternalHalGetAlsaCtlValues(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaCtl *currentAlsaCtl, json_object **returnedValuesJ)
{
int err = 0;
@@ -288,7 +289,8 @@ int HalCtlsGetAlsaCtlValues(afb_api_t apiHandle, char *cardId, struct CtlHalAlsa
*returnedValuesJ = NULL;
- if((err = HalCtlsGetAlsaCtlInfo(apiHandle, cardId, currentAlsaCtl, &returnedDataJ))) {
+ err = InternalHalGetAlsaCtlInfo(apiHandle, cardId, currentAlsaCtl, &returnedDataJ);
+ if(err) {
return err;
}
else if(wrap_json_unpack(returnedDataJ, "{s:o}", "val", &returnedValuesArrayJ)) {
@@ -319,7 +321,7 @@ int HalCtlsGetAlsaCtlValues(afb_api_t apiHandle, char *cardId, struct CtlHalAlsa
return err;
}
-int HalCtlsSetAlsaCtlValue(afb_api_t apiHandle, char *cardId, int ctlId, json_object *valuesJ)
+int InternalHalSetAlsaCtlValue(afb_api_t apiHandle, char *cardId, int ctlId, json_object *valuesJ)
{
int err = 0;
@@ -374,7 +376,7 @@ int HalCtlsSetAlsaCtlValue(afb_api_t apiHandle, char *cardId, int ctlId, json_ob
return err;
}
-int HalCtlsCreateAlsaCtl(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCtl *alsaCtlToCreate)
+int InternalHalCreateAlsaCtl(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaCtl *alsaCtlToCreate)
{
int err = 0;
@@ -456,10 +458,10 @@ int HalCtlsCreateAlsaCtl(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCtl
}
/*******************************************************************************
- * HAL controllers alsacore controls request callback *
+ * Internals HAL - Alsacore controls request callback *
******************************************************************************/
-void HalCtlsActionOnAlsaCtl(afb_req_t request)
+void InternalHalActionOnAlsaCtl(afb_req_t request)
{
char cardIdString[6];
@@ -467,8 +469,8 @@ void HalCtlsActionOnAlsaCtl(afb_req_t request)
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentCtlHalData;
- struct CtlHalAlsaMap *currentAlsaCtl;
+ struct HalData *currentHalData;
+ struct InternalHalAlsaMap *currentAlsaCtl;
json_object *requestJson,
*valueJ,
@@ -489,17 +491,19 @@ void HalCtlsActionOnAlsaCtl(afb_req_t request)
return;
}
- if(! (currentCtlHalData = (struct SpecificHalData *) getExternalData(ctrlConfig))) {
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData) {
afb_req_fail(request, "hal_controller_data", "Can't get current hal controller data");
return;
}
- if(currentCtlHalData->status == HAL_STATUS_UNAVAILABLE) {
+ if(currentHalData->status == HAL_STATUS_UNAVAILABLE) {
afb_req_fail(request, "hal_unavailable", "Seems that hal is not available");
return;
}
- if(! (currentAlsaCtl = (struct CtlHalAlsaMap *) afb_req_get_vcbdata(request))) {
+ currentAlsaCtl = (struct InternalHalAlsaMap *) afb_req_get_vcbdata(request);
+ if(! currentAlsaCtl) {
afb_req_fail(request, "alsa_control_data", "Can't get current alsa control data");
return;
}
@@ -509,17 +513,17 @@ void HalCtlsActionOnAlsaCtl(afb_req_t request)
return;
}
- snprintf(cardIdString, 6, "hw:%i", currentCtlHalData->sndCardId);
+ snprintf(cardIdString, 6, "hw:%i", currentHalData->sndCardId);
- if(HalCtlsGetAlsaCtlValues(apiHandle, cardIdString, &currentAlsaCtl->ctl, &previousControlValuesJ)) {
+ if(InternalHalGetAlsaCtlValues(apiHandle, cardIdString, &currentAlsaCtl->ctl, &previousControlValuesJ)) {
afb_req_fail_f(request, "previous_values", "Error when trying to get unchanged alsa control values");
return;
}
- else if(HalCtlsConvertJsonValues(apiHandle,
- &currentAlsaCtl->ctl.alsaCtlProperties,
- previousControlValuesJ,
- &normalizedPreviousControlValuesJ,
- CONVERSION_ALSACORE_TO_NORMALIZED)) {
+ else if(InternalHalConvertJsonValues(apiHandle,
+ &currentAlsaCtl->ctl.alsaCtlProperties,
+ previousControlValuesJ,
+ &normalizedPreviousControlValuesJ,
+ CONVERSION_ALSACORE_TO_NORMALIZED)) {
afb_req_fail_f(request,
"request_json",
"Error when trying to normalize unchanged alsa control values json '%s'",
@@ -554,11 +558,11 @@ void HalCtlsActionOnAlsaCtl(afb_req_t request)
}
if((! json_object_is_type(valueJ, json_type_string)) &&
- HalCtlsConvertJsonValues(apiHandle,
- &currentAlsaCtl->ctl.alsaCtlProperties,
- valueJ,
- &convertedJ,
- CONVERSION_NORMALIZED_TO_ALSACORE)) {
+ InternalHalConvertJsonValues(apiHandle,
+ &currentAlsaCtl->ctl.alsaCtlProperties,
+ valueJ,
+ &convertedJ,
+ CONVERSION_NORMALIZED_TO_ALSACORE)) {
afb_req_fail_f(request,
"request_json",
"Error when trying to convert request values '%s'",
@@ -568,11 +572,11 @@ void HalCtlsActionOnAlsaCtl(afb_req_t request)
return;
}
else if(json_object_is_type(valueJ, json_type_string) &&
- HalCtlsChangePreviousValuesUsingJson(apiHandle,
- &currentAlsaCtl->ctl.alsaCtlProperties,
- valueJ,
- previousControlValuesJ,
- &convertedJ)) {
+ InternalHalChangePreviousValuesUsingJson(apiHandle,
+ &currentAlsaCtl->ctl.alsaCtlProperties,
+ valueJ,
+ previousControlValuesJ,
+ &convertedJ)) {
afb_req_fail_f(request,
"previous_values",
"Error when trying to generate changed alsa control values (values : '%s', previous :'%s')",
@@ -585,7 +589,7 @@ void HalCtlsActionOnAlsaCtl(afb_req_t request)
json_object_put(previousControlValuesJ);
- if(HalCtlsSetAlsaCtlValue(apiHandle, cardIdString, currentAlsaCtl->ctl.numid, convertedJ)) {
+ if(InternalHalSetAlsaCtlValue(apiHandle, cardIdString, currentAlsaCtl->ctl.numid, convertedJ)) {
afb_req_fail_f(request,
"alsa_control_call_error",
"Error while trying to set value on alsa control %i, device '%s', converted message '%s'",
@@ -599,16 +603,16 @@ void HalCtlsActionOnAlsaCtl(afb_req_t request)
json_object_put(convertedJ);
- if(HalCtlsGetAlsaCtlValues(apiHandle, cardIdString, &currentAlsaCtl->ctl, &appliedControlValuesJ)) {
+ if(InternalHalGetAlsaCtlValues(apiHandle, cardIdString, &currentAlsaCtl->ctl, &appliedControlValuesJ)) {
afb_req_fail_f(request, "applied_values", "Error when trying to get applied alsa control values");
json_object_put(normalizedPreviousControlValuesJ);
return;
}
- else if(HalCtlsConvertJsonValues(apiHandle,
- &currentAlsaCtl->ctl.alsaCtlProperties,
- appliedControlValuesJ,
- &normalizedAppliedControlValuesJ,
- CONVERSION_ALSACORE_TO_NORMALIZED)) {
+ else if(InternalHalConvertJsonValues(apiHandle,
+ &currentAlsaCtl->ctl.alsaCtlProperties,
+ appliedControlValuesJ,
+ &normalizedAppliedControlValuesJ,
+ CONVERSION_ALSACORE_TO_NORMALIZED)) {
afb_req_fail_f(request,
"request_json",
"Error when trying to normalize applied values json '%s'",
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-alsacore-link.h b/4a-hal/4a-internals-hal/4a-internals-hal-alsacore-link.h
index 5081b49..065e017 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-alsacore-link.h
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-alsacore-link.h
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-#ifndef _HAL_CTLS_ALSACORE_LINK_INCLUDE_
-#define _HAL_CTLS_ALSACORE_LINK_INCLUDE_
+#ifndef _INTERNALS_HAL_ALSACORE_LINK_INCLUDE_
+#define _INTERNALS_HAL_ALSACORE_LINK_INCLUDE_
#include <stdio.h>
@@ -38,16 +38,16 @@
#define ALSACORE_ADDCTL_VERB "addcustomctl"
// Alsa control types map from string function
-snd_ctl_elem_type_t HalCtlsMapsAlsaTypeToEnum(const char *label);
+snd_ctl_elem_type_t InternalHalMapsAlsaTypeToEnum(const char *label);
-// HAL controllers alsacore calls funtions
-int HalCtlsGetCardIdByCardPath(afb_api_t apiHandle, char *devPath);
-int HalCtlsSubscribeToAlsaCardEvent(afb_api_t apiHandle, char *cardId);
-int HalCtlsUpdateAlsaCtlProperties(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCtl *currentAlsaCtl);
-int HalCtlsSetAlsaCtlValue(afb_api_t apiHandle, char *cardId, int ctlId, json_object *valuesJ);
-int HalCtlsCreateAlsaCtl(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaCtl *alsaCtlToCreate);
+// Internals HAL alsacore calls funtions
+int InternalHalGetCardIdByCardPath(afb_api_t apiHandle, char *devPath);
+int InternalHalSubscribeToAlsaCardEvent(afb_api_t apiHandle, char *cardId);
+int InternalHalUpdateAlsaCtlProperties(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaCtl *currentAlsaCtl);
+int InternalHalSetAlsaCtlValue(afb_api_t apiHandle, char *cardId, int ctlId, json_object *valuesJ);
+int InternalHalCreateAlsaCtl(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaCtl *alsaCtlToCreate);
-// HAL controllers alsacore controls request callback
-void HalCtlsActionOnAlsaCtl(afb_req_t request);
+// Internals HAL alsacore controls request callback
+void InternalHalActionOnAlsaCtl(afb_req_t request);
-#endif /* _HAL_CTLS_ALSACORE_LINK_INCLUDE_ */ \ No newline at end of file
+#endif /* _INTERNALS_HAL_ALSACORE_LINK_INCLUDE_ */ \ No newline at end of file
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c b/4a-hal/4a-internals-hal/4a-internals-hal-api-loader.c
index a6f6895..94891b8 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-api-loader.c
@@ -28,28 +28,27 @@
#include <ctl-config.h>
#include "4a-hal-utilities-verbs-loader.h"
-
-#include "4a-hal-controllers-api-loader.h"
-#include "4a-hal-controllers-alsacore-link.h"
-#include "4a-hal-controllers-cb.h"
-#include "4a-hal-controllers-mixer-link.h"
+#include "4a-internals-hal-api-loader.h"
+#include "4a-internals-hal-alsacore-link.h"
+#include "4a-internals-hal-cb.h"
+#include "4a-internals-hal-mixer-link.h"
// Default api to print log when apihandle not available
afb_api_t AFB_default;
/*******************************************************************************
- * Json parsing functions using app controller *
+ * Json parsing functions using controller *
******************************************************************************/
// Config Section definition
static CtlSectionT ctrlSectionsDefault[] =
{
- { .key = "resources", .loadCB = PluginConfig },
- { .key = "halmixer", .loadCB = HalCtlsHalMixerConfig },
- { .key = "onload", .loadCB = OnloadConfig },
- { .key = "controls", .loadCB = ControlConfig },
- { .key = "events", .loadCB = EventConfig },
- { .key = "halmap", .loadCB = HalCtlsHalMapConfig },
+ { .key = "resources", .loadCB = PluginConfig },
+ { .key = "halmixer", .loadCB = InternalHalHalMixerConfig },
+ { .key = "onload", .loadCB = OnloadConfig },
+ { .key = "controls", .loadCB = ControlConfig },
+ { .key = "events", .loadCB = EventConfig },
+ { .key = "halmap", .loadCB = InternalHalHalMapConfig },
{ .key = NULL }
};
@@ -58,23 +57,23 @@ static CtlSectionT ctrlSectionsDefault[] =
******************************************************************************/
// Every HAL export the same API & Interface Mapping from SndCard to AudioLogic is done through alsaHalSndCardT
-static afb_verb_t CtlHalApiStaticVerbs[] =
+static afb_verb_t InternalHalApiStaticVerbs[] =
{
/* VERB'S NAME FUNCTION TO CALL SHORT DESCRIPTION */
- { .verb = "info", .callback = HalCtlsInfo, .info = "List available streams/playbacks/captures/controls for this api" },
- { .verb = "subscribe", .callback = HalCtlsSubscribe, .info = "Subscribe to event(s) for values changes (streams/playbacks/captures/controls) for this api" },
- { .verb = "unsubscribe", .callback = HalCtlsUnsubscribe, .info = "Unsubscribe to event(s) for values changes (streams/playbacks/captures/controls) for this api" },
+ { .verb = "info", .callback = InternalHalInfo, .info = "List available streams/playbacks/captures/controls for this api" },
+ { .verb = "subscribe", .callback = InternalHalSubscribe, .info = "Subscribe to event(s) for values changes (streams/playbacks/captures/controls) for this api" },
+ { .verb = "unsubscribe", .callback = InternalHalUnsubscribe, .info = "Unsubscribe to event(s) for values changes (streams/playbacks/captures/controls) for this api" },
{ .verb = NULL } // Marker for end of the array
};
/*******************************************************************************
- * Dynamic API functions for app controller *
+ * Dynamic API functions for internals hal *
******************************************************************************/
-static int HalCtlsInitOneApi(afb_api_t apiHandle)
+static int InternalHalInitOneApi(afb_api_t apiHandle)
{
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentCtlHalData;
+ struct HalData *currentHalData;
if(! apiHandle)
return -1;
@@ -86,39 +85,40 @@ static int HalCtlsInitOneApi(afb_api_t apiHandle)
if(! (ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle)))
return -2;
- currentCtlHalData = (struct SpecificHalData *) getExternalData(ctrlConfig);
- if(! currentCtlHalData)
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData)
return -3;
- // Fill SpecificHalDatadata structure
- currentCtlHalData->internal = 1;
+ // Fill HalDatadata structure
+ currentHalData->internal = 1;
- currentCtlHalData->sndCardPath = (char *) ctrlConfig->uid;
- currentCtlHalData->info = (char *) ctrlConfig->info;
+ currentHalData->sndCardPath = (char *) ctrlConfig->uid;
+ currentHalData->info = (char *) ctrlConfig->info;
- currentCtlHalData->author = (char *) ctrlConfig->author;
- currentCtlHalData->version = (char *) ctrlConfig->version;
- currentCtlHalData->date = (char *) ctrlConfig->date;
+ currentHalData->author = (char *) ctrlConfig->author;
+ currentHalData->version = (char *) ctrlConfig->version;
+ currentHalData->date = (char *) ctrlConfig->date;
- currentCtlHalData->ctlHalSpecificData->apiHandle = apiHandle;
- currentCtlHalData->ctlHalSpecificData->ctrlConfig = ctrlConfig;
+ currentHalData->internalHalData->apiHandle = apiHandle;
+ currentHalData->internalHalData->ctrlConfig = ctrlConfig;
- currentCtlHalData->sndCardId = HalCtlsGetCardIdByCardPath(apiHandle, currentCtlHalData->sndCardPath);
+ currentHalData->sndCardId = InternalHalGetCardIdByCardPath(apiHandle, currentHalData->sndCardPath);
- if(! (currentCtlHalData->ctlHalSpecificData->streamUpdates = afb_api_make_event(apiHandle, HAL_STREAM_UPDATES_EVENT_NAME)))
+ currentHalData->internalHalData->streamUpdates = afb_api_make_event(apiHandle, HAL_STREAM_UPDATES_EVENT_NAME);
+ if(! currentHalData->internalHalData->streamUpdates)
return -4;
- if(currentCtlHalData->sndCardId < 0)
- currentCtlHalData->status = HAL_STATUS_UNAVAILABLE;
+ if(currentHalData->sndCardId < 0)
+ currentHalData->status = HAL_STATUS_UNAVAILABLE;
else
- currentCtlHalData->status = HAL_STATUS_AVAILABLE;
+ currentHalData->status = HAL_STATUS_AVAILABLE;
// TBD JAI: handle refresh of hal status for dynamic card (/dev/by-id)
return CtlConfigExec(apiHandle, ctrlConfig);
}
-static int HalCtlsLoadOneApi(void *cbdata, afb_api_t apiHandle)
+static int InternalHalLoadOneApi(void *cbdata, afb_api_t apiHandle)
{
int err;
CtlConfigT *ctrlConfig;
@@ -133,7 +133,7 @@ static int HalCtlsLoadOneApi(void *cbdata, afb_api_t apiHandle)
afb_api_set_userdata(apiHandle, ctrlConfig);
// Add static controls verbs
- if(HalUtlLoadVerbs(apiHandle, CtlHalApiStaticVerbs)) {
+ if(HalUtlLoadVerbs(apiHandle, InternalHalApiStaticVerbs)) {
AFB_API_ERROR(apiHandle, "Load Section : fail to register static V2 verbs");
return 1;
}
@@ -146,20 +146,20 @@ static int HalCtlsLoadOneApi(void *cbdata, afb_api_t apiHandle)
return err;
// Declare an event manager for this Api
- afb_api_on_event(apiHandle, HalCtlsDispatchApiEvent);
+ afb_api_on_event(apiHandle, InternalHalDispatchApiEvent);
// Init Api function (does not receive user closure ???)
- afb_api_on_init(apiHandle, HalCtlsInitOneApi);
+ afb_api_on_init(apiHandle, InternalHalInitOneApi);
return 0;
}
-int HalCtlsCreateApi(afb_api_t apiHandle, char *path, struct HalMgrData *HalMgrGlobalData)
+int InternalHalCreateApi(afb_api_t apiHandle, char *path, struct HalMgrData *halMgrData)
{
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentCtlHalData;
+ struct HalData *currentHalData;
- if(! apiHandle || ! path || ! HalMgrGlobalData)
+ if(! apiHandle || ! path || ! halMgrData)
return -1;
// Create one Api per file
@@ -175,26 +175,26 @@ int HalCtlsCreateApi(afb_api_t apiHandle, char *path, struct HalMgrData *HalMgrG
}
// Allocation of current hal controller data
- currentCtlHalData = HalUtlAddHalApiToHalList(&HalMgrGlobalData->halDataList);
- if(! currentCtlHalData)
+ currentHalData = HalUtlAddHalToHalList(&halMgrData->halDataList);
+ if(! currentHalData)
return -4;
- currentCtlHalData->apiName = (char *) ctrlConfig->api;
+ currentHalData->apiName = (char *) ctrlConfig->api;
- // Stores current hal controller data in controller config
- setExternalData(ctrlConfig, (void *) currentCtlHalData);
+ // Stores hal data in controller config
+ setExternalData(ctrlConfig, (void *) currentHalData);
- // Allocation of the structure that will be used to store specific hal controller data
- currentCtlHalData->ctlHalSpecificData = calloc(1, sizeof(struct CtlHalSpecificData));
+ // Allocation of the structure that will be used to store internal hal data
+ currentHalData->internalHalData = calloc(1, sizeof(struct InternalHalData));
// Create one API
- if(! afb_api_new_api(apiHandle, ctrlConfig->api, ctrlConfig->info, 1, HalCtlsLoadOneApi, ctrlConfig))
+ if(! afb_api_new_api(apiHandle, ctrlConfig->api, ctrlConfig->info, 1, InternalHalLoadOneApi, ctrlConfig))
return -5;
return 0;
}
-int HalCtlsCreateAllApi(afb_api_t apiHandle, struct HalMgrData *HalMgrGlobalData)
+int InternalHalCreateAllApi(afb_api_t apiHandle, struct HalMgrData *halMgrData)
{
int index, status = 0;
char *dirList, *fileName, *fullPath;
@@ -204,7 +204,7 @@ int HalCtlsCreateAllApi(afb_api_t apiHandle, struct HalMgrData *HalMgrGlobalData
json_object *configJ, *entryJ;
- if(! apiHandle || ! HalMgrGlobalData)
+ if(! apiHandle || ! halMgrData)
return -1;
// Hugely hack to make all V2 AFB_DEBUG to work in fileutils
@@ -235,7 +235,7 @@ int HalCtlsCreateAllApi(afb_api_t apiHandle, struct HalMgrData *HalMgrGlobalData
strncat(filePath, "/", sizeof(filePath) - 1);
strncat(filePath, fileName, sizeof(filePath) - 1);
- if(HalCtlsCreateApi(apiHandle, filePath, HalMgrGlobalData) < 0)
+ if(InternalHalCreateApi(apiHandle, filePath, halMgrData) < 0)
status--;
}
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.h b/4a-hal/4a-internals-hal/4a-internals-hal-api-loader.h
index dd33108..fa878e2 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.h
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-api-loader.h
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-#ifndef _HAL_CTLS_API_LOADER_INCLUDE_
-#define _HAL_CTLS_API_LOADER_INCLUDE_
+#ifndef _INTERNALS_HAL_API_LOADER_INCLUDE_
+#define _INTERNALS_HAL_API_LOADER_INCLUDE_
#include <stdio.h>
@@ -25,7 +25,7 @@
#include "4a-hal-utilities-data.h"
// Verbs that can be use to create api
-int HalCtlsCreateApi(afb_api_t apiHandle, char *path, struct HalMgrData *HalMgrGlobalData);
-int HalCtlsCreateAllApi(afb_api_t apiHandle, struct HalMgrData *HalMgrGlobalData);
+int InternalHalCreateApi(afb_api_t apiHandle, char *path, struct HalMgrData *halMgrData);
+int InternalHalCreateAllApi(afb_api_t apiHandle, struct HalMgrData *halMgrData);
-#endif /* _HAL_CTLS_API_LOADER_INCLUDE_ */ \ No newline at end of file
+#endif /* _INTERNALS_HAL_API_LOADER_INCLUDE_ */ \ No newline at end of file
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c b/4a-hal/4a-internals-hal/4a-internals-hal-cb.c
index c38b057..0102d8d 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-cb.c
@@ -26,36 +26,37 @@
#include "4a-hal-utilities-data.h"
-#include "4a-hal-controllers-cb.h"
-#include "4a-hal-controllers-alsacore-link.h"
-#include "4a-hal-controllers-mixer-link.h"
-#include "4a-hal-controllers-value-handler.h"
+#include "4a-internals-hal-cb.h"
+#include "4a-internals-hal-alsacore-link.h"
+#include "4a-internals-hal-mixer-link.h"
+#include "4a-internals-hal-value-handler.h"
/*******************************************************************************
- * HAL controller event handler function *
+ * Internals HAL Event handler function *
******************************************************************************/
-void HalCtlsDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json_object *eventJ)
+void InternalHalDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json_object *eventJ)
{
int numid, idx = 0, cardidx;
CtlConfigT *ctrlConfig;
CtlSourceT source;
- struct SpecificHalData *currentHalData;
- struct CtlHalAlsaMapT *currentHalAlsaCtlsT;
+ struct HalData *currentHalData;
+ struct InternalHalAlsaMapT *currentHalAlsaCtlsT;
json_object *valuesJ, *normalizedValuesJ;
AFB_API_DEBUG(apiHandle, "Evtname=%s [msg=%s]", evtLabel, json_object_get_string(eventJ));
if(! (ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle))) {
- AFB_API_ERROR(apiHandle, "Can't get current hal controller config");
+ AFB_API_ERROR(apiHandle, "Can't get current internal hal controller config");
return;
}
- if(! (currentHalData = (struct SpecificHalData *) getExternalData(ctrlConfig))) {
- AFB_API_WARNING(apiHandle, "Can't get current hal controller data");
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData) {
+ AFB_API_WARNING(apiHandle, "Can't get current internal hal controller data");
return;
}
@@ -71,7 +72,7 @@ void HalCtlsDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json_obj
return;
}
- currentHalAlsaCtlsT = currentHalData->ctlHalSpecificData->ctlHalAlsaMapT;
+ currentHalAlsaCtlsT = currentHalData->internalHalData->alsaMapT;
// Search for corresponding numid in halCtls, if found, launch callback (if available)
for(idx = 0; idx < currentHalAlsaCtlsT->ctlsCount; idx++) {
@@ -90,11 +91,11 @@ void HalCtlsDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json_obj
}
if((! currentHalAlsaCtlsT->ctls[idx].alsaControlEvent) ||
- HalCtlsConvertJsonValues(apiHandle,
- &currentHalAlsaCtlsT->ctls[idx].ctl.alsaCtlProperties,
- valuesJ,
- &normalizedValuesJ,
- CONVERSION_ALSACORE_TO_NORMALIZED) ||
+ InternalHalConvertJsonValues(apiHandle,
+ &currentHalAlsaCtlsT->ctls[idx].ctl.alsaCtlProperties,
+ valuesJ,
+ &normalizedValuesJ,
+ CONVERSION_ALSACORE_TO_NORMALIZED) ||
(afb_event_push(currentHalAlsaCtlsT->ctls[idx].alsaControlEvent, normalizedValuesJ) < 0)) {
AFB_API_ERROR(apiHandle,
"Couldn't generate an event for known halmap %s (alsa control id %i)",
@@ -124,15 +125,15 @@ void HalCtlsDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json_obj
}
/*******************************************************************************
- * HAL controllers sections parsing functions *
+ * Internals HAL - 'halmixer' section parsing/handling functions *
******************************************************************************/
-int HalCtlsHalMixerConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *MixerJ)
+int InternalHalHalMixerConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *MixerJ)
{
int err = 0;
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentHalData;
+ struct HalData *currentHalData;
if(! apiHandle || ! section)
return -1;
@@ -140,30 +141,37 @@ int HalCtlsHalMixerConfig(afb_api_t apiHandle, CtlSectionT *section, json_object
if(! (ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle)))
return -2;
- if(! (currentHalData = (struct SpecificHalData *) getExternalData(ctrlConfig)))
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData)
return -3;
if(MixerJ) {
if(json_object_is_type(MixerJ, json_type_object))
- currentHalData->ctlHalSpecificData->halMixerJ = MixerJ;
+ currentHalData->internalHalData->halMixerJ = MixerJ;
else
return -4;
- if(wrap_json_unpack(MixerJ, "{s:s}", "mixerapi", &currentHalData->ctlHalSpecificData->mixerApiName))
+ if(wrap_json_unpack(MixerJ, "{s:s}", "mixerapi", &currentHalData->internalHalData->mixerApiName))
return -5;
- wrap_json_unpack(MixerJ, "{s?:s}", "prefix", &currentHalData->ctlHalSpecificData->prefix);
+ wrap_json_unpack(MixerJ, "{s?:s}", "prefix", &currentHalData->internalHalData->prefix);
}
- else if(currentHalData->status == HAL_STATUS_AVAILABLE &&
- (err = HalCtlsAttachToMixer(apiHandle))) {
- AFB_API_ERROR(apiHandle, "%s: Error %i while attaching to mixer", __func__, err);
- return -6;
+ else if(currentHalData->status == HAL_STATUS_AVAILABLE) {
+ err = InternalHalAttachToMixer(apiHandle);
+ if(err) {
+ AFB_API_ERROR(apiHandle, "Error %i while attaching to mixer", err);
+ return -6;
+ }
}
return 0;
}
-int HalCtlsProcessOneHalMapObject(afb_api_t apiHandle, struct CtlHalAlsaMap *alsaMap, json_object *AlsaMapJ)
+/*******************************************************************************
+ * Internals HAL - 'halmap' section parsing/handling functions *
+ ******************************************************************************/
+
+int InternalHalProcessOneHalMapObject(afb_api_t apiHandle, struct InternalHalAlsaMap *alsaMap, json_object *AlsaMapJ)
{
char *action = NULL, *typename = NULL;
@@ -203,9 +211,12 @@ int HalCtlsProcessOneHalMapObject(afb_api_t apiHandle, struct CtlHalAlsaMap *als
return -3;
}
- if(typename && (alsaMap->ctl.alsaCtlCreation->type = HalCtlsMapsAlsaTypeToEnum(typename)) == SND_CTL_ELEM_TYPE_NONE) {
- AFB_API_ERROR(apiHandle, "Couldn't get alsa type from string %s in:\n-- %s", typename, json_object_get_string(alsaJ));
- return -4;
+ if(typename) {
+ alsaMap->ctl.alsaCtlCreation->type = InternalHalMapsAlsaTypeToEnum(typename);
+ if(alsaMap->ctl.alsaCtlCreation->type == SND_CTL_ELEM_TYPE_NONE) {
+ AFB_API_ERROR(apiHandle, "Couldn't get alsa type from string %s in:\n-- %s", typename, json_object_get_string(alsaJ));
+ return -4;
+ }
}
if(! alsaMap->ctl.name)
@@ -232,7 +243,7 @@ int HalCtlsProcessOneHalMapObject(afb_api_t apiHandle, struct CtlHalAlsaMap *als
return 0;
}
-int HalCtlsHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct CtlHalAlsaMap *alsaMap)
+int InternalHalHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaMap *alsaMap)
{
int err;
@@ -246,12 +257,12 @@ int HalCtlsHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct CtlHa
}
if(alsaMap->ctl.alsaCtlCreation) {
- if(HalCtlsCreateAlsaCtl(apiHandle, cardId, &alsaMap->ctl)) {
+ if(InternalHalCreateAlsaCtl(apiHandle, cardId, &alsaMap->ctl)) {
AFB_API_ERROR(apiHandle, "An error happened when trying to create a new alsa control");
return -2;
}
}
- else if(HalCtlsUpdateAlsaCtlProperties(apiHandle, cardId, &alsaMap->ctl)) {
+ else if(InternalHalUpdateAlsaCtlProperties(apiHandle, cardId, &alsaMap->ctl)) {
AFB_API_ERROR(apiHandle, "An error happened when trying to get existing alsa control info");
return -3;
}
@@ -261,11 +272,11 @@ int HalCtlsHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct CtlHa
valueJ = json_object_new_int(alsaMap->ctl.value);
err = 0;
- if(HalCtlsConvertJsonValues(apiHandle, &alsaMap->ctl.alsaCtlProperties, valueJ, &convertedValueJ, CONVERSION_NORMALIZED_TO_ALSACORE)) {
+ if(InternalHalConvertJsonValues(apiHandle, &alsaMap->ctl.alsaCtlProperties, valueJ, &convertedValueJ, CONVERSION_NORMALIZED_TO_ALSACORE)) {
AFB_API_ERROR(apiHandle, "Error when trying to convert initiate value json '%s'", json_object_get_string(valueJ));
err = -4;
}
- else if(HalCtlsSetAlsaCtlValue(apiHandle, cardId, alsaMap->ctl.numid, convertedValueJ)) {
+ else if(InternalHalSetAlsaCtlValue(apiHandle, cardId, alsaMap->ctl.numid, convertedValueJ)) {
AFB_API_ERROR(apiHandle,
"Error while trying to set initial value on alsa control %i, device '%s', value '%s'",
alsaMap->ctl.numid,
@@ -293,7 +304,7 @@ int HalCtlsHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct CtlHa
}
}
- if(afb_api_add_verb(apiHandle, alsaMap->uid, alsaMap->info, HalCtlsActionOnAlsaCtl, (void *) alsaMap, NULL, 0, 0)) {
+ if(afb_api_add_verb(apiHandle, alsaMap->uid, alsaMap->info, InternalHalActionOnAlsaCtl, (void *) alsaMap, NULL, 0, 0)) {
AFB_API_ERROR(apiHandle,
"Didn't succeed to create verb for current alsa control to load action using alsa object:\n-- %s",
json_object_get_string(alsaMap->actionJ));
@@ -303,42 +314,42 @@ int HalCtlsHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct CtlHa
return 0;
}
-int HalCtlsProcessAllHalMap(afb_api_t apiHandle, json_object *AlsaMapJ, struct CtlHalAlsaMapT *currentCtlHalAlsaMapT)
+int InternalHalProcessAllHalMap(afb_api_t apiHandle, json_object *AlsaMapJ, struct InternalHalAlsaMapT *currentInternalHalAlsaMapT)
{
int idx, err = 0;
- struct CtlHalAlsaMap *ctlMaps;
+ struct InternalHalAlsaMap *ctlMaps;
json_type alsaMapType;
alsaMapType = json_object_get_type(AlsaMapJ);
switch(alsaMapType) {
case json_type_array:
- currentCtlHalAlsaMapT->ctlsCount = (unsigned int) json_object_array_length(AlsaMapJ);
+ currentInternalHalAlsaMapT->ctlsCount = (unsigned int) json_object_array_length(AlsaMapJ);
break;
case json_type_object:
- currentCtlHalAlsaMapT->ctlsCount = 1;
+ currentInternalHalAlsaMapT->ctlsCount = 1;
break;
default:
- currentCtlHalAlsaMapT->ctlsCount = 0;
- currentCtlHalAlsaMapT->ctls = NULL;
- AFB_API_WARNING(apiHandle, "Couldn't get content of 'halmap' section in:\n-- %s", json_object_get_string(AlsaMapJ));
+ currentInternalHalAlsaMapT->ctlsCount = 0;
+ currentInternalHalAlsaMapT->ctls = NULL;
+ AFB_API_WARNING(apiHandle, "Couldn't get content of 'halmap' section in : '%s'", json_object_get_string(AlsaMapJ));
return -1;
}
- ctlMaps = calloc(currentCtlHalAlsaMapT->ctlsCount, sizeof(struct CtlHalAlsaMap));
+ ctlMaps = calloc(currentInternalHalAlsaMapT->ctlsCount, sizeof(struct InternalHalAlsaMap));
- for(idx = 0; idx < currentCtlHalAlsaMapT->ctlsCount; idx++)
- err += HalCtlsProcessOneHalMapObject(apiHandle, &ctlMaps[idx], alsaMapType == json_type_array ? json_object_array_get_idx(AlsaMapJ, idx) : AlsaMapJ);
+ for(idx = 0; idx < currentInternalHalAlsaMapT->ctlsCount; idx++)
+ err += InternalHalProcessOneHalMapObject(apiHandle, &ctlMaps[idx], alsaMapType == json_type_array ? json_object_array_get_idx(AlsaMapJ, idx) : AlsaMapJ);
- currentCtlHalAlsaMapT->ctls = ctlMaps;
+ currentInternalHalAlsaMapT->ctls = ctlMaps;
return err;
}
-int HalCtlsHandleAllHalMap(afb_api_t apiHandle, int sndCardId, struct CtlHalAlsaMapT *currentCtlHalAlsaMapT)
+int InternalHalHandleAllHalMap(afb_api_t apiHandle, int sndCardId, struct InternalHalAlsaMapT *currentInternalHalAlsaMapT)
{
int idx, err = 0;
@@ -346,30 +357,30 @@ int HalCtlsHandleAllHalMap(afb_api_t apiHandle, int sndCardId, struct CtlHalAlsa
snprintf(cardIdString, 6, "hw:%i", sndCardId);
- HalCtlsSubscribeToAlsaCardEvent(apiHandle, cardIdString);
+ InternalHalSubscribeToAlsaCardEvent(apiHandle, cardIdString);
- for(idx = 0; idx < currentCtlHalAlsaMapT->ctlsCount; idx++)
- err += HalCtlsHandleOneHalMapObject(apiHandle, cardIdString, &currentCtlHalAlsaMapT->ctls[idx]);
+ for(idx = 0; idx < currentInternalHalAlsaMapT->ctlsCount; idx++)
+ err += InternalHalHandleOneHalMapObject(apiHandle, cardIdString, &currentInternalHalAlsaMapT->ctls[idx]);
return err;
}
-int HalCtlsHalMapConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *AlsaMapJ)
+int InternalHalHalMapConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *AlsaMapJ)
{
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentHalData;
+ struct HalData *currentHalData;
if(! (ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle)))
return -1;
- currentHalData = (struct SpecificHalData *) getExternalData(ctrlConfig);
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
if(! currentHalData)
return -2;
if(AlsaMapJ) {
- currentHalData->ctlHalSpecificData->ctlHalAlsaMapT = calloc(1, sizeof(struct CtlHalAlsaMapT));
+ currentHalData->internalHalData->alsaMapT = calloc(1, sizeof(struct InternalHalAlsaMapT));
- if(HalCtlsProcessAllHalMap(apiHandle, AlsaMapJ, currentHalData->ctlHalSpecificData->ctlHalAlsaMapT)) {
+ if(InternalHalProcessAllHalMap(apiHandle, AlsaMapJ, currentHalData->internalHalData->alsaMapT)) {
AFB_API_ERROR(apiHandle, "Failed to process 'halmap' section");
return -3;
}
@@ -382,15 +393,15 @@ int HalCtlsHalMapConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *
AFB_API_ERROR(apiHandle, "Hal alsa card id is not valid, 'halmap' section data can't be handle");
return -6;
}
- else if(! currentHalData->ctlHalSpecificData->ctlHalAlsaMapT) {
+ else if(! currentHalData->internalHalData->alsaMapT) {
AFB_API_WARNING(apiHandle, "'halmap' section data is empty");
return 2;
}
- else if(! (currentHalData->ctlHalSpecificData->ctlHalAlsaMapT->ctlsCount > 0)) {
+ else if(! (currentHalData->internalHalData->alsaMapT->ctlsCount > 0)) {
AFB_API_WARNING(apiHandle, "No alsa controls defined in 'halmap' section");
return 3;
}
- else if(HalCtlsHandleAllHalMap(apiHandle, currentHalData->sndCardId, currentHalData->ctlHalSpecificData->ctlHalAlsaMapT)) {
+ else if(InternalHalHandleAllHalMap(apiHandle, currentHalData->sndCardId, currentHalData->internalHalData->alsaMapT)) {
AFB_API_ERROR(apiHandle, "Failed to handle 'halmap' section");
return -9;
}
@@ -399,17 +410,19 @@ int HalCtlsHalMapConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *
}
/*******************************************************************************
- * HAL controllers verbs functions *
+ * Internals HAL verbs functions *
******************************************************************************/
-json_object *HalCtlsGetJsonArrayForMixerDataTable(afb_api_t apiHandle, struct CtlHalMixerData **mixerDataList, enum MixerDataType dataType)
+json_object *InternalHalGetJsonArrayForMixerDataTable(afb_api_t apiHandle,
+ struct InternalHalMixerData **mixerDataList,
+ enum MixerDataType dataType)
{
json_object *mixerDataArrayJ, *currentMixerDataJ;
- struct CtlHalMixerData *currentMixerData;
+ struct InternalHalMixerData *currentMixerData;
if(! apiHandle) {
- AFB_API_ERROR(apiHandle, "Can't get current hal controller api handle");
+ AFB_API_ERROR(apiHandle, "Api handle is not valid");
return NULL;
}
@@ -451,14 +464,14 @@ json_object *HalCtlsGetJsonArrayForMixerDataTable(afb_api_t apiHandle, struct Ct
return mixerDataArrayJ;
}
-json_object *HalCtlsGetJsonArrayForControls(afb_api_t apiHandle, struct CtlHalAlsaMapT *currentAlsaMapDataT)
+json_object *InternalHalGetJsonArrayForControls(afb_api_t apiHandle, struct InternalHalAlsaMapT *currentAlsaMapDataT)
{
unsigned int idx;
json_object *alsaMapDataArray, *currentAlsaMapData;
if(! apiHandle) {
- AFB_API_ERROR(apiHandle, "Can't get current hal controller api handle");
+ AFB_API_ERROR(apiHandle, "Can't get current internal hal api handle");
return NULL;
}
@@ -484,29 +497,30 @@ json_object *HalCtlsGetJsonArrayForControls(afb_api_t apiHandle, struct CtlHalAl
return alsaMapDataArray;
}
-void HalCtlsInfo(afb_req_t request)
+void InternalHalInfo(afb_req_t request)
{
char *apiToCall, *returnedError = NULL, *returnedInfo = NULL;
afb_api_t apiHandle;
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentCtlHalData;
+ struct HalData *currentHalData;
json_object *requestJson, *toReturnJ = NULL, *requestAnswer, *streamsArray, *playbacksArray, *capturesArray, *controlsArray;
if(! (apiHandle = afb_req_get_api(request))) {
- afb_req_fail(request, "api_handle", "Can't get current hal controller api handle");
+ afb_req_fail(request, "api_handle", "Can't get current internal hal api handle");
return;
}
if(! (ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle))) {
- afb_req_fail(request, "hal_controller_config", "Can't get current hal controller config");
+ afb_req_fail(request, "hal_controller_config", "Can't get current internal hal controller config");
return;
}
- if(! (currentCtlHalData = (struct SpecificHalData *) getExternalData(ctrlConfig))) {
- afb_req_fail(request, "hal_controller_data", "Can't get current hal controller data");
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData) {
+ afb_req_fail(request, "hal_controller_data", "Can't get current internal hal controller data");
return;
}
@@ -514,13 +528,13 @@ void HalCtlsInfo(afb_req_t request)
AFB_REQ_NOTICE(request, "Can't get request json");
}
else if(json_object_is_type(requestJson, json_type_object) && json_object_get_object(requestJson)->count > 0) {
- apiToCall = currentCtlHalData->ctlHalSpecificData->mixerApiName;
+ apiToCall = currentHalData->internalHalData->mixerApiName;
if(! apiToCall) {
afb_req_fail(request, "mixer_api", "Can't get mixer api");
return;
}
- if(HalCtlsGetInfoFromMixer(apiHandle, apiToCall, requestJson, &toReturnJ, &returnedError, &returnedInfo)) {
+ if(InternalHalGetInfoFromMixer(apiHandle, apiToCall, requestJson, &toReturnJ, &returnedError, &returnedInfo)) {
afb_req_fail_f(request,
"mixer_info",
"Call to mixer info verb didn't succeed with status '%s' and info '%s'",
@@ -533,29 +547,33 @@ void HalCtlsInfo(afb_req_t request)
return;
}
- if(! (streamsArray = HalCtlsGetJsonArrayForMixerDataTable(apiHandle,
- &currentCtlHalData->ctlHalSpecificData->ctlHalStreamsData,
- MIXER_DATA_STREAMS))) {
+ streamsArray = InternalHalGetJsonArrayForMixerDataTable(apiHandle,
+ &currentHalData->internalHalData->streamsData,
+ MIXER_DATA_STREAMS);
+ if(! streamsArray) {
afb_req_fail(request, "streams_data", "Didn't succeed to generate streams data array");
return;
}
- if(! (playbacksArray = HalCtlsGetJsonArrayForMixerDataTable(apiHandle,
- &currentCtlHalData->ctlHalSpecificData->ctlHalPlaybacksData,
- MIXER_DATA_PLAYBACKS))) {
+ playbacksArray = InternalHalGetJsonArrayForMixerDataTable(apiHandle,
+ &currentHalData->internalHalData->playbacksData,
+ MIXER_DATA_PLAYBACKS);
+ if(! playbacksArray) {
afb_req_fail(request, "playbacks_data", "Didn't succeed to generate playbacks data array");
return;
}
- if(! (capturesArray = HalCtlsGetJsonArrayForMixerDataTable(apiHandle,
- &currentCtlHalData->ctlHalSpecificData->ctlHalCapturesData,
- MIXER_DATA_CAPTURES))) {
+ capturesArray = InternalHalGetJsonArrayForMixerDataTable(apiHandle,
+ &currentHalData->internalHalData->capturesData,
+ MIXER_DATA_CAPTURES);
+ if(! capturesArray) {
afb_req_fail(request, "captures_data", "Didn't succeed to generate captures data array");
return;
}
- if(! (controlsArray = HalCtlsGetJsonArrayForControls(apiHandle,
- currentCtlHalData->ctlHalSpecificData->ctlHalAlsaMapT))) {
+ controlsArray = InternalHalGetJsonArrayForControls(apiHandle,
+ currentHalData->internalHalData->alsaMapT);
+ if(! controlsArray) {
afb_req_fail(request, "controls_data", "Didn't succeed to generate controls data array");
return;
}
@@ -570,7 +588,7 @@ void HalCtlsInfo(afb_req_t request)
afb_req_success(request, requestAnswer, "Requested data");
}
-void HalCtlsSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscribeType subscribeUnsubscribeType)
+void InternalHalSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscribeType subscribeUnsubscribeType)
{
int arrayIdx, searchIdx, count, subscriptionFound, subscriptionDoneNb = 0;
@@ -579,34 +597,35 @@ void HalCtlsSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscribeTyp
afb_api_t apiHandle;
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentCtlHalData;
- struct CtlHalMixerData *currentStreamData;
- struct CtlHalAlsaMapT *halAlsaMapT;
+ struct HalData *currentHalData;
+ struct InternalHalMixerData *currentStreamData;
+ struct InternalHalAlsaMapT *InternalHalAlsaMapT;
json_object *requestJson, *requestedSubscriptionsJ, *requestedSubscriptionJ = NULL;
json_type requestJsonType;
if(! (apiHandle = afb_req_get_api(request))) {
- afb_req_fail(request, "api_handle", "Can't get current hal controller api handle");
+ afb_req_fail(request, "api_handle", "Can't get current internal hal api handle");
return;
}
if(! (ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle))) {
- afb_req_fail(request, "hal_controller_config", "Can't get current hal controller config");
+ afb_req_fail(request, "hal_controller_config", "Can't get current internal hal controller config");
return;
}
- if(! (currentCtlHalData = (struct SpecificHalData *) getExternalData(ctrlConfig))) {
- afb_req_fail(request, "hal_controller_data", "Can't get current hal controller data");
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData) {
+ afb_req_fail(request, "hal_controller_data", "Can't get current internal hal controller data");
return;
}
- if(! currentCtlHalData->ctlHalSpecificData) {
- afb_req_fail(request, "hal_controller_data", "Can't get current hal specific data");
+ if(! currentHalData->internalHalData) {
+ afb_req_fail(request, "hal_controller_data", "Current internal hal data is not valid");
return;
}
- halAlsaMapT = currentCtlHalData->ctlHalSpecificData->ctlHalAlsaMapT;
+ InternalHalAlsaMapT = currentHalData->internalHalData->alsaMapT;
if(! (requestJson = afb_req_json(request))) {
afb_req_fail(request, "request_json", "Can't get request json");
@@ -647,17 +666,17 @@ void HalCtlsSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscribeTyp
currentSubscriptionString = (char *) json_object_get_string(requestedSubscriptionJ);
if(! strcasecmp(currentSubscriptionString, HAL_STREAM_UPDATES_EVENT_NAME)) {
- if(currentCtlHalData->ctlHalSpecificData->streamUpdates &&
+ if(currentHalData->internalHalData->streamUpdates &&
subscribeUnsubscribeType == SUBSCRIPTION &&
- afb_req_subscribe(request, currentCtlHalData->ctlHalSpecificData->streamUpdates)) {
+ afb_req_subscribe(request, currentHalData->internalHalData->streamUpdates)) {
afb_req_fail_f(request,
"request_stream_list_updates_event",
"Error while trying to subscribe to stream list updates event");
return;
}
- else if(currentCtlHalData->ctlHalSpecificData->streamUpdates &&
+ else if(currentHalData->internalHalData->streamUpdates &&
subscribeUnsubscribeType == UNSUBSCRIPTION &&
- afb_req_unsubscribe(request, currentCtlHalData->ctlHalSpecificData->streamUpdates)) {
+ afb_req_unsubscribe(request, currentHalData->internalHalData->streamUpdates)) {
afb_req_fail_f(request,
"request_stream_list_updates_event",
"Error while trying to unsubscribe to stream list updates event");
@@ -668,7 +687,7 @@ void HalCtlsSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscribeTyp
subscriptionDoneNb++;
}
- currentStreamData = currentCtlHalData->ctlHalSpecificData->ctlHalStreamsData;
+ currentStreamData = currentHalData->internalHalData->streamsData;
while(currentStreamData &&
(! subscriptionFound)) {
if(! strcasecmp(currentSubscriptionString, currentStreamData->verb)) {
@@ -701,25 +720,25 @@ void HalCtlsSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscribeTyp
}
searchIdx = 0;
- while((searchIdx < (halAlsaMapT ? halAlsaMapT->ctlsCount : 0)) &&
+ while((searchIdx < (InternalHalAlsaMapT ? InternalHalAlsaMapT->ctlsCount : 0)) &&
(! subscriptionFound)) {
- if(! strcasecmp(currentSubscriptionString, halAlsaMapT->ctls[searchIdx].uid)) {
- if(halAlsaMapT->ctls[searchIdx].alsaControlEvent &&
+ if(! strcasecmp(currentSubscriptionString, InternalHalAlsaMapT->ctls[searchIdx].uid)) {
+ if(InternalHalAlsaMapT->ctls[searchIdx].alsaControlEvent &&
subscribeUnsubscribeType == SUBSCRIPTION &&
- afb_req_subscribe(request, halAlsaMapT->ctls[searchIdx].alsaControlEvent)) {
+ afb_req_subscribe(request, InternalHalAlsaMapT->ctls[searchIdx].alsaControlEvent)) {
afb_req_fail_f(request,
"request_control_event",
"Error while trying to subscribe to %s halmap controls events",
- halAlsaMapT->ctls[searchIdx].uid);
+ InternalHalAlsaMapT->ctls[searchIdx].uid);
return;
}
- else if(halAlsaMapT->ctls[searchIdx].alsaControlEvent &&
+ else if(InternalHalAlsaMapT->ctls[searchIdx].alsaControlEvent &&
subscribeUnsubscribeType == UNSUBSCRIPTION &&
- afb_req_unsubscribe(request, halAlsaMapT->ctls[searchIdx].alsaControlEvent)) {
+ afb_req_unsubscribe(request, InternalHalAlsaMapT->ctls[searchIdx].alsaControlEvent)) {
afb_req_fail_f(request,
"request_stream_event",
"Error while trying to unsubscribe to %s halmap controls events",
- halAlsaMapT->ctls[searchIdx].uid);
+ InternalHalAlsaMapT->ctls[searchIdx].uid);
return;
}
@@ -760,12 +779,12 @@ void HalCtlsSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscribeTyp
count);
}
-void HalCtlsSubscribe(afb_req_t request)
+void InternalHalSubscribe(afb_req_t request)
{
- HalCtlsSubscribeUnsubscribe(request, SUBSCRIPTION);
+ InternalHalSubscribeUnsubscribe(request, SUBSCRIPTION);
}
-void HalCtlsUnsubscribe(afb_req_t request)
+void InternalHalUnsubscribe(afb_req_t request)
{
- HalCtlsSubscribeUnsubscribe(request, UNSUBSCRIPTION);
-} \ No newline at end of file
+ InternalHalSubscribeUnsubscribe(request, UNSUBSCRIPTION);
+}
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h b/4a-hal/4a-internals-hal/4a-internals-hal-cb.h
index 60e24da..ff35656 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-cb.h
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-#ifndef _HAL_CTLS_CB_INCLUDE_
-#define _HAL_CTLS_CB_INCLUDE_
+#ifndef _INTERNALS_HAL_CB_INCLUDE_
+#define _INTERNALS_HAL_CB_INCLUDE_
#include <stdio.h>
@@ -30,16 +30,16 @@ enum SubscribeUnsubscribeType {
UNSUBSCRIPTION = 2
};
-// HAL controller event handler function
-void HalCtlsDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json_object *eventJ);
+// Internals HAL event handler function
+void InternalHalDispatchApiEvent(afb_api_t apiHandle, const char *evtLabel, json_object *eventJ);
-// HAL controllers sections parsing functions
-int HalCtlsHalMixerConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *MixerJ);
-int HalCtlsHalMapConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *AlsaMapJ);
+// Internals HAL sections parsing functions
+int InternalHalHalMixerConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *MixerJ);
+int InternalHalHalMapConfig(afb_api_t apiHandle, CtlSectionT *section, json_object *AlsaMapJ);
-// HAL controllers verbs functions
-void HalCtlsInfo(afb_req_t request);
-void HalCtlsSubscribe(afb_req_t request);
-void HalCtlsUnsubscribe(afb_req_t request);
+// Internals HAL verbs functions
+void InternalHalInfo(afb_req_t request);
+void InternalHalSubscribe(afb_req_t request);
+void InternalHalUnsubscribe(afb_req_t request);
#endif /* _HALMGR_CB_INCLUDE_ */ \ No newline at end of file
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-link.c b/4a-hal/4a-internals-hal/4a-internals-hal-mixer-link.c
index 1839261..95e9099 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-link.c
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-mixer-link.c
@@ -31,14 +31,17 @@
#include "../4a-hal-manager/4a-hal-manager.h"
-#include "4a-hal-controllers-mixer-link.h"
-#include "4a-hal-controllers-cb.h"
+#include "4a-internals-hal-mixer-link.h"
+#include "4a-internals-hal-cb.h"
/*******************************************************************************
- * HAL controllers handle mixer calls functions *
+ * Internals HAL handle mixer calls functions *
******************************************************************************/
-int HalCtlsHandleMixerData(afb_api_t apiHandle, struct CtlHalMixerData **mixerDataList, json_object *currentDataJ, enum MixerDataType dataType)
+int InternalHalHandleMixerData(afb_api_t apiHandle,
+ struct InternalHalMixerData **mixerDataList,
+ json_object *currentDataJ,
+ enum MixerDataType dataType)
{
int idx, mixerDataNb, verbStart, size;
int err = (int) MIXER_NO_ERROR;
@@ -48,7 +51,7 @@ int HalCtlsHandleMixerData(afb_api_t apiHandle, struct CtlHalMixerData **mixerDa
json_type currentDataType;
json_object *currentJ;
- struct CtlHalMixerData *currentMixerData;
+ struct InternalHalMixerData *currentMixerData;
currentDataType = json_object_get_type(currentDataJ);
switch(currentDataType) {
@@ -155,7 +158,7 @@ int HalCtlsHandleMixerData(afb_api_t apiHandle, struct CtlHalMixerData **mixerDa
return err;
}
-int HalCtlsHandleMixerAttachResponse(afb_api_t apiHandle, struct CtlHalSpecificData *currentHalSpecificData, json_object *mixerResponseJ)
+int InternalHalHandleMixerAttachResponse(afb_api_t apiHandle, struct InternalHalData *currentHalSpecificData, json_object *mixerResponseJ)
{
int err = (int) MIXER_NO_ERROR;
@@ -171,23 +174,32 @@ int HalCtlsHandleMixerAttachResponse(afb_api_t apiHandle, struct CtlHalSpecificD
return (int) MIXER_ERROR_DATA_UNAVAILABLE;
}
- if(mixerStreamsJ && (err += HalCtlsHandleMixerData(apiHandle, &currentHalSpecificData->ctlHalStreamsData, mixerStreamsJ, MIXER_DATA_STREAMS)))
- AFB_API_ERROR(apiHandle, "Error during handling response mixer streams data '%s'", json_object_get_string(mixerStreamsJ));
+ if(mixerStreamsJ) {
+ err += InternalHalHandleMixerData(apiHandle, &currentHalSpecificData->streamsData, mixerStreamsJ, MIXER_DATA_STREAMS);
+ if(err)
+ AFB_API_ERROR(apiHandle, "Error during handling response mixer streams data '%s'", json_object_get_string(mixerStreamsJ));
+ }
- if(mixerPlaybacksJ && (err += HalCtlsHandleMixerData(apiHandle, &currentHalSpecificData->ctlHalPlaybacksData, mixerPlaybacksJ, MIXER_DATA_PLAYBACKS)))
- AFB_API_ERROR(apiHandle, "Error during handling response mixer playbacks data '%s'", json_object_get_string(mixerPlaybacksJ));
+ if(mixerPlaybacksJ) {
+ err += InternalHalHandleMixerData(apiHandle, &currentHalSpecificData->playbacksData, mixerPlaybacksJ, MIXER_DATA_PLAYBACKS);
+ if(err)
+ AFB_API_ERROR(apiHandle, "Error during handling response mixer playbacks data '%s'", json_object_get_string(mixerPlaybacksJ));
+ }
- if(mixerCapturesJ && (err += HalCtlsHandleMixerData(apiHandle, &currentHalSpecificData->ctlHalCapturesData, mixerCapturesJ, MIXER_DATA_CAPTURES)))
- AFB_API_ERROR(apiHandle, "Error during handling response mixer captures data '%s'", json_object_get_string(mixerCapturesJ));
+ if(mixerCapturesJ) {
+ err += InternalHalHandleMixerData(apiHandle, &currentHalSpecificData->capturesData, mixerCapturesJ, MIXER_DATA_CAPTURES);
+ if(err)
+ AFB_API_ERROR(apiHandle, "Error during handling response mixer captures data '%s'", json_object_get_string(mixerCapturesJ));
+ }
- if(! currentHalSpecificData->ctlHalStreamsData) {
+ if(! currentHalSpecificData->streamsData) {
AFB_API_WARNING(apiHandle, "No stream detected in mixer response, %s verb won't be created", HAL_ALL_STREAMS_VERB);
}
else if(afb_api_add_verb(apiHandle,
HAL_ALL_STREAMS_VERB,
"Send a stream action on all streams",
HalUtlActionOnAllStream,
- (void *) currentHalSpecificData->ctlHalStreamsData,
+ (void *) currentHalSpecificData->streamsData,
NULL,
0,
0)) {
@@ -198,7 +210,7 @@ int HalCtlsHandleMixerAttachResponse(afb_api_t apiHandle, struct CtlHalSpecificD
return err;
}
-int HalCtlsAttachToMixer(afb_api_t apiHandle)
+int InternalHalAttachToMixer(afb_api_t apiHandle)
{
int err = 0, mixerError;
@@ -206,12 +218,12 @@ int HalCtlsAttachToMixer(afb_api_t apiHandle)
CtlConfigT *ctrlConfig;
- struct SpecificHalData *currentCtlHalData, *concurentHalData = NULL;
+ struct HalData *currentHalData, *concurentHalData = NULL;
json_object *responseJ = NULL;
if(! apiHandle) {
- AFB_API_ERROR(apiHandle, "Can't get current hal api handle");
+ AFB_API_ERROR(apiHandle, "Can't get current internal hal api handle");
return -1;
}
@@ -220,12 +232,13 @@ int HalCtlsAttachToMixer(afb_api_t apiHandle)
return -2;
}
- if(! (currentCtlHalData = (struct SpecificHalData *) getExternalData(ctrlConfig))) {
+ currentHalData = (struct HalData *) getExternalData(ctrlConfig);
+ if(! currentHalData) {
AFB_API_ERROR(apiHandle, "Can't get current hal controller data");
return -3;
}
- switch(currentCtlHalData->status) {
+ switch(currentHalData->status) {
case HAL_STATUS_UNAVAILABLE:
AFB_API_ERROR(apiHandle, "Seems that the hal corresponding card was not found by alsacore at startup");
return -4;
@@ -238,17 +251,18 @@ int HalCtlsAttachToMixer(afb_api_t apiHandle)
break;
}
- concurentHalData = HalUtlSearchReadyHalDataByCardId(HalMngGetHalDataList(), currentCtlHalData->sndCardId);
+ concurentHalData = HalUtlSearchReadyHalDataByCardId(HalMngGetHalDataList(), currentHalData->sndCardId);
if(concurentHalData) {
AFB_API_ERROR(apiHandle,
"Trying to attach mixer for hal '%s' but the alsa device %i is already in use with mixer by hal '%s'",
- currentCtlHalData->apiName,
- currentCtlHalData->sndCardId,
+ currentHalData->apiName,
+ currentHalData->sndCardId,
concurentHalData->apiName);
return -5;
}
- if(! (apiToCall = currentCtlHalData->ctlHalSpecificData->mixerApiName)) {
+ apiToCall = currentHalData->internalHalData->mixerApiName;
+ if(! apiToCall) {
AFB_API_ERROR(apiHandle, "Can't get mixer api");
return -6;
}
@@ -256,7 +270,7 @@ int HalCtlsAttachToMixer(afb_api_t apiHandle)
if(afb_api_call_sync(apiHandle,
apiToCall,
MIXER_ATTACH_VERB,
- json_object_get(currentCtlHalData->ctlHalSpecificData->halMixerJ),
+ json_object_get(currentHalData->internalHalData->halMixerJ),
&responseJ,
&returnedError,
&returnedInfo)) {
@@ -275,22 +289,25 @@ int HalCtlsAttachToMixer(afb_api_t apiHandle)
apiToCall);
err = -8;
}
- else if((mixerError = HalCtlsHandleMixerAttachResponse(apiHandle, currentCtlHalData->ctlHalSpecificData, responseJ)) != (int) MIXER_NO_ERROR) {
- AFB_API_ERROR(apiHandle,
- "Seems that %s call to api %s succeed but this warning was risen by response decoder : %i '%s'",
- MIXER_ATTACH_VERB,
- apiToCall,
- mixerError,
- json_object_get_string(responseJ));
- err = -9;
- }
else {
- AFB_API_NOTICE(apiHandle,
- "Seems that %s call to api %s succeed with no warning raised : '%s'",
- MIXER_ATTACH_VERB,
- apiToCall,
- json_object_get_string(responseJ));
- currentCtlHalData->status = HAL_STATUS_READY;
+ mixerError = InternalHalHandleMixerAttachResponse(apiHandle, currentHalData->internalHalData, responseJ);
+ if(mixerError != (int) MIXER_NO_ERROR) {
+ AFB_API_ERROR(apiHandle,
+ "Seems that %s call to api %s succeed but this warning was risen by response decoder : %i '%s'",
+ MIXER_ATTACH_VERB,
+ apiToCall,
+ mixerError,
+ json_object_get_string(responseJ));
+ err = -9;
+ }
+ else {
+ AFB_API_NOTICE(apiHandle,
+ "Seems that %s call to api %s succeed with no warning raised : '%s'",
+ MIXER_ATTACH_VERB,
+ apiToCall,
+ json_object_get_string(responseJ));
+ currentHalData->status = HAL_STATUS_READY;
+ }
}
if(responseJ)
@@ -302,12 +319,12 @@ int HalCtlsAttachToMixer(afb_api_t apiHandle)
return err;
}
-int HalCtlsGetInfoFromMixer(afb_api_t apiHandle,
- char *apiToCall,
- json_object *requestJson,
- json_object **toReturnJ,
- char **returnedError,
- char **returnedInfo)
+int InternalHalGetInfoFromMixer(afb_api_t apiHandle,
+ char *apiToCall,
+ json_object *requestJson,
+ json_object **toReturnJ,
+ char **returnedError,
+ char **returnedInfo)
{
json_object *responseJ = NULL;
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-link.h b/4a-hal/4a-internals-hal/4a-internals-hal-mixer-link.h
index 744830c..6c1f827 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-link.h
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-mixer-link.h
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-#ifndef _HAL_CTLS_SOFTMIXER_LINK_INCLUDE_
-#define _HAL_CTLS_SOFTMIXER_LINK_INCLUDE_
+#ifndef _INTERNALS_HAL_SOFTMIXER_LINK_INCLUDE_
+#define _INTERNALS_HAL_SOFTMIXER_LINK_INCLUDE_
#include <stdio.h>
@@ -58,13 +58,13 @@ enum MixerStatus {
MIXER_ERROR_STREAM_ALLOCATION_FAILED =-10000
};
-// HAL controllers handle mixer calls functions
-int HalCtlsAttachToMixer(afb_api_t apiHandle);
-int HalCtlsGetInfoFromMixer(afb_api_t apiHandle,
- char *apiToCall,
- json_object *requestJson,
- json_object **toReturnJ,
- char **returnedError,
- char **returnedInfo);
+// Internals HAL handle mixer calls functions
+int InternalHalAttachToMixer(afb_api_t apiHandle);
+int InternalHalGetInfoFromMixer(afb_api_t apiHandle,
+ char *apiToCall,
+ json_object *requestJson,
+ json_object **toReturnJ,
+ char **returnedError,
+ char **returnedInfo);
-#endif /* _HAL_CTLS_SOFTMIXER_LINK_INCLUDE_ */ \ No newline at end of file
+#endif /* _INTERNALS_HAL_SOFTMIXER_LINK_INCLUDE_ */ \ No newline at end of file
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.c b/4a-hal/4a-internals-hal/4a-internals-hal-value-handler.c
index 4e9b56d..64083a9 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.c
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-value-handler.c
@@ -27,14 +27,14 @@
#include <afb/afb-binding.h>
-#include "4a-hal-controllers-value-handler.h"
-#include "4a-hal-controllers-alsacore-link.h"
+#include "4a-internals-hal-value-handler.h"
+#include "4a-internals-hal-alsacore-link.h"
/*******************************************************************************
* Simple conversion value to/from percentage functions *
******************************************************************************/
-int HalCtlsConvertValueToPercentage(double val, double min, double max)
+int InternalHalConvertValueToPercentage(double val, double min, double max)
{
double range;
@@ -47,7 +47,7 @@ int HalCtlsConvertValueToPercentage(double val, double min, double max)
return (int) round(val / range * 100);
}
-int HalCtlsConvertPercentageToValue(int percentage, int min, int max)
+int InternalHalConvertPercentageToValue(int percentage, int min, int max)
{
int range;
@@ -62,11 +62,11 @@ int HalCtlsConvertPercentageToValue(int percentage, int min, int max)
* Convert json object from percentage to value *
******************************************************************************/
-int HalCtlsConvertJsonValueForIntegerControl(afb_api_t apiHandle,
- struct CtlHalAlsaCtlProperties *alsaCtlProperties,
- json_object *toConvertJ,
- json_object **ConvertedJ,
- enum ConversionType requestedConversion)
+int InternalHalConvertJsonValueForIntegerControl(afb_api_t apiHandle,
+ struct InternalHalAlsaCtlProperties *alsaCtlProperties,
+ json_object *toConvertJ,
+ json_object **ConvertedJ,
+ enum ConversionType requestedConversion)
{
int initialValue, convertedValue;
@@ -89,10 +89,9 @@ int HalCtlsConvertJsonValueForIntegerControl(afb_api_t apiHandle,
return -2;
}
- convertedValue = HalCtlsConvertPercentageToValue(initialValue,
- alsaCtlProperties->minval,
- alsaCtlProperties->maxval);
-
+ convertedValue = InternalHalConvertPercentageToValue(initialValue,
+ alsaCtlProperties->minval,
+ alsaCtlProperties->maxval);
if(convertedValue == -INT_MAX) {
AFB_API_ERROR(apiHandle,
"Didn't succeed to convert %i (using min %i et max %i)",
@@ -110,10 +109,9 @@ int HalCtlsConvertJsonValueForIntegerControl(afb_api_t apiHandle,
break;
case CONVERSION_ALSACORE_TO_NORMALIZED:
- convertedValue = HalCtlsConvertValueToPercentage(initialValue,
- alsaCtlProperties->minval,
- alsaCtlProperties->maxval);
-
+ convertedValue = InternalHalConvertValueToPercentage(initialValue,
+ alsaCtlProperties->minval,
+ alsaCtlProperties->maxval);
if(convertedValue == -INT_MAX) {
AFB_API_ERROR(apiHandle,
"Didn't succeed to convert %i (using min %i et max %i)",
@@ -139,11 +137,11 @@ int HalCtlsConvertJsonValueForIntegerControl(afb_api_t apiHandle,
return 0;
}
-int HalCtlsConvertJsonValueForBooleanControl(afb_api_t apiHandle,
- struct CtlHalAlsaCtlProperties *alsaCtlProperties,
- json_object *toConvertJ,
- json_object **ConvertedJ,
- enum ConversionType requestedConversion)
+int InternalHalConvertJsonValueForBooleanControl(afb_api_t apiHandle,
+ struct InternalHalAlsaCtlProperties *alsaCtlProperties,
+ json_object *toConvertJ,
+ json_object **ConvertedJ,
+ enum ConversionType requestedConversion)
{
int initialValue;
@@ -192,11 +190,11 @@ int HalCtlsConvertJsonValueForBooleanControl(afb_api_t apiHandle,
return 0;
}
-int HalCtlsConvertJsonValues(afb_api_t apiHandle,
- struct CtlHalAlsaCtlProperties *alsaCtlProperties,
- json_object *toConvertJ,
- json_object **ConvertedJ,
- enum ConversionType requestedConversion)
+int InternalHalConvertJsonValues(afb_api_t apiHandle,
+ struct InternalHalAlsaCtlProperties *alsaCtlProperties,
+ json_object *toConvertJ,
+ json_object **ConvertedJ,
+ enum ConversionType requestedConversion)
{
int conversionError = 0, idx, count;
@@ -219,11 +217,12 @@ int HalCtlsConvertJsonValues(afb_api_t apiHandle,
switch(alsaCtlProperties->type) {
case SND_CTL_ELEM_TYPE_INTEGER:
case SND_CTL_ELEM_TYPE_INTEGER64:
- if((conversionError = HalCtlsConvertJsonValueForIntegerControl(apiHandle,
+ conversionError = InternalHalConvertJsonValueForIntegerControl(apiHandle,
alsaCtlProperties,
toConvertObjectJ,
&convertedValueJ,
- requestedConversion))) {
+ requestedConversion);
+ if(conversionError) {
AFB_API_ERROR(apiHandle,
"Error %i happened in when trying to convert index %i for integer control ('%s')",
conversionError,
@@ -235,11 +234,12 @@ int HalCtlsConvertJsonValues(afb_api_t apiHandle,
break;
case SND_CTL_ELEM_TYPE_BOOLEAN:
- if((conversionError = HalCtlsConvertJsonValueForBooleanControl(apiHandle,
+ conversionError = InternalHalConvertJsonValueForBooleanControl(apiHandle,
alsaCtlProperties,
toConvertObjectJ,
&convertedValueJ,
- requestedConversion))) {
+ requestedConversion);
+ if(conversionError) {
AFB_API_ERROR(apiHandle,
"Error %i happened in when trying to convert index %i for boolean control ('%s')",
conversionError,
@@ -266,11 +266,11 @@ int HalCtlsConvertJsonValues(afb_api_t apiHandle,
return 0;
}
-int HalCtlsChangePreviousValuesUsingJson(afb_api_t apiHandle,
- struct CtlHalAlsaCtlProperties *alsaCtlProperties,
- json_object *requestedPercentageVariationJ,
- json_object *previousControlValuesJ,
- json_object **ChangedJ)
+int InternalHalChangePreviousValuesUsingJson(afb_api_t apiHandle,
+ struct InternalHalAlsaCtlProperties *alsaCtlProperties,
+ json_object *requestedPercentageVariationJ,
+ json_object *previousControlValuesJ,
+ json_object **ChangedJ)
{
int requestedPercentageVariation, requestedVariation, toChangeValue, changedValue, idx, count;
@@ -307,10 +307,9 @@ int HalCtlsChangePreviousValuesUsingJson(afb_api_t apiHandle,
return -3;
}
- requestedVariation = HalCtlsConvertPercentageToValue((int) abs(requestedPercentageVariation),
- alsaCtlProperties->minval,
- alsaCtlProperties->maxval);
-
+ requestedVariation = InternalHalConvertPercentageToValue((int) abs(requestedPercentageVariation),
+ alsaCtlProperties->minval,
+ alsaCtlProperties->maxval);
if(requestedVariation == -INT_MAX) {
AFB_API_ERROR(apiHandle,
"Didn't succeed to convert %i (using min %i et max %i)",
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h b/4a-hal/4a-internals-hal/4a-internals-hal-value-handler.h
index 03b47e7..f0288ac 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h
+++ b/4a-hal/4a-internals-hal/4a-internals-hal-value-handler.h
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-#ifndef _HAL_CTLS_VALUE_CONVERSION_INCLUDE_
-#define _HAL_CTLS_VALUE_CONVERSION_INCLUDE_
+#ifndef _INTERNALS_HAL_VALUE_CONVERSION_INCLUDE_
+#define _INTERNALS_HAL_VALUE_CONVERSION_INCLUDE_
#include <stdio.h>
@@ -24,7 +24,7 @@
#include <afb/afb-binding.h>
-#include "4a-hal-controllers-alsacore-link.h"
+#include "4a-internals-hal-alsacore-link.h"
// Enum for the type of conversion requested
enum ConversionType {
@@ -33,21 +33,21 @@ enum ConversionType {
};
// Simple conversion value to/from percentage functions
-int HalCtlsConvertValueToPercentage(double val, double min, double max);
-int HalCtlsConvertPercentageToValue(int percentage, int min, int max);
+int InternalHalConvertValueToPercentage(double val, double min, double max);
+int InternalHalConvertPercentageToValue(int percentage, int min, int max);
// Convert json object from percentage to value
-int HalCtlsConvertJsonValues(afb_api_t apiHandle,
- struct CtlHalAlsaCtlProperties *alsaCtlProperties,
- json_object *toConvertJ,
- json_object **ConvertedJ,
- enum ConversionType requestedConversion);
+int InternalHalConvertJsonValues(afb_api_t apiHandle,
+ struct InternalHalAlsaCtlProperties *alsaCtlProperties,
+ json_object *toConvertJ,
+ json_object **ConvertedJ,
+ enum ConversionType requestedConversion);
// Increase/Decrease previous values using percentage passed in Json
-int HalCtlsChangePreviousValuesUsingJson(afb_api_t apiHandle,
- struct CtlHalAlsaCtlProperties *alsaCtlProperties,
- json_object *requestedPercentageVariationJ,
- json_object *previousControlValuesJ,
- json_object **ChangedJ);
+int InternalHalChangePreviousValuesUsingJson(afb_api_t apiHandle,
+ struct InternalHalAlsaCtlProperties *alsaCtlProperties,
+ json_object *requestedPercentageVariationJ,
+ json_object *previousControlValuesJ,
+ json_object **ChangedJ);
-#endif /* _HAL_CTLS_VALUE_CONVERSION_INCLUDE_ */ \ No newline at end of file
+#endif /* _INTERNALS_HAL_VALUE_CONVERSION_INCLUDE_ */ \ No newline at end of file
diff --git a/4a-hal/CMakeLists.txt b/4a-hal/CMakeLists.txt
index 0c722c5..b863c5f 100644
--- a/4a-hal/CMakeLists.txt
+++ b/4a-hal/CMakeLists.txt
@@ -23,13 +23,13 @@ PROJECT_TARGET_ADD(4a-hal)
# Define project Targets
add_library(${TARGET_NAME} MODULE
- ${TARGET_NAME}-manager/${TARGET_NAME}-manager.c
- ${TARGET_NAME}-manager/${TARGET_NAME}-manager-cb.c
- ${TARGET_NAME}-controllers/${TARGET_NAME}-controllers-alsacore-link.c
- ${TARGET_NAME}-controllers/${TARGET_NAME}-controllers-api-loader.c
- ${TARGET_NAME}-controllers/${TARGET_NAME}-controllers-cb.c
- ${TARGET_NAME}-controllers/${TARGET_NAME}-controllers-mixer-link.c
- ${TARGET_NAME}-controllers/${TARGET_NAME}-controllers-value-handler.c
+ 4a-hal-manager/4a-hal-manager.c
+ 4a-hal-manager/4a-hal-manager-cb.c
+ 4a-internals-hal/4a-internals-hal-alsacore-link.c
+ 4a-internals-hal/4a-internals-hal-api-loader.c
+ 4a-internals-hal/4a-internals-hal-cb.c
+ 4a-internals-hal/4a-internals-hal-mixer-link.c
+ 4a-internals-hal/4a-internals-hal-value-handler.c
)
# Binder exposes a unique public entry point