From 258fb05e00e1fc03a227630d8e4def6d691158de 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 f969072..6e14501 100644 --- a/common/domain/typeimplementations.cpp +++ b/common/domain/typeimplementations.cpp @@ -80,7 +80,11 @@ typedef IndexConfig > CalendarIndexConfig; - +template +QMap defaultTypeDatabases() +{ + return merge(QMap{{QByteArray{EntityType::name} + ".main", Storage::IntegerKeys}}, EntityIndexConfig::databases()); +} void TypeImplementation::configure(TypeIndex &index) { @@ -89,7 +93,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) @@ -132,7 +136,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) @@ -157,7 +161,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) @@ -185,7 +189,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) @@ -207,7 +211,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) @@ -235,7 +239,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) @@ -266,7 +270,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