subsurface/core/downloadfromdcthread.cpp

37 lines
825 B
C++
Raw Normal View History

#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);
}