summaryrefslogtreecommitdiffstats
path: root/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2019-01-07 11:30:12 +0100
committerJonathan Aillet <jonathan.aillet@iot.bzh>2019-01-28 15:38:28 +0100
commit4f44ee8f17789ac27cd1e29a451ac450c7dbeb06 (patch)
treee27e4c05a417ef2d8a9ca12451af0f8e298cc1cb /4a-hal/4a-hal-utilities/4a-hal-utilities-data.c
parenta93c3566d181e82a39b32acffdb13a411ca4f5f5 (diff)
Turn '4a-hal-utilities' into an internal library
That way, includes will be cleaner and '4a-hal-utilities' functions will be usable in plugin. Change-Id: I8a2146bd4e5dd5ef449b9ba7f2b1eed4d59045d3 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to '4a-hal/4a-hal-utilities/4a-hal-utilities-data.c')
-rw-r--r--4a-hal/4a-hal-utilities/4a-hal-utilities-data.c244
1 files changed, 0 insertions, 244 deletions
diff --git a/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c b/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c
deleted file mode 100644
index f3ee028..0000000
--- a/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (C) 2018 "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 <string.h>
-
-#include <wrap-json.h>
-
-#include "4a-hal-utilities-data.h"
-
-#include "../4a-hal-controllers/4a-hal-controllers-alsacore-link.h"
-
-/*******************************************************************************
- * Specfic Hal controller streams data handling functions *
- ******************************************************************************/
-
-uint8_t HalUtlRemoveAllCtlHalStreamsData(struct CtlHalMixerDataT *ctlHalStreamsData)
-{
- unsigned int cpt;
-
- if(! ctlHalStreamsData)
- return -1;
-
- if(! ctlHalStreamsData->count)
- return -2;
-
- for(cpt = 0; cpt < ctlHalStreamsData->count; cpt++) {
- free(ctlHalStreamsData->data[cpt].verb);
- free(ctlHalStreamsData->data[cpt].verbToCall);
- free(ctlHalStreamsData->data[cpt].streamCardId);
- }
-
- free(ctlHalStreamsData->data);
-
- return 0;
-}
-
-/*******************************************************************************
- * Specfic Hal data handling functions *
- ******************************************************************************/
-
-struct SpecificHalData *HalUtlAddHalApiToHalList(struct SpecificHalData **firstHalData)
-{
- struct SpecificHalData *currentApi;
-
- if(! firstHalData)
- return NULL;
-
- currentApi = *firstHalData;
-
- if(! currentApi) {
- currentApi = (struct SpecificHalData *) calloc(1, sizeof(struct SpecificHalData));
- if(! currentApi)
- return NULL;
-
- *firstHalData = currentApi;
- }
- else {
- while(currentApi->next)
- currentApi = currentApi->next;
-
- currentApi->next = calloc(1, sizeof(struct SpecificHalData));
- if(! currentApi)
- return NULL;
-
- currentApi = currentApi->next;
- }
-
- memset(currentApi, 0, sizeof(struct SpecificHalData));
-
- return currentApi;
-}
-
-int8_t HalUtlRemoveSelectedHalFromList(struct SpecificHalData **firstHalData, struct SpecificHalData *apiToRemove)
-{
- struct SpecificHalData *currentApi, *matchingApi;
-
- if(! firstHalData || ! apiToRemove)
- return -1;
-
- currentApi = *firstHalData;
-
- if(currentApi == apiToRemove) {
- *firstHalData = currentApi->next;
- matchingApi = currentApi;
- }
- else {
- while(currentApi && currentApi->next != apiToRemove)
- currentApi = currentApi->next;
-
- if(currentApi) {
- matchingApi = currentApi->next;
- currentApi->next = currentApi->next->next;
- }
- else {
- return -2;
- }
- }
-
- if(! matchingApi->internal) {
- free(matchingApi->apiName);
- free(matchingApi->sndCardPath);
- free(matchingApi->info);
- free(matchingApi->author);
- free(matchingApi->version);
- free(matchingApi->date);
- }
- else {
- HalUtlRemoveAllCtlHalStreamsData(&matchingApi->ctlHalSpecificData->ctlHalStreamsData);
-
- HalCtlsFreeAlsaCtlsMap(matchingApi->ctlHalSpecificData->ctlHalAlsaMapT);
-
- free(matchingApi->ctlHalSpecificData);
- }
-
- free(matchingApi);
-
- return 0;
-}
-
-int64_t HalUtlRemoveAllHalFromList(struct SpecificHalData **firstHalData)
-{
- int8_t ret;
- int64_t CtlHalApiRemoved = 0;
-
- while(*firstHalData) {
- ret = HalUtlRemoveSelectedHalFromList(firstHalData, *firstHalData);
- if(ret)
- return (int64_t) ret;
-
- CtlHalApiRemoved++;
- }
-
- return CtlHalApiRemoved;
-}
-
-int64_t HalUtlGetNumberOfHalInList(struct SpecificHalData **firstHalData)
-{
- int64_t numberOfCtlHal = 0;
- struct SpecificHalData *currentApi;
-
- if(! firstHalData)
- return -1;
-
- currentApi = *firstHalData;
-
- while(currentApi) {
- currentApi = currentApi->next;
- numberOfCtlHal++;
- }
-
- return numberOfCtlHal;
-}
-
-struct SpecificHalData *HalUtlSearchHalDataByApiName(struct SpecificHalData **firstHalData, char *apiName)
-{
- struct SpecificHalData *currentApi;
-
- if(! firstHalData || ! apiName)
- return NULL;
-
- currentApi = *firstHalData;
-
- while(currentApi) {
- if(! strcmp(apiName, currentApi->apiName))
- return currentApi;
-
- currentApi = currentApi->next;
- }
-
- return NULL;
-}
-
-
-struct SpecificHalData *HalUtlSearchReadyHalDataByCarId(struct SpecificHalData **firstHalData, int cardId)
-{
- struct SpecificHalData *currentApi;
-
- if(! firstHalData)
- return NULL;
-
- currentApi = *firstHalData;
- while(currentApi) {
- if(currentApi->status == HAL_STATUS_READY && currentApi->sndCardId == cardId)
- return currentApi;
-
- currentApi = currentApi->next;
- }
-
- return NULL;
-}
-
-/*******************************************************************************
- * Hal Manager data handling functions *
- ******************************************************************************/
-
-uint8_t HalUtlInitializeHalMgrData(AFB_ApiT apiHandle, struct HalMgrData *HalMgrGlobalData, char *apiName, char *info)
-{
- if(! apiHandle || ! HalMgrGlobalData || ! apiName || ! info)
- return -1;
-
- // Allocate and fill apiName and info strings
- HalMgrGlobalData->apiName = strdup(apiName);
- if(! HalMgrGlobalData->apiName)
- return -2;
-
- HalMgrGlobalData->info = strdup(info);
- if(! HalMgrGlobalData->apiName)
- return -3;
-
- HalMgrGlobalData->apiHandle = apiHandle;
-
- return 0;
-}
-
-void HalUtlRemoveHalMgrData(struct HalMgrData *HalMgrGlobalData)
-{
- if(! HalMgrGlobalData)
- return;
-
- if(HalMgrGlobalData->first)
- HalUtlRemoveAllHalFromList(&HalMgrGlobalData->first);
-
- free(HalMgrGlobalData->apiName);
- free(HalMgrGlobalData->info);
-
- free(HalMgrGlobalData);
-} \ No newline at end of file