mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Create a constructor with default parameters for some structs
Structs and classes in C++ are basically the same thing and we want to create a few zero-initialized values for some of them; Sadly, C++ doesn't have the nice static struct initialization that C has. One way to deal with that is to create a constructor and pass default values to it, another is lambda-initialization, but we don't use C++11, yet. Since we initializate stuff on the constructor, we don't need to re-initializate things again on the initialization list (which is also why I removed the QStrings from the initialization lists, they are automatically initialized to empty) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
2745beca5f
commit
f25dce8511
3 changed files with 16 additions and 37 deletions
|
@ -1131,37 +1131,27 @@ static dc_status_t read_ostc_settings(dc_device_t *device, DeviceDetails *m_devi
|
||||||
// Diluent 1 Default (%O2,%He)
|
// Diluent 1 Default (%O2,%He)
|
||||||
// Byte98-99:
|
// Byte98-99:
|
||||||
// Diluent 1 Current (%O2,%He)
|
// Diluent 1 Current (%O2,%He)
|
||||||
gas dil1 = {};
|
gas dil1(data[97], data[98]);
|
||||||
dil1.oxygen = data[97];
|
|
||||||
dil1.helium = data[98];
|
|
||||||
// Byte100-101:
|
// Byte100-101:
|
||||||
// Gasuent 2 Default (%O2,%He)
|
// Gasuent 2 Default (%O2,%He)
|
||||||
// Byte102-103:
|
// Byte102-103:
|
||||||
// Gasuent 2 Current (%O2,%He)
|
// Gasuent 2 Current (%O2,%He)
|
||||||
gas dil2 = {};
|
gas dil2(data[101], data[102]);
|
||||||
dil2.oxygen = data[101];
|
|
||||||
dil2.helium = data[102];
|
|
||||||
// Byte104-105:
|
// Byte104-105:
|
||||||
// Gasuent 3 Default (%O2,%He)
|
// Gasuent 3 Default (%O2,%He)
|
||||||
// Byte106-107:
|
// Byte106-107:
|
||||||
// Gasuent 3 Current (%O2,%He)
|
// Gasuent 3 Current (%O2,%He)
|
||||||
gas dil3 = {};
|
gas dil3(data[105], data[106]);
|
||||||
dil3.oxygen = data[105];
|
|
||||||
dil3.helium = data[106];
|
|
||||||
// Byte108-109:
|
// Byte108-109:
|
||||||
// Gasuent 4 Default (%O2,%He)
|
// Gasuent 4 Default (%O2,%He)
|
||||||
// Byte110-111:
|
// Byte110-111:
|
||||||
// Gasuent 4 Current (%O2,%He)
|
// Gasuent 4 Current (%O2,%He)
|
||||||
gas dil4 = {};
|
gas dil4(data[109], data[110]);
|
||||||
dil4.oxygen = data[109];
|
|
||||||
dil4.helium = data[110];
|
|
||||||
// Byte112-113:
|
// Byte112-113:
|
||||||
// Gasuent 5 Default (%O2,%He)
|
// Gasuent 5 Default (%O2,%He)
|
||||||
// Byte114-115:
|
// Byte114-115:
|
||||||
// Gasuent 5 Current (%O2,%He)
|
// Gasuent 5 Current (%O2,%He)
|
||||||
gas dil5 = {};
|
gas dil5(data[113], data[114]);
|
||||||
dil5.oxygen = data[113];
|
|
||||||
dil5.helium = data[114];
|
|
||||||
// Byte116:
|
// Byte116:
|
||||||
// First Diluent (1-5)
|
// First Diluent (1-5)
|
||||||
switch (data[115]) {
|
switch (data[115]) {
|
||||||
|
|
|
@ -1,32 +1,19 @@
|
||||||
#include "devicedetails.h"
|
#include "devicedetails.h"
|
||||||
|
|
||||||
// This can probably be done better by someone with better c++-FU
|
gas::gas(unsigned char oxygen, unsigned char helium, unsigned char type, unsigned char depth) :
|
||||||
const struct gas zero_gas = {0};
|
oxygen(oxygen), helium(helium), type(type), depth(depth)
|
||||||
const struct setpoint zero_setpoint = {0};
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
setpoint::setpoint(unsigned char sp, unsigned char depth) :
|
||||||
|
sp(sp), depth(depth)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
DeviceDetails::DeviceDetails(QObject *parent) :
|
DeviceDetails::DeviceDetails(QObject *parent) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
data(0),
|
data(0),
|
||||||
serialNo(""),
|
|
||||||
firmwareVersion(""),
|
|
||||||
customText(""),
|
|
||||||
model(""),
|
|
||||||
syncTime(false),
|
syncTime(false),
|
||||||
gas1(zero_gas),
|
|
||||||
gas2(zero_gas),
|
|
||||||
gas3(zero_gas),
|
|
||||||
gas4(zero_gas),
|
|
||||||
gas5(zero_gas),
|
|
||||||
dil1(zero_gas),
|
|
||||||
dil2(zero_gas),
|
|
||||||
dil3(zero_gas),
|
|
||||||
dil4(zero_gas),
|
|
||||||
dil5(zero_gas),
|
|
||||||
sp1(zero_setpoint),
|
|
||||||
sp2(zero_setpoint),
|
|
||||||
sp3(zero_setpoint),
|
|
||||||
sp4(zero_setpoint),
|
|
||||||
sp5(zero_setpoint),
|
|
||||||
setPointFallback(0),
|
setPointFallback(0),
|
||||||
ccrMode(0),
|
ccrMode(0),
|
||||||
calibrationGas(0),
|
calibrationGas(0),
|
||||||
|
|
|
@ -10,11 +10,13 @@ struct gas {
|
||||||
unsigned char helium;
|
unsigned char helium;
|
||||||
unsigned char type;
|
unsigned char type;
|
||||||
unsigned char depth;
|
unsigned char depth;
|
||||||
|
gas(unsigned char oxygen = 0, unsigned char helium = 0, unsigned char type = 0, unsigned char depth = 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct setpoint {
|
struct setpoint {
|
||||||
unsigned char sp;
|
unsigned char sp;
|
||||||
unsigned char depth;
|
unsigned char depth;
|
||||||
|
setpoint(unsigned char sp = 0, unsigned char depth = 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
class DeviceDetails : public QObject
|
class DeviceDetails : public QObject
|
||||||
|
|
Loading…
Add table
Reference in a new issue