summaryrefslogtreecommitdiffstats
path: root/core/uploadDiveLogsDE.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/uploadDiveLogsDE.h')
-rw-r--r--core/uploadDiveLogsDE.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/core/uploadDiveLogsDE.h b/core/uploadDiveLogsDE.h
new file mode 100644
index 000000000..d19d20a26
--- /dev/null
+++ b/core/uploadDiveLogsDE.h
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: GPL-2.0
+#ifndef UPLOADDIVELOGSDE_H
+#define UPLOADDIVELOGSDE_H
+#include <QNetworkReply>
+#include <QHttpMultiPart>
+#include <QTimer>
+
+
+class uploadDiveLogsDE : public QObject {
+ Q_OBJECT
+
+public:
+ static uploadDiveLogsDE *instance();
+ void doUpload(bool selected, const QString &userid, const QString &password);
+
+private slots:
+ void updateProgress(qint64 current, qint64 total);
+ void uploadFinished();
+ void uploadTimeout();
+ void uploadError(QNetworkReply::NetworkError error);
+
+signals:
+ void uploadFinish(bool success, const QString &text);
+ void uploadProgress(qreal percentage);
+
+private:
+ uploadDiveLogsDE();
+
+ bool prepareDives(bool selected, const QString &filename);
+ void uploadDives(const QString &filename, const QString &userid, const QString &password);
+
+ QNetworkReply *reply;
+ QHttpMultiPart *multipart;
+ QTimer timeout;
+};
+#endif // UPLOADDIVELOGSDE_H