refs #345 First wave of value classes using the CValueObjectStdTuple CRTP class template.

This commit is contained in:
Mathew Sutcliffe
2014-10-30 22:08:22 +00:00
parent ecf8e6aafb
commit 4c8148acf1
68 changed files with 34 additions and 4499 deletions

View File

@@ -26,7 +26,7 @@ namespace BlackMisc
{
//! Value object encapsulating information of network related settings.
//! \remarks Not only traffic network settings, but also URLs, DBus address, ...
class CSettingsNetwork : public BlackMisc::CValueObject
class CSettingsNetwork : public CValueObjectStdTuple<CSettingsNetwork>
{
public:
//! Default constructor.
@@ -60,12 +60,6 @@ namespace BlackMisc
return value;
}
//! \copydoc CValueObject::toQVariant()
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! \copydoc CValueObject::convertFromQVariant
virtual void convertFromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
//! Value object, traffic network server objects
BlackMisc::Network::CServerList getTrafficNetworkServers() const { return m_trafficNetworkServers; }
@@ -84,52 +78,16 @@ namespace BlackMisc
//! Traffic network server objects
void addTrafficNetworkServer(const BlackMisc::Network::CServer &server) { m_trafficNetworkServers.push_back(server); }
//! Equal operator ==
bool operator ==(const CSettingsNetwork &other) const;
//! Unequal operator !=
bool operator !=(const CSettingsNetwork &other) const;
//! \copydoc BlackCore::IContextSettings::value
virtual BlackMisc::CStatusMessage value(const QString &path, const QString &command, const CVariant &value, bool &changedFlag);
//! \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;
//! Init with meaningful default values
void initDefaultValues();
//! \copydoc CValueObject::registerMetadata
static void registerMetadata();
//! JSON member names
static const QStringList &jsonMembers();
protected:
//! \copydoc CValueObject::convertToQString
virtual QString convertToQString(bool i18n = false) const override;
//! \copydoc CValueObject::getMetaTypeId
virtual int getMetaTypeId() const override;
//! \copydoc CValueObject::isA
virtual bool isA(int metaTypeId) const override;
//! \copydoc CValueObject::compareImpl
virtual int compareImpl(const CValueObject &other) const override;
//! \copydoc CValueObject::marshallToDbus
virtual void marshallToDbus(QDBusArgument &argument) const override;
//! \copydoc CValueObject::unmarshallFromDbus
virtual void unmarshallFromDbus(const QDBusArgument &argument) override;
private:
BLACK_ENABLE_TUPLE_CONVERSION(CSettingsNetwork)
BlackMisc::Network::CServerList m_trafficNetworkServers;