diff options
author | Tomaz Canabrava <tomaz.canabrava@gmail.com> | 2016-03-06 19:40:57 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-03-07 11:13:11 -0800 |
commit | f25dce8511e96e2bda65bd545f74887606152b5e (patch) | |
tree | 06645580c52624f6b86e212282c53b2d2bea092e /subsurface-core/devicedetails.cpp | |
parent | 2745beca5fd75e073023806189f4fd00774646e2 (diff) | |
download | subsurface-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.cpp | 31 |
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), |