diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2014-05-12 13:53:26 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-05-13 09:20:28 +0900 |
commit | 6ab05563b3c6564d0a5e88edd8b23cb149a1eb6f (patch) | |
tree | 4288464488fcb9119d3648664766cf8b9c7350d5 /divecomputer.h | |
parent | 2b06e4be671930bc22feb830f328871a31315d9f (diff) | |
download | subsurface-6ab05563b3c6564d0a5e88edd8b23cb149a1eb6f.tar.gz |
Move DiveList related methods/classes to own file.
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>
Diffstat (limited to 'divecomputer.h')
-rw-r--r-- | divecomputer.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/divecomputer.h b/divecomputer.h new file mode 100644 index 000000000..e515a6b06 --- /dev/null +++ b/divecomputer.h @@ -0,0 +1,38 @@ +#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
\ No newline at end of file |