mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
37 lines
825 B
C++
37 lines
825 B
C++
|
#include "downloadfromdcthread.h"
|
||
|
#include "core/libdivecomputer.h"
|
||
|
|
||
|
static QString str_error(const char *fmt, ...)
|
||
|
{
|
||
|
va_list args;
|
||
|
va_start(args, fmt);
|
||
|
const QString str = QString().vsprintf(fmt, args);
|
||
|
va_end(args);
|
||
|
|
||
|
return str;
|
||
|
}
|
||
|
|
||
|
DownloadThread::DownloadThread(QObject *parent, device_data_t *data) : QThread(parent),
|
||
|
data(data)
|
||
|
{
|
||
|
data->download_table = nullptr;
|
||
|
}
|
||
|
|
||
|
void DownloadThread::setDiveTable(struct dive_table* table)
|
||
|
{
|
||
|
data->download_table = table;
|
||
|
}
|
||
|
|
||
|
void DownloadThread::run()
|
||
|
{
|
||
|
Q_ASSERT(data->download_table != nullptr);
|
||
|
const char *errorText;
|
||
|
import_thread_cancelled = false;
|
||
|
if (!strcmp(data->vendor, "Uemis"))
|
||
|
errorText = do_uemis_import(data);
|
||
|
else
|
||
|
errorText = do_libdivecomputer_import(data);
|
||
|
if (errorText)
|
||
|
error = str_error(errorText, data->devname, data->vendor, data->product);
|
||
|
}
|