diff options
Diffstat (limited to 'cli-downloader.cpp')
-rw-r--r-- | cli-downloader.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cli-downloader.cpp b/cli-downloader.cpp new file mode 100644 index 000000000..77053c0c7 --- /dev/null +++ b/cli-downloader.cpp @@ -0,0 +1,39 @@ +// 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(); +} |