mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
ff9506b21b
Since process_imported_dives() can add dives to a newly generated trip, this need not be done in the downloading code. This makes data flow distinctly simpler, as no trip table and no add-new-trip flag has to be passed down to the libdivecomputer glue code. Moreover, since now the trip creation is done at the import step rather than the download step, the latest status of the "add to new trip" checkbox will be considered. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
77 lines
2.3 KiB
C
77 lines
2.3 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef LIBDIVECOMPUTER_H
|
|
#define LIBDIVECOMPUTER_H
|
|
|
|
|
|
/* libdivecomputer */
|
|
|
|
#ifdef DC_VERSION /* prevent a warning with wingdi.h */
|
|
#undef DC_VERSION
|
|
#endif
|
|
#include <libdivecomputer/version.h>
|
|
#include <libdivecomputer/device.h>
|
|
#include <libdivecomputer/parser.h>
|
|
|
|
// Even if we have an old libdivecomputer, Uemis uses this
|
|
#ifndef DC_TRANSPORT_USBSTORAGE
|
|
#define DC_TRANSPORT_USBSTORAGE (1 << 6)
|
|
#define dc_usb_storage_open(stream, context, devname) (DC_STATUS_UNSUPPORTED)
|
|
#endif
|
|
|
|
#include "dive.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* don't forget to include the UI toolkit specific display-XXX.h first
|
|
to get the definition of progressbar_t */
|
|
typedef struct dc_user_device_t
|
|
{
|
|
dc_descriptor_t *descriptor;
|
|
const char *vendor, *product, *devname;
|
|
const char *model, *btname;
|
|
unsigned char *fingerprint;
|
|
unsigned int fsize, fdiveid;
|
|
uint32_t libdc_firmware, libdc_serial;
|
|
uint32_t deviceid, diveid;
|
|
dc_device_t *device;
|
|
dc_context_t *context;
|
|
dc_iostream_t *iostream;
|
|
struct dive_trip *trip;
|
|
int preexisting;
|
|
bool force_download;
|
|
bool libdc_log;
|
|
bool libdc_dump;
|
|
bool bluetooth_mode;
|
|
FILE *libdc_logfile;
|
|
struct dive_table *download_table;
|
|
} device_data_t;
|
|
|
|
const char *errmsg (dc_status_t rc);
|
|
const char *do_libdivecomputer_import(device_data_t *data);
|
|
const char *do_uemis_import(device_data_t *data);
|
|
dc_status_t libdc_buffer_parser(struct dive *dive, device_data_t *data, unsigned char *buffer, int size);
|
|
void logfunc(dc_context_t *context, dc_loglevel_t loglevel, const char *file, unsigned int line, const char *function, const char *msg, void *userdata);
|
|
dc_descriptor_t *get_descriptor(dc_family_t type, unsigned int model);
|
|
|
|
extern int import_thread_cancelled;
|
|
extern const char *progress_bar_text;
|
|
extern void (*progress_callback)(const char *text);
|
|
extern double progress_bar_fraction;
|
|
extern char *logfile_name;
|
|
extern char *dumpfile_name;
|
|
|
|
dc_status_t ble_packet_open(dc_iostream_t **iostream, dc_context_t *context, const char* devaddr, void *userdata);
|
|
dc_status_t rfcomm_stream_open(dc_iostream_t **iostream, dc_context_t *context, const char* devaddr);
|
|
dc_status_t ftdi_open(dc_iostream_t **iostream, dc_context_t *context);
|
|
|
|
dc_status_t divecomputer_device_open(device_data_t *data);
|
|
|
|
unsigned int get_supported_transports(device_data_t *data);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // LIBDIVECOMPUTER_H
|