mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 11:31:29 +00:00
8a3a0edb83
Unfortunately Coverity doesn't understand that most Qt data structures are copy-on-write. It's a mis-feature of Qt, but it is the way it is. Thus, passing by value is not an issue. Out of ca. 25 warnings only two were legit. Let's silence the others by either std::move()ing or passing by reference, as would be idiomatic C++, which Qt is not. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
70 lines
1.7 KiB
C++
70 lines
1.7 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef CONFIGUREDIVECOMPUTER_H
|
|
#define CONFIGUREDIVECOMPUTER_H
|
|
|
|
#include <QObject>
|
|
#include <QThread>
|
|
#include <QVariant>
|
|
#include "libdivecomputer.h"
|
|
#include "configuredivecomputerthreads.h"
|
|
#include <QDateTime>
|
|
|
|
#include "libxml/xmlreader.h"
|
|
|
|
class ConfigureDiveComputer : public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ConfigureDiveComputer();
|
|
void readSettings(device_data_t *data);
|
|
|
|
enum states {
|
|
OPEN,
|
|
INITIAL,
|
|
READING,
|
|
WRITING,
|
|
RESETTING,
|
|
FWUPDATE,
|
|
CANCELLING,
|
|
CANCELLED,
|
|
ERRORED,
|
|
DONE,
|
|
};
|
|
|
|
QString lastError;
|
|
states currentState;
|
|
void saveDeviceDetails(DeviceDetails *details, device_data_t *data);
|
|
void fetchDeviceDetails();
|
|
bool saveXMLBackup(const QString &fileName, DeviceDetails *details, device_data_t *data);
|
|
bool restoreXMLBackup(const QString &fileName, DeviceDetails *details);
|
|
void startFirmwareUpdate(const QString &fileName, device_data_t *data, bool forceUpdate);
|
|
void resetSettings(device_data_t *data);
|
|
|
|
QString dc_open(device_data_t *data);
|
|
public
|
|
slots:
|
|
void dc_close(device_data_t *data);
|
|
signals:
|
|
void progress(int percent);
|
|
void message(QString msg);
|
|
void error(QString err);
|
|
void stateChanged(states newState);
|
|
void deviceDetailsChanged(DeviceDetails *newDetails);
|
|
|
|
private:
|
|
ReadSettingsThread *readThread;
|
|
WriteSettingsThread *writeThread;
|
|
ResetSettingsThread *resetThread;
|
|
FirmwareUpdateThread *firmwareThread;
|
|
void connectThreadSignals(DeviceThread *thread);
|
|
void setState(states newState);
|
|
private
|
|
slots:
|
|
void progressEvent(int percent);
|
|
void readThreadFinished();
|
|
void writeThreadFinished();
|
|
void resetThreadFinished();
|
|
void firmwareThreadFinished();
|
|
void setError(QString err);
|
|
};
|
|
|
|
#endif // CONFIGUREDIVECOMPUTER_H
|