mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 14:40:28 +00:00
a42df06dbf
When working with ostc's via bluetooth, they will reboot and exit bluetooth mode when you send the disconnect command. Thats kinda inconvenient when you would like to read your settings, change something and write it back, you need to start bluetooth mode on your device twice. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
68 lines
1.6 KiB
C++
68 lines
1.6 KiB
C++
#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,
|
|
ERROR,
|
|
DONE,
|
|
};
|
|
|
|
QString lastError;
|
|
states currentState;
|
|
void saveDeviceDetails(DeviceDetails *details, device_data_t *data);
|
|
void fetchDeviceDetails();
|
|
bool saveXMLBackup(QString fileName, DeviceDetails *details, device_data_t *data);
|
|
bool restoreXMLBackup(QString fileName, DeviceDetails *details);
|
|
void startFirmwareUpdate(QString fileName, device_data_t *data);
|
|
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 setState(states newState);
|
|
private
|
|
slots:
|
|
void progressEvent(int percent);
|
|
void readThreadFinished();
|
|
void writeThreadFinished();
|
|
void resetThreadFinished();
|
|
void firmwareThreadFinished();
|
|
void setError(QString err);
|
|
};
|
|
|
|
#endif // CONFIGUREDIVECOMPUTER_H
|