refs #345 Second wave of value classes using the CValueObjectStdTuple CRTP class template, with inheritance.

This commit is contained in:
Mathew Sutcliffe
2014-11-07 23:56:53 +00:00
parent 79e401887c
commit 40362e706a
10 changed files with 18 additions and 445 deletions

View File

@@ -20,7 +20,7 @@ namespace BlackMisc
/*!
* COM system (aka "radio")
*/
class CComSystem : public CModulator<CComSystem>
class CComSystem : public CValueObjectStdTuple<CComSystem, CModulator<CComSystem>>
{
public:
//! Channel spacing frequency
@@ -36,7 +36,7 @@ namespace BlackMisc
//! Constructor
CComSystem(const QString &name, const BlackMisc::PhysicalQuantities::CFrequency &activeFrequency, const BlackMisc::PhysicalQuantities::CFrequency &standbyFrequency = CModulator::FrequencyNotSet()):
CModulator(name, activeFrequency, standbyFrequency == CModulator::FrequencyNotSet() ? activeFrequency : standbyFrequency), m_channelSpacing(ChannelSpacing25KHz)
CValueObjectStdTuple(name, activeFrequency, standbyFrequency == CModulator::FrequencyNotSet() ? activeFrequency : standbyFrequency), m_channelSpacing(ChannelSpacing25KHz)
{ }
//! Set active frequency
@@ -73,24 +73,6 @@ namespace BlackMisc
this->setFrequencyActive(BlackMisc::PhysicalQuantities::CPhysicalQuantitiesConstants::FrequencyInternationalAirDistress());
}
//! \copydoc CValueObject::getValueHash
virtual uint getValueHash() const override;
//! \copydoc CValueObject::toJson
virtual QJsonObject toJson() const override;
//! \copydoc CValueObject::convertFromJson
virtual void convertFromJson(const QJsonObject &json) override;
//! Members
static const QStringList &jsonMembers();
//! operator ==
bool operator ==(const CComSystem &other) const;
//! operator !=
bool operator !=(const CComSystem &other) const;
//! COM1 unit
static CComSystem getCom1System(double activeFrequencyMHz, double standbyFrequencyMHz = -1)
{
@@ -162,15 +144,6 @@ namespace BlackMisc
//! \copydoc CAvionicsBase::validValues
virtual bool validValues() const override;
//! \copydoc CValueObject::marshallFromDbus()
virtual void marshallToDbus(QDBusArgument &argument) const override;
//! \copydoc CValueObject::unmarshallFromDbus()
virtual void unmarshallFromDbus(const QDBusArgument &argument) override;
//! \copydoc CValueObject::compareImpl
virtual int compareImpl(const CValueObject &other) const override;
private:
BLACK_ENABLE_TUPLE_CONVERSION(CComSystem)
ChannelSpacing m_channelSpacing;