summaryrefslogtreecommitdiff
path: root/cleopatre/application/libspid/src
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/libspid/src')
-rw-r--r--cleopatre/application/libspid/src/hpav_info.c67
1 files changed, 67 insertions, 0 deletions
diff --git a/cleopatre/application/libspid/src/hpav_info.c b/cleopatre/application/libspid/src/hpav_info.c
new file mode 100644
index 0000000000..4e259c64ed
--- /dev/null
+++ b/cleopatre/application/libspid/src/hpav_info.c
@@ -0,0 +1,67 @@
+/* SPC300 bundle {{{
+ *
+ * Copyright (C) 2009-2011 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file application/libspid/src/hpav_info.c
+ * \brief function for reading the HPAV info file.
+ * \ingroup libspid
+ *
+ */
+
+#include "libspid.h"
+
+libspid_error_t
+libspid_hpav_info_read_file (libspid_hpav_info_t *hpav_info)
+{
+ char is_backup_cco_str[LIBSPID_BOOLEAN_STR_MAX_LEN] = {0};
+ char is_sc_str[LIBSPID_BOOLEAN_STR_MAX_LEN] = {0};
+ char is_sc_button_str[LIBSPID_BOOLEAN_STR_MAX_LEN] = {0};
+ libspid_error_t ret;
+
+ if (NULL == hpav_info)
+ {
+ return LIBSPID_ERROR_PARAM;
+ }
+
+ const char *labels[LIBSPID_HPAV_INFO_ITEMS_COUNT] =
+ {
+ LIBSPID_HPAV_INFO_LABEL_STATUS,
+ LIBSPID_HPAV_INFO_LABEL_CCO,
+ LIBSPID_HPAV_INFO_LABEL_BACKUP_CCO,
+ LIBSPID_HPAV_INFO_LABEL_SC,
+ LIBSPID_HPAV_INFO_LABEL_SC_BUTTON
+ };
+
+ char *values[LIBSPID_HPAV_INFO_ITEMS_COUNT] =
+ {
+ hpav_info->status,
+ hpav_info->cco,
+ is_backup_cco_str,
+ is_sc_str,
+ is_sc_button_str
+ };
+
+ int buffers_len[LIBSPID_HPAV_INFO_ITEMS_COUNT]=
+ {
+ LIBSPID_HPAV_INFO_STATUS_MAX_LEN,
+ LIBSPID_HPAV_INFO_CCO_MAX_LEN,
+ LIBSPID_BOOLEAN_STR_MAX_LEN,
+ LIBSPID_BOOLEAN_STR_MAX_LEN,
+ LIBSPID_BOOLEAN_STR_MAX_LEN
+ };
+
+ ret = libspid_config_read_items (LIBSPID_HPAV_INFO_PATH, labels, values,
+ buffers_len, LIBSPID_HPAV_INFO_ITEMS_COUNT);
+ if (LIBSPID_SUCCESS == ret)
+ {
+ hpav_info->is_backup_cco = LIBSPID_GET_BOOLEAN (is_backup_cco_str);
+ hpav_info->is_sc = LIBSPID_GET_BOOLEAN (is_sc_str);
+ hpav_info->is_sc_button = LIBSPID_GET_BOOLEAN (is_sc_button_str);
+ }
+
+ return ret;
+}