subsurface/cli-downloader.cpp
Dirk Hohndel eac59a79d8 build-system/downloader: cli-downloader isn't part of the core
It's part of the main excutable / helper and needs to be linked before
all of our support libraries.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-03 13:26:55 -08:00

39 lines
1.1 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#include "qt-models/diveimportedmodel.h"
#include <QObject>
#include <QUndoStack>
void cliDownloader(const char *vendor, const char *product, const char *device)
{
DiveImportedModel *diveImportedModel = new DiveImportedModel();
DiveImportedModel::connect(diveImportedModel, &DiveImportedModel::downloadFinished, [] {
// do something useful at the end of the download
printf("Finished\n");
});
auto data = diveImportedModel->thread.data();
data->setVendor(vendor);
data->setProduct(product);
data->setBluetoothMode(false);
if (data->vendor() == "Uemis") {
char *colon;
char *devname = strdup(device);
if ((colon = strstr(devname, ":\\ (UEMISSDA)")) != NULL) {
*(colon + 2) = '\0';
fprintf(stderr, "shortened devname to \"%s\"", devname);
}
data->setDevName(devname);
} else {
data->setDevName(device);
}
// some assumptiond - should all be configurable
data->setForceDownload(false);
data->setSaveLog(true);
data->setSaveDump(false);
// before we start, remember where the dive_table ended
diveImportedModel->startDownload();
}