diff options
Diffstat (limited to 'common/domain/mail.cpp')
-rw-r--r-- | common/domain/mail.cpp | 13 |
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 | |||
116 | DataStoreQuery 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 | |||