mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
6ab05563b3
The DiveList classes were a partial mess (and some of it is still in a messy state). The classes that deal with it where done in 'qtHelpers.h', the extern global variable in dive.h, a few methods here and there. This concentrates most - but not all - functions in their own file. The reason for that is to make the new developer faster when looking for things: if it's a divecomputer related method, it should be in a single file, not scattered around. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
38 lines
No EOL
1.1 KiB
C++
38 lines
No EOL
1.1 KiB
C++
#ifndef DIVECOMPUTER_H
|
|
#define DIVECOMPUTER_H
|
|
|
|
#include <QString>
|
|
#include <QMap>
|
|
#include <stdint.h>
|
|
|
|
class DiveComputerNode {
|
|
public:
|
|
DiveComputerNode(QString m, uint32_t d, QString s, QString f, QString n)
|
|
: model(m), deviceId(d), serialNumber(s), firmware(f), nickName(n) {};
|
|
bool operator==(const DiveComputerNode &a) const;
|
|
bool operator!=(const DiveComputerNode &a) const;
|
|
bool changesValues(const DiveComputerNode &b) const;
|
|
QString model;
|
|
uint32_t deviceId;
|
|
QString serialNumber;
|
|
QString firmware;
|
|
QString nickName;
|
|
};
|
|
|
|
class DiveComputerList {
|
|
public:
|
|
DiveComputerList();
|
|
~DiveComputerList();
|
|
const DiveComputerNode *getExact(const QString& m, uint32_t d);
|
|
const DiveComputerNode *get(const QString& m);
|
|
void addDC(const QString& m, uint32_t d,const QString& n = QString(),const QString& s = QString(), const QString& f = QString());
|
|
void rmDC(const QString& m, uint32_t d);
|
|
DiveComputerNode matchDC(const QString& m, uint32_t d);
|
|
DiveComputerNode matchModel(const QString& m);
|
|
QMultiMap<QString, DiveComputerNode> dcMap;
|
|
QMultiMap<QString, DiveComputerNode> dcWorkingMap;
|
|
};
|
|
|
|
extern DiveComputerList dcList;
|
|
|
|
#endif |