From 11da5a87298832cabebeedcad0d29b1e666e467b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 23 Oct 2015 10:11:41 +0200 Subject: ApplicationDomainType cleanup, define metatypes --- common/domain/applicationdomaintype.cpp | 39 ++++++++++++++++++++++++++++----- common/domain/applicationdomaintype.h | 2 ++ 2 files changed, 35 insertions(+), 6 deletions(-) (limited to 'common') diff --git a/common/domain/applicationdomaintype.cpp b/common/domain/applicationdomaintype.cpp index 78a667e..1b5d870 100644 --- a/common/domain/applicationdomaintype.cpp +++ b/common/domain/applicationdomaintype.cpp @@ -18,6 +18,7 @@ * License along with this library. If not, see . */ #include "applicationdomaintype.h" +#include "log.h" #include "../bufferadaptor.h" namespace Akonadi2 { @@ -61,12 +62,38 @@ ApplicationDomainType& ApplicationDomainType::operator=(const ApplicationDomainT ApplicationDomainType::~ApplicationDomainType() {} -QVariant ApplicationDomainType::getProperty(const QByteArray &key) const { return mAdaptor->getProperty(key); } -void ApplicationDomainType::setProperty(const QByteArray &key, const QVariant &value){ mChangeSet.insert(key, value); mAdaptor->setProperty(key, value); } -QByteArrayList ApplicationDomainType::changedProperties() const { return mChangeSet.keys(); } -qint64 ApplicationDomainType::revision() const { return mRevision; } -QByteArray ApplicationDomainType::resourceInstanceIdentifier() const { return mResourceInstanceIdentifier; } -QByteArray ApplicationDomainType::identifier() const { return mIdentifier; } +QVariant ApplicationDomainType::getProperty(const QByteArray &key) const +{ + if (!mAdaptor->availableProperties().contains(key)) { + Warning() << "No such property available " << key; + } + return mAdaptor->getProperty(key); +} + +void ApplicationDomainType::setProperty(const QByteArray &key, const QVariant &value) +{ + mChangeSet.insert(key, value); mAdaptor->setProperty(key, value); +} + +QByteArrayList ApplicationDomainType::changedProperties() const +{ + return mChangeSet.keys(); +} + +qint64 ApplicationDomainType::revision() const +{ + return mRevision; +} + +QByteArray ApplicationDomainType::resourceInstanceIdentifier() const +{ + return mResourceInstanceIdentifier; +} + +QByteArray ApplicationDomainType::identifier() const +{ + return mIdentifier; +} template<> QByteArray getTypeName() diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h index 137eb65..5514d26 100644 --- a/common/domain/applicationdomaintype.h +++ b/common/domain/applicationdomaintype.h @@ -158,3 +158,5 @@ Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::ApplicationDomainType) Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr) Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Event) Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Event::Ptr) +Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Mail) +Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Mail::Ptr) -- cgit v1.2.3