From 0b233494a69b5e9cd86e91c60016a294e6c9ef50 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 1 Feb 2016 13:12:37 +0100 Subject: Fixed modifications --- common/domain/applicationdomaintype.h | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'common/domain/applicationdomaintype.h') diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h index ca1ec1b..ce35af0 100644 --- a/common/domain/applicationdomaintype.h +++ b/common/domain/applicationdomaintype.h @@ -23,6 +23,7 @@ #include #include #include +#include #include "bufferadaptor.h" namespace Sink { @@ -56,16 +57,18 @@ public: virtual ~ApplicationDomainType(); - virtual QVariant getProperty(const QByteArray &key) const; - virtual void setProperty(const QByteArray &key, const QVariant &value); - virtual QByteArrayList changedProperties() const; + QVariant getProperty(const QByteArray &key) const;; + void setProperty(const QByteArray &key, const QVariant &value); + void setChangedProperties(const QSet &changeset); + QByteArrayList changedProperties() const; qint64 revision() const; QByteArray resourceInstanceIdentifier() const; QByteArray identifier() const; private: + friend QDebug operator<<(QDebug, const ApplicationDomainType &); QSharedPointer mAdaptor; - QHash mChangeSet; + QSet mChangeSet; /* * Each domain object needs to store the resource, identifier, revision triple so we can link back to the storage location. */ @@ -83,6 +86,16 @@ inline bool operator==(const ApplicationDomainType& lhs, const ApplicationDomain && lhs.resourceInstanceIdentifier() == rhs.resourceInstanceIdentifier(); } +inline QDebug operator<< (QDebug d, const ApplicationDomainType &type) +{ + d << "ApplicationDomainType(\n"; + for (const auto &property : type.mAdaptor->availableProperties()) { + d << " " << property << "\t" << type.getProperty(property) << "\n"; + } + d << ")"; + return d; +} + struct SINKCOMMON_EXPORT Entity : public ApplicationDomainType { typedef QSharedPointer Ptr; using ApplicationDomainType::ApplicationDomainType; -- cgit v1.2.3