aboutsummaryrefslogtreecommitdiffstats
path: root/cli-downloader.cpp
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2020-11-22 17:31:05 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-12-03 13:26:55 -0800
commiteac59a79d8e9589ccc3f1c8879478fd1b9502eef (patch)
treea92c990c06008ab34b917e4ce7bdab776d340ee0 /cli-downloader.cpp
parentfaf4736675167838883a4a10bc30182857d25c32 (diff)
downloadsubsurface-eac59a79d8e9589ccc3f1c8879478fd1b9502eef.tar.gz
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>
Diffstat (limited to 'cli-downloader.cpp')
-rw-r--r--cli-downloader.cpp39
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();
+}