summaryrefslogtreecommitdiffstats
path: root/subsurface-core/devicedetails.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@gmail.com>2016-03-06 19:40:57 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-03-07 11:13:11 -0800
commitf25dce8511e96e2bda65bd545f74887606152b5e (patch)
tree06645580c52624f6b86e212282c53b2d2bea092e /subsurface-core/devicedetails.cpp
parent2745beca5fd75e073023806189f4fd00774646e2 (diff)
downloadsubsurface-f25dce8511e96e2bda65bd545f74887606152b5e.tar.gz
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>
Diffstat (limited to 'subsurface-core/devicedetails.cpp')
-rw-r--r--subsurface-core/devicedetails.cpp31
1 files changed, 9 insertions, 22 deletions
diff --git a/subsurface-core/devicedetails.cpp b/subsurface-core/devicedetails.cpp
index a2da0d5bc..a917a4d0e 100644
--- a/subsurface-core/devicedetails.cpp
+++ b/subsurface-core/devicedetails.cpp
@@ -1,32 +1,19 @@
#include "devicedetails.h"
-// This can probably be done better by someone with better c++-FU
-const struct gas zero_gas = {0};
-const struct setpoint zero_setpoint = {0};
+gas::gas(unsigned char oxygen, unsigned char helium, unsigned char type, unsigned char depth) :
+ oxygen(oxygen), helium(helium), type(type), depth(depth)
+{
+}
+
+setpoint::setpoint(unsigned char sp, unsigned char depth) :
+ sp(sp), depth(depth)
+{
+}
DeviceDetails::DeviceDetails(QObject *parent) :
QObject(parent),
data(0),
- serialNo(""),
- firmwareVersion(""),
- customText(""),
- model(""),
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),
ccrMode(0),
calibrationGas(0),