diff options
Diffstat (limited to 'lib/4a-hal-utilities/4a-hal-utilities-alsa-data.c')
-rw-r--r-- | lib/4a-hal-utilities/4a-hal-utilities-alsa-data.c | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/lib/4a-hal-utilities/4a-hal-utilities-alsa-data.c b/lib/4a-hal-utilities/4a-hal-utilities-alsa-data.c deleted file mode 100644 index 5d37c0a..0000000 --- a/lib/4a-hal-utilities/4a-hal-utilities-alsa-data.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2019 "IoT.bzh" - * Author Jonathan Aillet <jonathan.aillet@iot.bzh> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define _GNU_SOURCE - -#include <stdio.h> - -#include <wrap-json.h> - -#include <afb/afb-binding.h> - -#include "4a-hal-utilities-alsa-data.h" - -/******************************************************************************* - * Internal Hal - ALSA controls data handling functions * - ******************************************************************************/ - -json_object *HalUtGetJsonArrayForSpecificControl(afb_api_t apiHandle, struct InternalHalAlsaMap *currentAlsaMapData) -{ - int wrapRet; - - json_object *currentAlsaMapDataJ; - - if(! apiHandle) { - AFB_API_ERROR(apiHandle, "Can't get current internal hal api handle"); - return NULL; - } - - if(! currentAlsaMapData) { - AFB_API_ERROR(apiHandle, "ALSA control data to use to generate json object are empty"); - return NULL; - } - - wrapRet = wrap_json_pack(¤tAlsaMapDataJ, - "{s:s s:s}", - "name", currentAlsaMapData->uid, - "info", currentAlsaMapData->info ? currentAlsaMapData->info : "none"); - if(wrapRet) { - AFB_API_ERROR(apiHandle, "Didn't succeed to allocate current streams json object"); - return NULL; - } - - return currentAlsaMapDataJ; -} - -json_object *HalUtGetJsonArrayForAllControls(afb_api_t apiHandle, struct InternalHalAlsaMapT *currentAlsaMapDataT) -{ - unsigned int idx; - - json_object *alsaMapDataArrayJ, *currentAlsaMapDataJ; - - if(! apiHandle) { - AFB_API_ERROR(apiHandle, "Can't get current internal hal api handle"); - return NULL; - } - - if(! currentAlsaMapDataT) { - AFB_API_ERROR(apiHandle, "Can't get Alsa map data table to handle"); - return NULL; - } - - alsaMapDataArrayJ = json_object_new_array(); - if(! alsaMapDataArrayJ) { - AFB_API_ERROR(apiHandle, "Didn't succeed to allocate ALSA controls data json array"); - return NULL; - } - - for(idx = 0; idx < currentAlsaMapDataT->ctlsCount; idx++) { - currentAlsaMapDataJ = HalUtGetJsonArrayForSpecificControl(apiHandle, ¤tAlsaMapDataT->ctls[idx]); - if(! currentAlsaMapDataJ) { - AFB_API_ERROR(apiHandle, "Didn't succeed to generate current ALSA control data json object"); - json_object_put(alsaMapDataArrayJ); - return NULL; - } - - json_object_array_add(alsaMapDataArrayJ, currentAlsaMapDataJ); - } - - return alsaMapDataArrayJ; -} - -int HalUtlFreeAlsaCtlsMap(struct InternalHalAlsaMapT *alsaCtlsMap) -{ - int idx; - - if(! alsaCtlsMap) - return -1; - - if(alsaCtlsMap->ctlsCount > 0 && ! alsaCtlsMap->ctls) - return -2; - - for(idx = 0; idx < alsaCtlsMap->ctlsCount; idx++) { - free(alsaCtlsMap->ctls[idx].action); - free(alsaCtlsMap->ctls[idx].ctl.alsaCtlProperties.enums); - free(alsaCtlsMap->ctls[idx].ctl.alsaCtlProperties.dbscale); - } - - free(alsaCtlsMap->ctls); - - free(alsaCtlsMap); - - return 0; -}
\ No newline at end of file |