subsurface/libdivecomputer.h
Salvador Cuñat a0904fc4d1 Add dc_descriptor_t structure
While downloading from DC the user sets the vendor and model. In
imports, this is not possible. The parser has to figure out somehow at
least the dive computer model used in a dive basis, as it can even change
over time, and a log file can include several different models.

We will use this structure in import tasks to ensure that data
passed to libdc are consistent with what it expects to find.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-04 10:27:09 -07:00

58 lines
1.2 KiB
C

#ifndef LIBDIVECOMPUTER_H
#define LIBDIVECOMPUTER_H
/* libdivecomputer */
#include <libdivecomputer/version.h>
#include <libdivecomputer/device.h>
#include <libdivecomputer/parser.h>
#include "dive.h"
#ifdef __cplusplus
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
{
dc_descriptor_t *descriptor;
const char *vendor, *product, *devname;
const char *model;
uint32_t libdc_firmware, libdc_serial;
uint32_t deviceid, diveid;
dc_device_t *device;
dc_context_t *context;
struct dive_trip *trip;
int preexisting;
bool force_download;
bool create_new_trip;
bool libdc_log;
bool libdc_dump;
FILE *libdc_logfile;
struct dive_table *download_table;
} device_data_t;
const char *do_libdivecomputer_import(device_data_t *data);
const char *do_uemis_import(device_data_t *data);
extern int import_thread_cancelled;
extern const char *progress_bar_text;
extern double progress_bar_fraction;
extern char *logfile_name;
extern char *dumpfile_name;
#ifdef __cplusplus
}
#endif
#endif // LIBDIVECOMPUTER_H