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>
58 lines
1.2 KiB
C
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
|