From 00a89fbbd761a5628ec8800c2ec1cf999a9e66a9 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 19 Aug 2014 16:31:21 +0200 Subject: [PATCH] refs #314, modulator based classes to latest style * removed exceptions * removed tryGet methods * adjusted samples --- .../blackmiscquantities/samplesaviation.cpp | 3 +- src/blackmisc/avioadfsystem.h | 7 ++-- src/blackmisc/avionavsystem.h | 18 ++++++---- src/blackmisc/aviotransponder.h | 33 ++++--------------- tests/blackmisc/testaviation.cpp | 6 ++-- 5 files changed, 23 insertions(+), 44 deletions(-) diff --git a/samples/blackmiscquantities/samplesaviation.cpp b/samples/blackmiscquantities/samplesaviation.cpp index 45a75d049..2c585bc07 100644 --- a/samples/blackmiscquantities/samplesaviation.cpp +++ b/samples/blackmiscquantities/samplesaviation.cpp @@ -44,8 +44,7 @@ namespace BlackMiscTest qDebug() << c1; // NAV system - CNavSystem nav1; - CNavSystem::tryGetNav1System(nav1, 110.0); + CNavSystem nav1 = CNavSystem::getNav1System(110.0); qDebug() << nav1; // Transponder tests diff --git a/src/blackmisc/avioadfsystem.h b/src/blackmisc/avioadfsystem.h index 99411a0b5..b06f753c6 100644 --- a/src/blackmisc/avioadfsystem.h +++ b/src/blackmisc/avioadfsystem.h @@ -35,13 +35,10 @@ namespace BlackMisc CModulator(name, activeFrequency, standbyFrequency == CModulator::FrequencyNotSet() ? activeFrequency : standbyFrequency, digits) { } - //! \copydoc CValueObject::toQVariant - virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } - //! Valid aviation frequency? - bool isValidFrequency(PhysicalQuantities::CFrequency f) const + static bool isValidFrequency(PhysicalQuantities::CFrequency f) { - double fr = f.valueRounded(PhysicalQuantities::CFrequencyUnit::kHz(), this->m_digits); + double fr = f.valueRounded(PhysicalQuantities::CFrequencyUnit::kHz(), 3); return fr >= 190.0 && fr <= 1750.0; } diff --git a/src/blackmisc/avionavsystem.h b/src/blackmisc/avionavsystem.h index e267f570b..c47d86029 100644 --- a/src/blackmisc/avionavsystem.h +++ b/src/blackmisc/avionavsystem.h @@ -30,9 +30,6 @@ namespace BlackMisc CModulator(name, activeFrequency, standbyFrequency, digits) { } - //! \copydoc CValueObject::toQVariant - virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } - //! Set active frequency void setFrequencyActiveMHz(double frequencyMHz) { @@ -58,16 +55,16 @@ namespace BlackMisc } //! Valid civil aviation frequency? - bool isValidCivilNavigationFrequency(BlackMisc::PhysicalQuantities::CFrequency f) const + static bool isValidCivilNavigationFrequency(BlackMisc::PhysicalQuantities::CFrequency f) { - double fr = f.valueRounded(BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz(), this->m_digits); + double fr = f.valueRounded(BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz(), 3); return fr >= 108.0 && fr <= 117.95; } //! Valid military aviation frequency? - bool isValidMilitaryNavigationFrequency(BlackMisc::PhysicalQuantities::CFrequency f) const + static bool isValidMilitaryNavigationFrequency(BlackMisc::PhysicalQuantities::CFrequency f) { - double fr = f.valueRounded(BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz(), this->m_digits); + double fr = f.valueRounded(BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz(), 3); return fr >= 960.0 && fr <= 1215.0; // valid TACAN frequency } @@ -107,6 +104,13 @@ namespace BlackMisc this->isValidMilitaryNavigationFrequency(this->getFrequencyStandby())); return v; } + + private: + //! Easy access to derived class (CRTP template parameter) + CNavSystem const *derived() const { return static_cast(this); } + + //! Easy access to derived class (CRTP template parameter) + CNavSystem *derived() { return static_cast(this); } }; } // namespace diff --git a/src/blackmisc/aviotransponder.h b/src/blackmisc/aviotransponder.h index e7ba3fbc8..b3ce05a80 100644 --- a/src/blackmisc/aviotransponder.h +++ b/src/blackmisc/aviotransponder.h @@ -12,7 +12,6 @@ #ifndef BLACKMISC_AVIOTRANSPONDER_H #define BLACKMISC_AVIOTRANSPONDER_H #include "blackmisc/aviobase.h" -#include namespace BlackMisc { @@ -116,10 +115,7 @@ namespace BlackMisc QString getTransponderCodeAndModeFormatted() const; //! Set transponder code - void setTransponderCode(qint32 transponderCode) - { - this->m_transponderCode = transponderCode; - } + void setTransponderCode(qint32 transponderCode) { this->m_transponderCode = transponderCode; } //! Set transponder code void setTransponderCode(const QString &transponderCode); @@ -128,28 +124,16 @@ namespace BlackMisc static TransponderMode modeFromString(const QString &modeString); //! Set transponder mode - void setTransponderMode(TransponderMode mode) - { - this->m_transponderMode = mode ; - } + void setTransponderMode(TransponderMode mode) { this->m_transponderMode = mode ; } //! Set emergency - void setEmergency() - { - this->m_transponderCode = 7700; - } + void setEmergency() { this->m_transponderCode = 7700; } //! Set VFR - void setVFR() - { - this->m_transponderCode = 7000; - } + void setVFR() { this->m_transponderCode = 7000; } //! Set IFR - void setIFR() - { - this->m_transponderCode = 2000; - } + void setIFR() { this->m_transponderCode = 2000; } //! operator == bool operator ==(const CTransponder &other) const @@ -160,11 +144,8 @@ namespace BlackMisc this->CAvionicsBase::operator ==(other); } - //! operator =! - bool operator !=(const CTransponder &other) const - { - return !((*this) == other); - } + //! operator != + bool operator !=(const CTransponder &other) const { return !((*this) == other); } //! Transponder unit static CTransponder getStandardTransponder(qint32 transponderCode, TransponderMode mode) diff --git a/tests/blackmisc/testaviation.cpp b/tests/blackmisc/testaviation.cpp index 917e1bb2b..6dfb1cd08 100644 --- a/tests/blackmisc/testaviation.cpp +++ b/tests/blackmisc/testaviation.cpp @@ -68,10 +68,8 @@ namespace BlackMiscTest QVERIFY2(c1 != c2, "COM system shall not be equal"); c1 = c2; QVERIFY2(c1 == c2, "COM system shall be equal"); - CFrequency f(100.0, CFrequencyUnit::MHz()); - CNavSystem nav1; - QVERIFY2(CNavSystem::tryGetNav1System(nav1, 110.0), "Expect NAV system"); - QVERIFY2(!CNavSystem::tryGetNav1System(nav1, 200.0), "Expect no NAV system"); + QVERIFY2(CNavSystem::isValidCivilNavigationFrequency(CFrequency(110.0, CFrequencyUnit::MHz())), "Expect valid nav frequency"); + QVERIFY2(!CNavSystem::isValidCivilNavigationFrequency(CFrequency(200.0, CFrequencyUnit::MHz())), "Expect invalid nav frequency"); } /*