From 9a03eb1a54c6289773bc1b8eb96181ed01553927 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 20 Oct 2016 15:25:05 +0200 Subject: TypeImplementation cleanup --- common/domain/event.cpp | 38 +++++------------ common/domain/event.h | 15 ++----- common/domain/folder.cpp | 40 +++++------------- common/domain/folder.h | 15 ++----- common/domain/mail.cpp | 94 +++++++++++++++--------------------------- common/domain/mail.h | 14 ++----- common/domainadaptor.h | 10 +++-- common/storage/entitystore.cpp | 8 ++-- common/synchronizer.h | 1 + 9 files changed, 76 insertions(+), 159 deletions(-) (limited to 'common') diff --git a/common/domain/event.cpp b/common/domain/event.cpp index 41ec625..a8098b7 100644 --- a/common/domain/event.cpp +++ b/common/domain/event.cpp @@ -21,48 +21,32 @@ #include #include #include -#include -#include -#include "../resultset.h" -#include "../index.h" -#include "../storage.h" -#include "../log.h" #include "../propertymapper.h" -#include "../query.h" -#include "../definitions.h" #include "../typeindex.h" -#include "entitybuffer.h" -#include "datastorequery.h" #include "entity_generated.h" #include "event_generated.h" -static QMutex sMutex; - using namespace Sink::ApplicationDomain; -void TypeImplementation::configureIndex(TypeIndex &index) +void TypeImplementation::configure(TypeIndex &index) { index.addProperty(Event::Uid::name); } -QSharedPointer::Buffer> > TypeImplementation::initializeReadPropertyMapper() +void TypeImplementation::configure(ReadPropertyMapper &propertyMapper) { - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping(&Buffer::summary); - propertyMapper->addMapping(&Buffer::description); - propertyMapper->addMapping(&Buffer::uid); - propertyMapper->addMapping(&Buffer::attachment); - return propertyMapper; + propertyMapper.addMapping(&Buffer::summary); + propertyMapper.addMapping(&Buffer::description); + propertyMapper.addMapping(&Buffer::uid); + propertyMapper.addMapping(&Buffer::attachment); } -QSharedPointer::BufferBuilder> > TypeImplementation::initializeWritePropertyMapper() +void TypeImplementation::configure(WritePropertyMapper &propertyMapper) { - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping(&BufferBuilder::add_summary); - propertyMapper->addMapping(&BufferBuilder::add_description); - propertyMapper->addMapping(&BufferBuilder::add_uid); - propertyMapper->addMapping(&BufferBuilder::add_attachment); - return propertyMapper; + propertyMapper.addMapping(&BufferBuilder::add_summary); + propertyMapper.addMapping(&BufferBuilder::add_description); + propertyMapper.addMapping(&BufferBuilder::add_uid); + propertyMapper.addMapping(&BufferBuilder::add_attachment); } diff --git a/common/domain/event.h b/common/domain/event.h index fbaf4ed..d85b9b3 100644 --- a/common/domain/event.h +++ b/common/domain/event.h @@ -20,10 +20,6 @@ #include "applicationdomaintype.h" -#include "storage.h" -#include "storage/entitystore.h" - -class ResultSet; class QByteArray; template @@ -31,13 +27,9 @@ class ReadPropertyMapper; template class WritePropertyMapper; -class DataStoreQuery; - class TypeIndex; namespace Sink { - class Query; - namespace ApplicationDomain { namespace Buffer { struct Event; @@ -54,10 +46,9 @@ class TypeImplementation { public: typedef Sink::ApplicationDomain::Buffer::Event Buffer; typedef Sink::ApplicationDomain::Buffer::EventBuilder BufferBuilder; - static void configureIndex(TypeIndex &index); - static QSet indexedProperties(); - static QSharedPointer > initializeReadPropertyMapper(); - static QSharedPointer > initializeWritePropertyMapper(); + static void configure(TypeIndex &); + static void configure(ReadPropertyMapper &); + static void configure(WritePropertyMapper &); }; } diff --git a/common/domain/folder.cpp b/common/domain/folder.cpp index 058035a..e6701ac 100644 --- a/common/domain/folder.cpp +++ b/common/domain/folder.cpp @@ -18,54 +18,36 @@ */ #include "folder.h" -#include #include #include -#include -#include -#include "../resultset.h" -#include "../index.h" -#include "../storage.h" -#include "../log.h" #include "../propertymapper.h" -#include "../query.h" -#include "../definitions.h" #include "../typeindex.h" #include "entitybuffer.h" -#include "datastorequery.h" #include "entity_generated.h" #include "folder_generated.h" -SINK_DEBUG_AREA("folder"); - -static QMutex sMutex; - using namespace Sink::ApplicationDomain; -void TypeImplementation::configureIndex(TypeIndex &index) +void TypeImplementation::configure(TypeIndex &index) { index.addProperty(Folder::Parent::name); index.addProperty(Folder::Name::name); } -QSharedPointer::Buffer> > TypeImplementation::initializeReadPropertyMapper() +void TypeImplementation::configure(ReadPropertyMapper &propertyMapper) { - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping(&Buffer::parent); - propertyMapper->addMapping(&Buffer::name); - propertyMapper->addMapping(&Buffer::icon); - propertyMapper->addMapping(&Buffer::specialpurpose); - return propertyMapper; + propertyMapper.addMapping(&Buffer::parent); + propertyMapper.addMapping(&Buffer::name); + propertyMapper.addMapping(&Buffer::icon); + propertyMapper.addMapping(&Buffer::specialpurpose); } -QSharedPointer::BufferBuilder> > TypeImplementation::initializeWritePropertyMapper() +void TypeImplementation::configure(WritePropertyMapper &propertyMapper) { - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping(&BufferBuilder::add_parent); - propertyMapper->addMapping(&BufferBuilder::add_name); - propertyMapper->addMapping(&BufferBuilder::add_icon); - propertyMapper->addMapping(&BufferBuilder::add_specialpurpose); - return propertyMapper; + propertyMapper.addMapping(&BufferBuilder::add_parent); + propertyMapper.addMapping(&BufferBuilder::add_name); + propertyMapper.addMapping(&BufferBuilder::add_icon); + propertyMapper.addMapping(&BufferBuilder::add_specialpurpose); } diff --git a/common/domain/folder.h b/common/domain/folder.h index 47a544b..3c83794 100644 --- a/common/domain/folder.h +++ b/common/domain/folder.h @@ -20,13 +20,6 @@ #include "applicationdomaintype.h" -#include "storage.h" -#include "storage/entitystore.h" - -class ResultSet; -class QByteArray; -class DataStoreQuery; - template class ReadPropertyMapper; template @@ -35,7 +28,6 @@ class WritePropertyMapper; class TypeIndex; namespace Sink { - class Query; namespace ApplicationDomain { namespace Buffer { @@ -48,10 +40,9 @@ class TypeImplementation { public: typedef Sink::ApplicationDomain::Buffer::Folder Buffer; typedef Sink::ApplicationDomain::Buffer::FolderBuilder BufferBuilder; - static void configureIndex(TypeIndex &index); - static QSet indexedProperties(); - static QSharedPointer > initializeReadPropertyMapper(); - static QSharedPointer > initializeWritePropertyMapper(); + static void configure(TypeIndex &); + static void configure(ReadPropertyMapper &); + static void configure(WritePropertyMapper &); }; } diff --git a/common/domain/mail.cpp b/common/domain/mail.cpp index 4b33f06..8abe259 100644 --- a/common/domain/mail.cpp +++ b/common/domain/mail.cpp @@ -21,32 +21,19 @@ #include #include #include -#include -#include -#include "../resultset.h" -#include "../index.h" -#include "../storage.h" -#include "../log.h" #include "../propertymapper.h" -#include "../query.h" -#include "../definitions.h" #include "../typeindex.h" #include "entitybuffer.h" -#include "datastorequery.h" #include "entity_generated.h" #include "mail/threadindexer.h" #include "mail_generated.h" -SINK_DEBUG_AREA("mail"); - -static QMutex sMutex; - using namespace Sink; using namespace Sink::ApplicationDomain; -void TypeImplementation::configureIndex(TypeIndex &index) +void TypeImplementation::configure(TypeIndex &index) { index.addProperty(Mail::Uid::name); index.addProperty(Mail::Sender::name); @@ -66,56 +53,41 @@ void TypeImplementation::configureIndex(TypeIndex &index) index.addSecondaryProperty(); } -static TypeIndex &getIndex() -{ - QMutexLocker locker(&sMutex); - static TypeIndex *index = 0; - if (!index) { - index = new TypeIndex("mail"); - TypeImplementation::configureIndex(*index); - } - return *index; -} -QSharedPointer::Buffer> > TypeImplementation::initializeReadPropertyMapper() +void TypeImplementation::configure(ReadPropertyMapper &propertyMapper) { - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping(&Buffer::uid); - propertyMapper->addMapping(&Buffer::sender); - propertyMapper->addMapping(&Buffer::senderName); - propertyMapper->addMapping(&Buffer::subject); - propertyMapper->addMapping(&Buffer::date); - propertyMapper->addMapping(&Buffer::unread); - propertyMapper->addMapping(&Buffer::important); - propertyMapper->addMapping(&Buffer::folder); - propertyMapper->addMapping(&Buffer::mimeMessage); - propertyMapper->addMapping(&Buffer::draft); - propertyMapper->addMapping(&Buffer::trash); - propertyMapper->addMapping(&Buffer::sent); - propertyMapper->addMapping(&Buffer::messageId); - propertyMapper->addMapping(&Buffer::parentMessageId); - return propertyMapper; -} -QSharedPointer::BufferBuilder> > TypeImplementation::initializeWritePropertyMapper() -{ - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping(&BufferBuilder::add_uid); - propertyMapper->addMapping(&BufferBuilder::add_sender); - propertyMapper->addMapping(&BufferBuilder::add_senderName); - propertyMapper->addMapping(&BufferBuilder::add_subject); - propertyMapper->addMapping(&BufferBuilder::add_date); - propertyMapper->addMapping(&BufferBuilder::add_unread); - propertyMapper->addMapping(&BufferBuilder::add_important); - propertyMapper->addMapping(&BufferBuilder::add_folder); - propertyMapper->addMapping(&BufferBuilder::add_mimeMessage); - propertyMapper->addMapping(&BufferBuilder::add_draft); - propertyMapper->addMapping(&BufferBuilder::add_trash); - propertyMapper->addMapping(&BufferBuilder::add_sent); - propertyMapper->addMapping(&BufferBuilder::add_messageId); - propertyMapper->addMapping(&BufferBuilder::add_parentMessageId); - return propertyMapper; + propertyMapper.addMapping(&Buffer::uid); + propertyMapper.addMapping(&Buffer::sender); + propertyMapper.addMapping(&Buffer::senderName); + propertyMapper.addMapping(&Buffer::subject); + propertyMapper.addMapping(&Buffer::date); + propertyMapper.addMapping(&Buffer::unread); + propertyMapper.addMapping(&Buffer::important); + propertyMapper.addMapping(&Buffer::folder); + propertyMapper.addMapping(&Buffer::mimeMessage); + propertyMapper.addMapping(&Buffer::draft); + propertyMapper.addMapping(&Buffer::trash); + propertyMapper.addMapping(&Buffer::sent); + propertyMapper.addMapping(&Buffer::messageId); + propertyMapper.addMapping(&Buffer::parentMessageId); } - +void TypeImplementation::configure(WritePropertyMapper &propertyMapper) +{ + propertyMapper.addMapping(&BufferBuilder::add_uid); + propertyMapper.addMapping(&BufferBuilder::add_sender); + propertyMapper.addMapping(&BufferBuilder::add_senderName); + propertyMapper.addMapping(&BufferBuilder::add_subject); + propertyMapper.addMapping(&BufferBuilder::add_date); + propertyMapper.addMapping(&BufferBuilder::add_unread); + propertyMapper.addMapping(&BufferBuilder::add_important); + propertyMapper.addMapping(&BufferBuilder::add_folder); + propertyMapper.addMapping(&BufferBuilder::add_mimeMessage); + propertyMapper.addMapping(&BufferBuilder::add_draft); + propertyMapper.addMapping(&BufferBuilder::add_trash); + propertyMapper.addMapping(&BufferBuilder::add_sent); + propertyMapper.addMapping(&BufferBuilder::add_messageId); + propertyMapper.addMapping(&BufferBuilder::add_parentMessageId); +} diff --git a/common/domain/mail.h b/common/domain/mail.h index c0cfc55..c12976a 100644 --- a/common/domain/mail.h +++ b/common/domain/mail.h @@ -20,12 +20,7 @@ #include "applicationdomaintype.h" -#include "storage.h" -#include "storage/entitystore.h" - -class ResultSet; class QByteArray; -class DataStoreQuery; template class ReadPropertyMapper; @@ -35,8 +30,6 @@ class WritePropertyMapper; class TypeIndex; namespace Sink { - class Query; - namespace ApplicationDomain { namespace Buffer { struct Mail; @@ -48,10 +41,9 @@ class TypeImplementation { public: typedef Sink::ApplicationDomain::Buffer::Mail Buffer; typedef Sink::ApplicationDomain::Buffer::MailBuilder BufferBuilder; - static void configureIndex(TypeIndex &index); - static QSet indexedProperties(); - static QSharedPointer > initializeReadPropertyMapper(); - static QSharedPointer > initializeWritePropertyMapper(); + static void configure(TypeIndex &index); + static void configure(ReadPropertyMapper &propertyMapper); + static void configure(WritePropertyMapper &propertyMapper); }; } diff --git a/common/domainadaptor.h b/common/domainadaptor.h index 195d5ec..0eb90b3 100644 --- a/common/domainadaptor.h +++ b/common/domainadaptor.h @@ -139,10 +139,14 @@ class SINK_EXPORT DomainTypeAdaptorFactory : public DomainTypeAdaptorFactoryInte public: DomainTypeAdaptorFactory() - : mLocalMapper(Sink::ApplicationDomain::TypeImplementation::initializeReadPropertyMapper()), + : mLocalMapper(QSharedPointer>::create()), mResourceMapper(QSharedPointer>::create()), - mLocalWriteMapper(Sink::ApplicationDomain::TypeImplementation::initializeWritePropertyMapper()), - mResourceWriteMapper(QSharedPointer>::create()){}; + mLocalWriteMapper(QSharedPointer>::create()), + mResourceWriteMapper(QSharedPointer>::create()) + { + Sink::ApplicationDomain::TypeImplementation::configure(*mLocalMapper); + Sink::ApplicationDomain::TypeImplementation::configure(*mLocalWriteMapper); + } virtual ~DomainTypeAdaptorFactory(){}; /** diff --git a/common/storage/entitystore.cpp b/common/storage/entitystore.cpp index a3d9997..f7f235e 100644 --- a/common/storage/entitystore.cpp +++ b/common/storage/entitystore.cpp @@ -64,7 +64,7 @@ public: /* return *indexByType.value(type); */ /* } */ /* auto index = QSharedPointer::create(type); */ - /* ApplicationDomain::TypeImplementation::configureIndex(*index); */ + /* ApplicationDomain::TypeImplementation::configure(*index); */ /* indexByType.insert(type, index); */ /* return *index; */ /* } */ @@ -81,11 +81,11 @@ public: // Try this: (T would i.e. become // TypeHelper::T::configureIndex(*index); if (type == ApplicationDomain::getTypeName()) { - ApplicationDomain::TypeImplementation::configureIndex(*index); + ApplicationDomain::TypeImplementation::configure(*index); } else if (type == ApplicationDomain::getTypeName()) { - ApplicationDomain::TypeImplementation::configureIndex(*index); + ApplicationDomain::TypeImplementation::configure(*index); } else if (type == ApplicationDomain::getTypeName()) { - ApplicationDomain::TypeImplementation::configureIndex(*index); + ApplicationDomain::TypeImplementation::configure(*index); } else { Q_ASSERT(false); SinkError() << "Unkonwn type " << type; diff --git a/common/synchronizer.h b/common/synchronizer.h index 0a1efe1..12bb587 100644 --- a/common/synchronizer.h +++ b/common/synchronizer.h @@ -26,6 +26,7 @@ #include #include #include +#include namespace Sink { class RemoteIdMap; -- cgit v1.2.3