subsurface/divecomputer.h
Tomaz Canabrava 6ab05563b3 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>
2014-05-13 09:20:28 +09:00

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