This removes our own declaration of dc_descriptor_t and all our accesses
to its internals, and switches to use the libdivecomputer functions to
access those instead.

Signed-off-by: Anton Lundin <[email protected]>
---
 core/libdivecomputer.c | 6 +++---
 core/libdivecomputer.h | 7 -------
 core/ostctools.c       | 4 ++--
 3 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/core/libdivecomputer.c b/core/libdivecomputer.c
index 5bdbb9e..8a8b215 100644
--- a/core/libdivecomputer.c
+++ b/core/libdivecomputer.c
@@ -1079,14 +1079,14 @@ dc_status_t libdc_buffer_parser(struct dive *dive, 
device_data_t *data, unsigned
        dc_status_t rc;
        dc_parser_t *parser = NULL;
 
-       switch (data->descriptor->type) {
+       switch (dc_descriptor_get_type(data->descriptor)) {
        case DC_FAMILY_UWATEC_ALADIN:
        case DC_FAMILY_UWATEC_MEMOMOUSE:
                rc = uwatec_memomouse_parser_create(&parser, data->context, 0, 
0);
                break;
        case DC_FAMILY_UWATEC_SMART:
        case DC_FAMILY_UWATEC_MERIDIAN:
-               rc = uwatec_smart_parser_create (&parser, data->context, 
data->descriptor->model, 0, 0);
+               rc = uwatec_smart_parser_create (&parser, data->context, 
dc_descriptor_get_model(data->descriptor), 0, 0);
                break;
        case DC_FAMILY_HW_OSTC:
 #if defined(SSRF_CUSTOM_SERIAL)
@@ -1120,7 +1120,7 @@ dc_status_t libdc_buffer_parser(struct dive *dive, 
device_data_t *data, unsigned
        }
        // Do not parse Aladin/Memomouse headers as they are fakes
        // Do not return on error, we can still parse the samples
-       if (data->descriptor->type != DC_FAMILY_UWATEC_ALADIN && 
data->descriptor->type != DC_FAMILY_UWATEC_MEMOMOUSE) {
+       if (dc_descriptor_get_type(data->descriptor) != DC_FAMILY_UWATEC_ALADIN 
&& dc_descriptor_get_type(data->descriptor) != DC_FAMILY_UWATEC_MEMOMOUSE) {
                rc = libdc_header_parser (parser, data, dive);
                if (rc != DC_STATUS_SUCCESS) {
                        report_error("Error parsing the dive header data. Dive 
# %d\nStatus = %s", dive->number, errmsg(rc));
diff --git a/core/libdivecomputer.h b/core/libdivecomputer.h
index ecf4dff..aba972d 100644
--- a/core/libdivecomputer.h
+++ b/core/libdivecomputer.h
@@ -18,13 +18,6 @@
 extern "C" {
 #endif
 
-struct dc_descriptor_t {
-       const char *vendor;
-       const char *product;
-       dc_family_t type;
-       unsigned int model;
-};
-
 /* don't forget to include the UI toolkit specific display-XXX.h first
    to get the definition of progressbar_t */
 typedef struct device_data_t
diff --git a/core/ostctools.c b/core/ostctools.c
index caf7dc2..c3fb66c 100644
--- a/core/ostctools.c
+++ b/core/ostctools.c
@@ -20,8 +20,8 @@ static int ostc_prepare_data(int data_model, dc_family_t 
dc_fam, device_data_t *
        data_descriptor = get_descriptor(dc_fam, data_model);
        if (data_descriptor) {
                dev_data->descriptor = data_descriptor;
-               dev_data->vendor = copy_string(data_descriptor->vendor);
-               dev_data->model = copy_string(data_descriptor->product);
+               dev_data->vendor = 
copy_string(dc_descriptor_get_vendor(data_descriptor));
+               dev_data->model = 
copy_string(dc_descriptor_get_product(data_descriptor));
        } else {
                return 0;
        }
-- 
2.9.3

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to