MS & KB workshop: removed CAvionicsBase.

This commit is contained in:
Mathew Sutcliffe
2015-05-12 21:55:01 +01:00
parent 069f4749f4
commit c136724cd0
14 changed files with 46 additions and 103 deletions

View File

@@ -319,7 +319,7 @@ namespace BlackMiscTest
qDebug() << "Send altitude via interface and variant" << al << qvAl.userType(); qDebug() << "Send altitude via interface and variant" << al << qvAl.userType();
al.addValueSameUnit(1); al.addValueSameUnit(1);
CTransponder transponder("transponder", 7000, CTransponder::ModeC); CTransponder transponder(7000, CTransponder::ModeC);
testserviceInterface.receiveTransponder(transponder); testserviceInterface.receiveTransponder(transponder);
qDebug() << "Send transponder via interface" << transponder; qDebug() << "Send transponder via interface" << transponder;

View File

@@ -52,8 +52,8 @@ namespace BlackMiscTest
out << nav1 << endl; out << nav1 << endl;
// Transponder tests // Transponder tests
CTransponder tr1("T1", 7000, CTransponder::StateStandby); CTransponder tr1(7000, CTransponder::StateStandby);
CTransponder tr2("T2", "4532", CTransponder::ModeMil3); CTransponder tr2("4532", CTransponder::ModeMil3);
out << tr1 << " " << tr2 << endl; out << tr1 << " " << tr2 << endl;
// Callsign and ATC station // Callsign and ATC station

View File

@@ -331,7 +331,7 @@ void Client::setOwnAircraftCmd(QTextStream &args)
updateCockpit( updateCockpit(
BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())),
BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())),
BlackMisc::Aviation::CTransponder("Transponder", xpdrCode, xpdrMode), BlackMisc::Aviation::CTransponder(xpdrCode, xpdrMode),
"cmdClient"); "cmdClient");
} }
@@ -377,7 +377,7 @@ void Client::setOwnAircraftCockpitCmd(QTextStream &args)
emit setOwnAircraftCockpit( emit setOwnAircraftCockpit(
BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())),
BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())),
BlackMisc::Aviation::CTransponder("Transponder", xpdrCode, xpdrMode), BlackMisc::Aviation::CTransponder(xpdrCode, xpdrMode),
"testclient" "testclient"
); );
} }

View File

@@ -735,14 +735,14 @@ namespace BlackCore
CTransponder transponder; CTransponder transponder;
if (CTransponder::isValidTransponderCode(position->transponderCode)) if (CTransponder::isValidTransponderCode(position->transponderCode))
{ {
transponder = CTransponder(transponderName, position->transponderCode, mode); transponder = CTransponder(position->transponderCode, mode);
} }
else else
{ {
CLogMessage(static_cast<CNetworkVatlib *>(nullptr)).warning("Wrong transponder code %1 for %2") << position->transponderCode << callsign; CLogMessage(static_cast<CNetworkVatlib *>(nullptr)).warning("Wrong transponder code %1 for %2") << position->transponderCode << callsign;
// default // default
transponder = CTransponder(transponderName, 7000, mode); transponder = CTransponder(7000, mode);
} }
emit cbvar_cast(cbvar)->aircraftPositionUpdate(situation, transponder); emit cbvar_cast(cbvar)->aircraftPositionUpdate(situation, transponder);
} }

View File

@@ -75,7 +75,7 @@ namespace BlackMisc
} }
protected: protected:
//! \copydoc CAvionicsBase::validValues //! \copydoc CModulator::validValues
virtual bool validValues() const override virtual bool validValues() const override
{ {
if (this->isDefaultValue()) return true; // special case if (this->isDefaultValue()) return true; // special case

View File

@@ -155,7 +155,7 @@ namespace BlackMisc
void CAircraft::initTransponder() void CAircraft::initTransponder()
{ {
CTransponder xpdr("TRANSPONDER", 7000, CTransponder::StateStandby); CTransponder xpdr(7000, CTransponder::StateStandby);
this->setTransponder(xpdr); this->setTransponder(xpdr);
} }

View File

@@ -1,64 +0,0 @@
/* Copyright (C) 2013 VATSIM Community / contributors
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef BLACKMISC_AVIATION_AVIONICSBASE_H
#define BLACKMISC_AVIATION_AVIONICSBASE_H
//! \file
#include "blackmisc/blackmiscexport.h"
#include "blackmisc/valueobject.h"
#include "blackmisc/pq/constants.h"
#include <QtGlobal>
namespace BlackMisc
{
namespace Aviation
{
//! Base class for avionics
class BLACKMISC_EXPORT CAvionicsBase :
public Mixin::HashByTuple<CAvionicsBase>,
public Mixin::DBusByTuple<CAvionicsBase>,
public Mixin::JsonByTuple<CAvionicsBase>,
public Mixin::EqualsByTuple<CAvionicsBase>,
public Mixin::LessThanByTuple<CAvionicsBase>,
public Mixin::CompareByTuple<CAvionicsBase>,
public Mixin::String<CAvionicsBase>
{
public:
//! Name
QString getName() const { return this->m_name; }
//! Are set values valid?
virtual bool validValues() const { return true; }
//! Virtual destructor
virtual ~CAvionicsBase() {}
protected:
//! Constructor
CAvionicsBase() : m_name("default") {}
//! Constructor
CAvionicsBase(const QString &name) : m_name(name) {}
//! Set name
void setName(const QString &name) { this->m_name = name; }
//! \copydoc CValueObject::convertToQString
QString convertToQString(bool i18n = false) const { Q_UNUSED(i18n); return ""; }
private:
QString m_name; //!< name of the unit
BLACK_ENABLE_TUPLE_CONVERSION(CAvionicsBase)
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Aviation::CAvionicsBase, (o.m_name))
#endif // guard

View File

@@ -153,7 +153,7 @@ namespace BlackMisc
static bool isWithinChannelSpacing(const BlackMisc::PhysicalQuantities::CFrequency &setFrequency, const BlackMisc::PhysicalQuantities::CFrequency &compareFrequency, ChannelSpacing channelSpacing); static bool isWithinChannelSpacing(const BlackMisc::PhysicalQuantities::CFrequency &setFrequency, const BlackMisc::PhysicalQuantities::CFrequency &compareFrequency, ChannelSpacing channelSpacing);
protected: protected:
//! \copydoc CAvionicsBase::validValues //! \copydoc CModulator::validValues
virtual bool validValues() const override; virtual bool validValues() const override;
private: private:

View File

@@ -49,7 +49,7 @@ namespace BlackMisc
case IndexOutputVolume: case IndexOutputVolume:
return CVariant::from(this->getVolumeOutput()); return CVariant::from(this->getVolumeOutput());
default: default:
return CValueObject<CModulator<AVIO>, CAvionicsBase>::propertyByIndex(index); return CValueObject<CModulator<AVIO>>::propertyByIndex(index);
} }
} }
@@ -80,7 +80,7 @@ namespace BlackMisc
this->setVolumeOutput(variant.toInt()); this->setVolumeOutput(variant.toInt());
break; break;
default: default:
CValueObject<CModulator<AVIO>, CAvionicsBase>::setPropertyByIndex(variant, index); CValueObject<CModulator<AVIO>>::setPropertyByIndex(variant, index);
break; break;
} }
} }

View File

@@ -13,9 +13,10 @@
#define BLACKMISC_AVIATION_MODULATORUNIT_H #define BLACKMISC_AVIATION_MODULATORUNIT_H
#include "blackmisc/propertyindex.h" #include "blackmisc/propertyindex.h"
#include "blackmisc/aviation/avionicsbase.h"
#include "blackmisc/math/mathutils.h" #include "blackmisc/math/mathutils.h"
#include "blackmisc/blackmiscfreefunctions.h" #include "blackmisc/blackmiscfreefunctions.h"
#include "blackmisc/pq/constants.h"
#include "blackmisc/pq/frequency.h"
namespace BlackMisc namespace BlackMisc
{ {
@@ -23,7 +24,7 @@ namespace BlackMisc
{ {
//! Base class for COM, NAV, Squawk units. //! Base class for COM, NAV, Squawk units.
template <class AVIO> class CModulator : public CValueObject<CModulator<AVIO>, CAvionicsBase> template <class AVIO> class CModulator : public CValueObject<CModulator<AVIO>>
{ {
public: public:
//! Column indexes //! Column indexes
@@ -81,12 +82,18 @@ namespace BlackMisc
//! Input volume 0..100 //! Input volume 0..100
void setVolumeInput(int volume) { this->m_volumeInput = volume; } void setVolumeInput(int volume) { this->m_volumeInput = volume; }
//! Name
QString getName() const { return this->m_name; }
//! Enabled? //! Enabled?
bool isEnabled() const { return this->m_enabled;} bool isEnabled() const { return this->m_enabled;}
//! Enabled? //! Enabled?
void setEnabled(bool enable) { this->m_enabled = enable;} void setEnabled(bool enable) { this->m_enabled = enable;}
//! Are set values valid?
virtual bool validValues() const { return true; }
//! \copydoc CValueObject::propertyByIndex //! \copydoc CValueObject::propertyByIndex
CVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const; CVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const;
@@ -98,11 +105,11 @@ namespace BlackMisc
protected: protected:
//! Default constructor //! Default constructor
CModulator() : CModulator::CValueObject("default") {} CModulator() : m_name("default") {}
//! Constructor //! Constructor
CModulator(const QString &name, const BlackMisc::PhysicalQuantities::CFrequency &activeFrequency, const BlackMisc::PhysicalQuantities::CFrequency &standbyFrequency) : CModulator(const QString &name, const BlackMisc::PhysicalQuantities::CFrequency &activeFrequency, const BlackMisc::PhysicalQuantities::CFrequency &standbyFrequency) :
CModulator::CValueObject(name), m_frequencyActive(activeFrequency), m_frequencyStandby(standbyFrequency) {} m_name(name), m_frequencyActive(activeFrequency), m_frequencyStandby(standbyFrequency) {}
//! Set active frequency //! Set active frequency
void setFrequencyActiveKHz(double frequencyKHz) void setFrequencyActiveKHz(double frequencyKHz)
@@ -195,6 +202,7 @@ namespace BlackMisc
private: private:
BLACK_ENABLE_TUPLE_CONVERSION(CModulator) BLACK_ENABLE_TUPLE_CONVERSION(CModulator)
QString m_name; //!< name of the unit
BlackMisc::PhysicalQuantities::CFrequency m_frequencyActive; //!< active frequency BlackMisc::PhysicalQuantities::CFrequency m_frequencyActive; //!< active frequency
BlackMisc::PhysicalQuantities::CFrequency m_frequencyStandby; //!< standby frequency BlackMisc::PhysicalQuantities::CFrequency m_frequencyStandby; //!< standby frequency
int m_volumeInput = 0; //!< volume input int m_volumeInput = 0; //!< volume input
@@ -223,6 +231,7 @@ namespace BlackMisc
} // namespace } // namespace
BLACK_DECLARE_TUPLE_CONVERSION_TEMPLATE(BlackMisc::Aviation::CModulator, ( BLACK_DECLARE_TUPLE_CONVERSION_TEMPLATE(BlackMisc::Aviation::CModulator, (
o.m_name,
o.m_frequencyActive, o.m_frequencyActive,
o.m_frequencyStandby, o.m_frequencyStandby,
o.m_volumeInput , o.m_volumeInput ,

View File

@@ -93,7 +93,7 @@ namespace BlackMisc
} }
protected: protected:
//! \copydoc CAvionicsBase::validValues //! \copydoc CModulator::validValues
virtual bool validValues() const override virtual bool validValues() const override
{ {
if (this->isDefaultValue()) return true; // special case if (this->isDefaultValue()) return true; // special case

View File

@@ -44,9 +44,7 @@ namespace BlackMisc
QString CTransponder::convertToQString(bool /* i18n */) const QString CTransponder::convertToQString(bool /* i18n */) const
{ {
QString s = this->getName(); return this->getTransponderCodeFormatted().append(" ").append(this->getModeAsString());
s = s.append(" ").append(this->getTransponderCodeFormatted()).append(" ").append(this->getModeAsString());
return s;
} }
CTransponder::TransponderMode CTransponder::modeFromString(const QString &modeString) CTransponder::TransponderMode CTransponder::modeFromString(const QString &modeString)

View File

@@ -13,7 +13,7 @@
#define BLACKMISC_AVIATION_TRANSPONDER_H #define BLACKMISC_AVIATION_TRANSPONDER_H
#include "blackmisc/blackmiscexport.h" #include "blackmisc/blackmiscexport.h"
#include "blackmisc/aviation/avionicsbase.h" #include "blackmisc/valueobject.h"
namespace BlackMisc namespace BlackMisc
{ {
@@ -21,7 +21,7 @@ namespace BlackMisc
namespace Aviation namespace Aviation
{ {
//! Transponder //! Transponder
class BLACKMISC_EXPORT CTransponder : public CValueObject<CTransponder, CAvionicsBase> class BLACKMISC_EXPORT CTransponder : public CValueObject<CTransponder>
{ {
public: public:
//! Transponder codes //! Transponder codes
@@ -46,23 +46,23 @@ namespace BlackMisc
}; };
//! Default constructor //! Default constructor
CTransponder() : CValueObject("transponder"), m_transponderCode(0), m_transponderMode(StateStandby) {} CTransponder() : m_transponderCode(0), m_transponderMode(StateStandby) {}
//! Constructor //! Constructor
CTransponder(const QString &name, int transponderCode, TransponderMode transponderMode) : CTransponder(int transponderCode, TransponderMode transponderMode) :
CValueObject(name), m_transponderCode(transponderCode), m_transponderMode(transponderMode) m_transponderCode(transponderCode), m_transponderMode(transponderMode)
{ } { }
//! Constructor with transponder mode as string //! Constructor with transponder mode as string
CTransponder(const QString &name, int transponderCode, QString transponderMode) : CTransponder(int transponderCode, QString transponderMode) :
CValueObject(name), m_transponderCode(transponderCode), m_transponderMode(StateStandby) m_transponderCode(transponderCode), m_transponderMode(StateStandby)
{ {
this->setModeAsString(transponderMode); this->setModeAsString(transponderMode);
} }
//! Constructor, code as string //! Constructor, code as string
CTransponder(const QString &name, QString transponderCode, TransponderMode transponderMode) : CTransponder(QString transponderCode, TransponderMode transponderMode) :
CValueObject(name), m_transponderCode(0), m_transponderMode(transponderMode) m_transponderCode(0), m_transponderMode(transponderMode)
{ {
bool ok = false; bool ok = false;
this->m_transponderCode = transponderCode.toInt(&ok); this->m_transponderCode = transponderCode.toInt(&ok);
@@ -70,8 +70,8 @@ namespace BlackMisc
} }
//! Constructor //! Constructor
CTransponder(const QString &name, QString transponderCode, QString transponderMode) : CTransponder(QString transponderCode, QString transponderMode) :
CValueObject(name), m_transponderCode(0), m_transponderMode(StateStandby) m_transponderCode(0), m_transponderMode(StateStandby)
{ {
bool ok = false; bool ok = false;
this->m_transponderCode = transponderCode.toInt(&ok); this->m_transponderCode = transponderCode.toInt(&ok);
@@ -79,8 +79,8 @@ namespace BlackMisc
this->setModeAsString(transponderMode); this->setModeAsString(transponderMode);
} }
//! \copydoc CAvionicsBase::validValues //! Are set values valid?
virtual bool validValues() const override; bool validValues() const;
//! Transponder mode as string //! Transponder mode as string
QString getModeAsString() const QString getModeAsString() const
@@ -148,7 +148,7 @@ namespace BlackMisc
//! Transponder unit //! Transponder unit
static CTransponder getStandardTransponder(qint32 transponderCode, TransponderMode mode) static CTransponder getStandardTransponder(qint32 transponderCode, TransponderMode mode)
{ {
return CTransponder("Transponder", transponderCode, mode); return CTransponder(transponderCode, mode);
} }
//! \copydoc CValueObject::propertyByIndex //! \copydoc CValueObject::propertyByIndex

View File

@@ -82,15 +82,15 @@ namespace BlackMiscTest
QVERIFY2(t1 == t2, "Transponders shall be equal"); QVERIFY2(t1 == t2, "Transponders shall be equal");
t2.setTransponderMode(CTransponder::ModeC); t2.setTransponderMode(CTransponder::ModeC);
QVERIFY2(t1 != t2, "Transponders shall not be equal"); QVERIFY2(t1 != t2, "Transponders shall not be equal");
CTransponder tv = CTransponder("transponder", 8888, CTransponder::StateStandby); CTransponder tv = CTransponder(8888, CTransponder::StateStandby);
QVERIFY2(!tv.validValues(), "No valid transponder"); QVERIFY2(!tv.validValues(), "No valid transponder");
tv = CTransponder("transponder", 781, CTransponder::StateStandby); tv = CTransponder(781, CTransponder::StateStandby);
QVERIFY2(!tv.validValues(), "No valid transponder"); QVERIFY2(!tv.validValues(), "No valid transponder");
tv = CTransponder("transponder", "0781", CTransponder::StateStandby); tv = CTransponder("0781", CTransponder::StateStandby);
QVERIFY2(!tv.validValues(), "No valid transponder"); QVERIFY2(!tv.validValues(), "No valid transponder");
tv = CTransponder("transponder", "7211", CTransponder::StateStandby); tv = CTransponder("7211", CTransponder::StateStandby);
QVERIFY2(tv.validValues(), "No valid transponder"); QVERIFY2(tv.validValues(), "No valid transponder");
tv = CTransponder("transponder", "schnitzel", CTransponder::StateStandby); tv = CTransponder("schnitzel", CTransponder::StateStandby);
QVERIFY2(!tv.validValues(), "No valid transponder"); QVERIFY2(!tv.validValues(), "No valid transponder");
} }