Dive download: add trip_table to device_data_t

Since recent commits, dive-trips are not added directly to the core,
but into separate trip tables (see ec37c71f5e).
These commits did not finish the work for the download-from-dc
case.

Add an extra trip_table field to device_data_t. If trips are created
(user selected "Download into new trip"), the trip will be created
in that table.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-01-10 17:00:39 +02:00 committed by Dirk Hohndel
parent 239e6f237f
commit 11d19abc74
3 changed files with 4 additions and 1 deletions

View file

@ -70,6 +70,7 @@ void DownloadThread::run()
auto internalData = m_data->internalData();
internalData->descriptor = descriptorLookup[m_data->vendor() + m_data->product()];
internalData->download_table = &downloadTable;
internalData->trip_table = &tripTable;
internalData->btname = strdup(m_data->devBluetoothName().toUtf8());
if (!internalData->descriptor) {
qDebug() << "No download possible when DC type is unknown";
@ -264,6 +265,7 @@ DCDeviceData::DCDeviceData()
memset(&data, 0, sizeof(data));
data.trip = nullptr;
data.download_table = nullptr;
data.trip_table = nullptr;
data.diveid = 0;
data.deviceid = 0;
#if defined(BT_SUPPORT)

View file

@ -826,7 +826,7 @@ static int dive_cb(const unsigned char *data, unsigned int size,
if (devdata->create_new_trip) {
if (!devdata->trip)
devdata->trip = create_and_hookup_trip_from_dive(dive, &trip_table);
devdata->trip = create_and_hookup_trip_from_dive(dive, devdata->trip_table);
else
add_dive_to_trip(dive, devdata->trip);
}

View file

@ -47,6 +47,7 @@ typedef struct dc_user_device_t
bool bluetooth_mode;
FILE *libdc_logfile;
struct dive_table *download_table;
struct trip_table *trip_table;
} device_data_t;
const char *errmsg (dc_status_t rc);