From d96628e0e9d9d017cf838ac37ce66e1a461ee2ae Mon Sep 17 00:00:00 2001 From: Minijackson Date: Tue, 21 Aug 2018 14:01:03 +0200 Subject: Factor typeDatabases implementations for different entity types --- common/domain/typeimplementations.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/common/domain/typeimplementations.cpp b/common/domain/typeimplementations.cpp index d6b5b76..c74701d 100644 --- a/common/domain/typeimplementations.cpp +++ b/common/domain/typeimplementations.cpp @@ -77,7 +77,11 @@ typedef IndexConfig > CalendarIndexConfig; - +template +QMap defaultTypeDatabases() +{ + return merge(QMap{{QByteArray{EntityType::name} + ".main", Storage::IntegerKeys}}, EntityIndexConfig::databases()); +} void TypeImplementation::configure(TypeIndex &index) { @@ -86,7 +90,7 @@ void TypeImplementation::configure(TypeIndex &index) QMap TypeImplementation::typeDatabases() { - return merge(QMap{{QByteArray{Mail::name} + ".main", Storage::IntegerKeys}}, MailIndexConfig::databases()); + return defaultTypeDatabases(); } void TypeImplementation::configure(IndexPropertyMapper &indexPropertyMapper) @@ -129,7 +133,7 @@ void TypeImplementation::configure(TypeIndex &index) QMap TypeImplementation::typeDatabases() { - return merge(QMap{{QByteArray{Folder::name} + ".main", Storage::IntegerKeys}}, FolderIndexConfig::databases()); + return defaultTypeDatabases(); } void TypeImplementation::configure(PropertyMapper &propertyMapper) @@ -154,7 +158,7 @@ void TypeImplementation::configure(TypeIndex &index) QMap TypeImplementation::typeDatabases() { - return merge(QMap{{QByteArray{Contact::name} + ".main", Storage::IntegerKeys}}, ContactIndexConfig::databases()); + return defaultTypeDatabases(); } void TypeImplementation::configure(PropertyMapper &propertyMapper) @@ -182,7 +186,7 @@ void TypeImplementation::configure(TypeIndex &index) QMap TypeImplementation::typeDatabases() { - return merge(QMap{{QByteArray{Addressbook::name} + ".main", Storage::IntegerKeys}}, AddressbookIndexConfig::databases()); + return defaultTypeDatabases(); } void TypeImplementation::configure(PropertyMapper &propertyMapper) @@ -204,7 +208,7 @@ void TypeImplementation::configure(TypeIndex &index) QMap TypeImplementation::typeDatabases() { - return merge(QMap{{QByteArray{Event::name} + ".main", Storage::IntegerKeys}}, EventIndexConfig::databases()); + return defaultTypeDatabases(); } void TypeImplementation::configure(PropertyMapper &propertyMapper) @@ -232,7 +236,7 @@ void TypeImplementation::configure(TypeIndex &index) QMap TypeImplementation::typeDatabases() { - return merge(QMap{{QByteArray{Todo::name} + ".main", Storage::IntegerKeys}}, TodoIndexConfig::databases()); + return defaultTypeDatabases(); } void TypeImplementation::configure(PropertyMapper &propertyMapper) @@ -263,7 +267,7 @@ void TypeImplementation::configure(TypeIndex &index) QMap TypeImplementation::typeDatabases() { - return merge(QMap{{QByteArray{Calendar::name} + ".main", Storage::IntegerKeys}}, CalendarIndexConfig::databases()); + return defaultTypeDatabases(); } void TypeImplementation::configure(PropertyMapper &propertyMapper) -- cgit v1.2.3