diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-01-10 17:00:39 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-01-19 13:48:17 -0800 |
commit | 11d19abc7412b76c9ee1be39ffe992afb02b710b (patch) | |
tree | e487a21e6d194174423ed7301d7e6d3455e88012 | |
parent | 239e6f237f356eb2bf31105b7a7b86712344d075 (diff) | |
download | subsurface-11d19abc7412b76c9ee1be39ffe992afb02b710b.tar.gz |
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 ec37c71f5eeb7d4b0c4b8719b52583fadb0b8f4c).
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>
-rw-r--r-- | core/downloadfromdcthread.cpp | 2 | ||||
-rw-r--r-- | core/libdivecomputer.c | 2 | ||||
-rw-r--r-- | core/libdivecomputer.h | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/core/downloadfromdcthread.cpp b/core/downloadfromdcthread.cpp index 4e72f5b16..0774c5e8b 100644 --- a/core/downloadfromdcthread.cpp +++ b/core/downloadfromdcthread.cpp @@ -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) diff --git a/core/libdivecomputer.c b/core/libdivecomputer.c index 47c769275..15dd1132a 100644 --- a/core/libdivecomputer.c +++ b/core/libdivecomputer.c @@ -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); } diff --git a/core/libdivecomputer.h b/core/libdivecomputer.h index b06b5ae0d..2732adfb5 100644 --- a/core/libdivecomputer.h +++ b/core/libdivecomputer.h @@ -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); |