summaryrefslogtreecommitdiffstats
path: root/common/domain/mail.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/domain/mail.cpp')
-rw-r--r--common/domain/mail.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/common/domain/mail.cpp b/common/domain/mail.cpp
index 13e1305..bb5ad58 100644
--- a/common/domain/mail.cpp
+++ b/common/domain/mail.cpp
@@ -32,6 +32,8 @@
32#include "../query.h" 32#include "../query.h"
33#include "../definitions.h" 33#include "../definitions.h"
34#include "../typeindex.h" 34#include "../typeindex.h"
35#include "entitybuffer.h"
36#include "entity_generated.h"
35 37
36#include "mail_generated.h" 38#include "mail_generated.h"
37 39
@@ -110,3 +112,14 @@ QSharedPointer<WritePropertyMapper<TypeImplementation<Mail>::BufferBuilder> > Ty
110 propertyMapper->addMapping<Mail::Sent>(&BufferBuilder::add_sent); 112 propertyMapper->addMapping<Mail::Sent>(&BufferBuilder::add_sent);
111 return propertyMapper; 113 return propertyMapper;
112} 114}
115
116DataStoreQuery TypeImplementation<Mail>::prepareQuery(const Sink::Query &query, Sink::Storage::Transaction &transaction)
117{
118 auto mapper = initializeReadPropertyMapper();
119 return DataStoreQuery(query, ApplicationDomain::getTypeName<Mail>(), transaction, getIndex(), [mapper](const Sink::Entity &entity, const QByteArray &property) {
120
121 const auto localBuffer = Sink::EntityBuffer::readBuffer<Buffer>(entity.local());
122 return mapper->getProperty(property, localBuffer);
123 });
124}
125