summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2019-06-19 14:13:34 +0200
committerJonathan Aillet <jonathan.aillet@iot.bzh>2019-06-25 10:22:48 +0200
commit70c11ed3c3f1f7ce80af6fd3997a8bb8a38d392e (patch)
tree9983db8e9b9b21c06fc37a50d208d1324c175994
parent7cc44519439f2e96b88f4b9cc68e96d0668ef7ea (diff)
Move function used to process all halmap objects
Move function used to process all halmap json objects. BUG-AGL: SPEC-2329 Change-Id: I692b1810ce2298b24198a001c26b9233740ca31a Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
-rw-r--r--src/4a-internals-hal/4a-internals-hal-cb.c100
1 files changed, 50 insertions, 50 deletions
diff --git a/src/4a-internals-hal/4a-internals-hal-cb.c b/src/4a-internals-hal/4a-internals-hal-cb.c
index 1e920c3..a8d6dc3 100644
--- a/src/4a-internals-hal/4a-internals-hal-cb.c
+++ b/src/4a-internals-hal/4a-internals-hal-cb.c
@@ -266,6 +266,56 @@ int InternalHalProcessOneHalMapObject(afb_api_t apiHandle, struct InternalHalAls
return 0;
}
+int InternalHalProcessAllHalMap(afb_api_t apiHandle, json_object *AlsaMapJ, struct InternalHalAlsaMapT *currentInternalHalAlsaMapT)
+{
+ int idx, err = 0;
+
+ struct InternalHalAlsaMap *ctlMaps;
+
+ json_object *currentAlsaMapJ;
+ json_type alsaMapType;
+
+ alsaMapType = json_object_get_type(AlsaMapJ);
+ switch(alsaMapType) {
+ case json_type_array:
+ currentInternalHalAlsaMapT->ctlsCount = (unsigned int) json_object_array_length(AlsaMapJ);
+ break;
+
+ case json_type_object:
+ currentInternalHalAlsaMapT->ctlsCount = 1;
+ break;
+
+ default:
+ currentInternalHalAlsaMapT->ctlsCount = 0;
+ currentInternalHalAlsaMapT->ctls = NULL;
+ AFB_API_ERROR(apiHandle, "Content of 'halmap' section is not valid ('%s')", json_object_get_string(AlsaMapJ));
+ return -1;
+ }
+
+ ctlMaps = calloc(currentInternalHalAlsaMapT->ctlsCount, sizeof(struct InternalHalAlsaMap));
+ if(! ctlMaps) {
+ AFB_API_ERROR(apiHandle, "Didn't succeed to allocate halmap data table");
+ return -2;
+ }
+
+ for(idx = 0; idx < currentInternalHalAlsaMapT->ctlsCount; idx++) {
+ currentAlsaMapJ = (alsaMapType == json_type_array) ? json_object_array_get_idx(AlsaMapJ, idx) : AlsaMapJ;
+ err = InternalHalProcessOneHalMapObject(apiHandle, &ctlMaps[idx], currentAlsaMapJ);
+ if(err) {
+ AFB_API_ERROR(apiHandle,
+ "Didn't succeed to proccess halmap object %i ('%s')",
+ idx,
+ json_object_get_string(currentAlsaMapJ));
+ HalUtlFreeAlsaCtlsMap(currentInternalHalAlsaMapT);
+ return -3;
+ }
+ }
+
+ currentInternalHalAlsaMapT->ctls = ctlMaps;
+
+ return err;
+}
+
int InternalHalHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaMap *alsaMap)
{
int err;
@@ -360,56 +410,6 @@ int InternalHalHandleOneHalMapObject(afb_api_t apiHandle, char *cardId, struct I
return 0;
}
-int InternalHalProcessAllHalMap(afb_api_t apiHandle, json_object *AlsaMapJ, struct InternalHalAlsaMapT *currentInternalHalAlsaMapT)
-{
- int idx, err = 0;
-
- struct InternalHalAlsaMap *ctlMaps;
-
- json_object *currentAlsaMapJ;
- json_type alsaMapType;
-
- alsaMapType = json_object_get_type(AlsaMapJ);
- switch(alsaMapType) {
- case json_type_array:
- currentInternalHalAlsaMapT->ctlsCount = (unsigned int) json_object_array_length(AlsaMapJ);
- break;
-
- case json_type_object:
- currentInternalHalAlsaMapT->ctlsCount = 1;
- break;
-
- default:
- currentInternalHalAlsaMapT->ctlsCount = 0;
- currentInternalHalAlsaMapT->ctls = NULL;
- AFB_API_ERROR(apiHandle, "Content of 'halmap' section is not valid ('%s')", json_object_get_string(AlsaMapJ));
- return -1;
- }
-
- ctlMaps = calloc(currentInternalHalAlsaMapT->ctlsCount, sizeof(struct InternalHalAlsaMap));
- if(! ctlMaps) {
- AFB_API_ERROR(apiHandle, "Didn't succeed to allocate halmap data table");
- return -2;
- }
-
- for(idx = 0; idx < currentInternalHalAlsaMapT->ctlsCount; idx++) {
- currentAlsaMapJ = (alsaMapType == json_type_array) ? json_object_array_get_idx(AlsaMapJ, idx) : AlsaMapJ;
- err = InternalHalProcessOneHalMapObject(apiHandle, &ctlMaps[idx], currentAlsaMapJ);
- if(err) {
- AFB_API_ERROR(apiHandle,
- "Didn't succeed to proccess halmap object %i ('%s')",
- idx,
- json_object_get_string(currentAlsaMapJ));
- HalUtlFreeAlsaCtlsMap(currentInternalHalAlsaMapT);
- return -3;
- }
- }
-
- currentInternalHalAlsaMapT->ctls = ctlMaps;
-
- return err;
-}
-
int InternalHalHandleAllHalMap(afb_api_t apiHandle, int sndCardId, struct InternalHalAlsaMapT *currentInternalHalAlsaMapT)
{
int idx, err = 0;