summaryrefslogtreecommitdiffstats
path: root/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2018-12-19 10:59:37 +0100
committerJonathan Aillet <jonathan.aillet@iot.bzh>2018-12-20 11:09:53 +0100
commit03776c5a3fa9adb02a8ebb43dcc693d116390e64 (patch)
treed74078d8c5f5864d2ad8c3b19b039600bba9450d /4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h
parenta34509b9e7e389c7311b1218602a2d6ba3cacda9 (diff)
Improve ALSA controls volume values conversion
Rework halmap ALSA controls volume conversion to be able to add new types of volume conversions easily. Bug-AGL: SPEC-1313 Change-Id: I0949f25c24a349e7409233f51b3d5738ebc43a8a Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to '4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h')
-rw-r--r--4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h b/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h
index 5f91aaa..f976fe8 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h
+++ b/4a-hal/4a-hal-controllers/4a-hal-controllers-value-handler.h
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-#ifndef _HAL_CTLS_VALUE_NORMALIZATION_INCLUDE_
-#define _HAL_CTLS_VALUE_NORMALIZATION_INCLUDE_
+#ifndef _HAL_CTLS_VALUE_CONVERSION_INCLUDE_
+#define _HAL_CTLS_VALUE_CONVERSION_INCLUDE_
#include <stdio.h>
@@ -24,11 +24,21 @@
#include "4a-hal-controllers-alsacore-link.h"
+// Enum for the type of conversion requested
+enum ConversionType {
+ CONVERSION_NORMALIZED_TO_ALSACORE = 1,
+ CONVERSION_ALSACORE_TO_NORMALIZED = 2
+};
+
// Simple conversion value to/from percentage functions
int HalCtlsConvertValueToPercentage(double val, double min, double max);
int HalCtlsConvertPercentageToValue(int percentage, int min, int max);
// Convert json object from percentage to value
-int HalCtlsNormalizeJsonValues(AFB_ApiT apiHandle, struct CtlHalAlsaCtlProperties *alsaCtlProperties, json_object *toConvertJ, json_object ** ConvertedJ);
+int HalCtlsConvertJsonValues(AFB_ApiT apiHandle,
+ struct CtlHalAlsaCtlProperties *alsaCtlProperties,
+ json_object *toConvertJ,
+ json_object **ConvertedJ,
+ enum ConversionType requestedConversion);
-#endif /* _HAL_CTLS_VALUE_NORMALIZATION_INCLUDE_ */ \ No newline at end of file
+#endif /* _HAL_CTLS_VALUE_CONVERSION_INCLUDE_ */ \ No newline at end of file