diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-01-10 15:06:08 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-01-10 15:06:08 +0100 |
commit | d785bd2f3960ba5ac9f72a12ce27e314c99939cb (patch) | |
tree | bd8d02c14902950842710fb83ab3e28e232f100e | |
parent | 8e84c8a78b7e308cc2b09241af649851036d11de (diff) | |
download | sink-d785bd2f3960ba5ac9f72a12ce27e314c99939cb.tar.gz sink-d785bd2f3960ba5ac9f72a12ce27e314c99939cb.zip |
Remember if we have all of the data or only the headers.
-rw-r--r-- | common/domain/applicationdomaintype.h | 1 | ||||
-rw-r--r-- | common/domain/mail.cpp | 4 | ||||
-rw-r--r-- | common/domain/mail.fbs | 1 | ||||
-rw-r--r-- | examples/imapresource/imapresource.cpp | 1 | ||||
-rw-r--r-- | examples/imapresource/imapserverproxy.cpp | 5 | ||||
-rw-r--r-- | examples/imapresource/imapserverproxy.h | 4 |
6 files changed, 10 insertions, 6 deletions
diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h index 157415f..52319b0 100644 --- a/common/domain/applicationdomaintype.h +++ b/common/domain/applicationdomaintype.h | |||
@@ -370,6 +370,7 @@ struct SINK_EXPORT Mail : public Entity { | |||
370 | SINK_PROPERTY(bool, Important, important); | 370 | SINK_PROPERTY(bool, Important, important); |
371 | SINK_REFERENCE_PROPERTY(Folder, Folder, folder); | 371 | SINK_REFERENCE_PROPERTY(Folder, Folder, folder); |
372 | SINK_BLOB_PROPERTY(MimeMessage, mimeMessage); | 372 | SINK_BLOB_PROPERTY(MimeMessage, mimeMessage); |
373 | SINK_EXTRACTED_PROPERTY(bool, FullPayloadAvailable, fullPayloadAvailable); | ||
373 | SINK_PROPERTY(bool, Draft, draft); | 374 | SINK_PROPERTY(bool, Draft, draft); |
374 | SINK_PROPERTY(bool, Trash, trash); | 375 | SINK_PROPERTY(bool, Trash, trash); |
375 | SINK_PROPERTY(bool, Sent, sent); | 376 | SINK_PROPERTY(bool, Sent, sent); |
diff --git a/common/domain/mail.cpp b/common/domain/mail.cpp index 3dd9093..f9a20d7 100644 --- a/common/domain/mail.cpp +++ b/common/domain/mail.cpp | |||
@@ -62,7 +62,7 @@ void TypeImplementation<Mail>::configure(IndexPropertyMapper &indexPropertyMappe | |||
62 | if (!thread.isEmpty()) { | 62 | if (!thread.isEmpty()) { |
63 | return thread.first(); | 63 | return thread.first(); |
64 | } | 64 | } |
65 | return QByteArray{}; | 65 | return QByteArray{}; |
66 | }); | 66 | }); |
67 | } | 67 | } |
68 | 68 | ||
@@ -79,6 +79,7 @@ void TypeImplementation<Mail>::configure(ReadPropertyMapper<Buffer> &propertyMap | |||
79 | propertyMapper.addMapping<Mail::Important, Buffer>(&Buffer::important); | 79 | propertyMapper.addMapping<Mail::Important, Buffer>(&Buffer::important); |
80 | propertyMapper.addMapping<Mail::Folder, Buffer>(&Buffer::folder); | 80 | propertyMapper.addMapping<Mail::Folder, Buffer>(&Buffer::folder); |
81 | propertyMapper.addMapping<Mail::MimeMessage, Buffer>(&Buffer::mimeMessage); | 81 | propertyMapper.addMapping<Mail::MimeMessage, Buffer>(&Buffer::mimeMessage); |
82 | propertyMapper.addMapping<Mail::FullPayloadAvailable, Buffer>(&Buffer::fullPayloadAvailable); | ||
82 | propertyMapper.addMapping<Mail::Draft, Buffer>(&Buffer::draft); | 83 | propertyMapper.addMapping<Mail::Draft, Buffer>(&Buffer::draft); |
83 | propertyMapper.addMapping<Mail::Trash, Buffer>(&Buffer::trash); | 84 | propertyMapper.addMapping<Mail::Trash, Buffer>(&Buffer::trash); |
84 | propertyMapper.addMapping<Mail::Sent, Buffer>(&Buffer::sent); | 85 | propertyMapper.addMapping<Mail::Sent, Buffer>(&Buffer::sent); |
@@ -99,6 +100,7 @@ void TypeImplementation<Mail>::configure(WritePropertyMapper<BufferBuilder> &pro | |||
99 | propertyMapper.addMapping<Mail::Important>(&BufferBuilder::add_important); | 100 | propertyMapper.addMapping<Mail::Important>(&BufferBuilder::add_important); |
100 | propertyMapper.addMapping<Mail::Folder>(&BufferBuilder::add_folder); | 101 | propertyMapper.addMapping<Mail::Folder>(&BufferBuilder::add_folder); |
101 | propertyMapper.addMapping<Mail::MimeMessage>(&BufferBuilder::add_mimeMessage); | 102 | propertyMapper.addMapping<Mail::MimeMessage>(&BufferBuilder::add_mimeMessage); |
103 | propertyMapper.addMapping<Mail::FullPayloadAvailable>(&BufferBuilder::add_fullPayloadAvailable); | ||
102 | propertyMapper.addMapping<Mail::Draft>(&BufferBuilder::add_draft); | 104 | propertyMapper.addMapping<Mail::Draft>(&BufferBuilder::add_draft); |
103 | propertyMapper.addMapping<Mail::Trash>(&BufferBuilder::add_trash); | 105 | propertyMapper.addMapping<Mail::Trash>(&BufferBuilder::add_trash); |
104 | propertyMapper.addMapping<Mail::Sent>(&BufferBuilder::add_sent); | 106 | propertyMapper.addMapping<Mail::Sent>(&BufferBuilder::add_sent); |
diff --git a/common/domain/mail.fbs b/common/domain/mail.fbs index 737a671..2099692 100644 --- a/common/domain/mail.fbs +++ b/common/domain/mail.fbs | |||
@@ -22,6 +22,7 @@ table Mail { | |||
22 | sent:bool = false; | 22 | sent:bool = false; |
23 | messageId:string; | 23 | messageId:string; |
24 | parentMessageId:string; | 24 | parentMessageId:string; |
25 | fullPayloadAvailable:bool = false; | ||
25 | } | 26 | } |
26 | 27 | ||
27 | root_type Mail; | 28 | root_type Mail; |
diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp index f07a62e..113352e 100644 --- a/examples/imapresource/imapresource.cpp +++ b/examples/imapresource/imapresource.cpp | |||
@@ -176,6 +176,7 @@ public: | |||
176 | auto mail = Sink::ApplicationDomain::Mail::create(mResourceInstanceIdentifier); | 176 | auto mail = Sink::ApplicationDomain::Mail::create(mResourceInstanceIdentifier); |
177 | mail.setFolder(folderLocalId); | 177 | mail.setFolder(folderLocalId); |
178 | mail.setMimeMessage(message.msg->encodedContent()); | 178 | mail.setMimeMessage(message.msg->encodedContent()); |
179 | mail.setExtractedFullPayloadAvailable(message.fullPayload); | ||
179 | setFlags(mail, message.flags); | 180 | setFlags(mail, message.flags); |
180 | 181 | ||
181 | createOrModify(bufferType, remoteId, mail); | 182 | createOrModify(bufferType, remoteId, mail); |
diff --git a/examples/imapresource/imapserverproxy.cpp b/examples/imapresource/imapserverproxy.cpp index a172c93..dd1be69 100644 --- a/examples/imapresource/imapserverproxy.cpp +++ b/examples/imapresource/imapserverproxy.cpp | |||
@@ -280,9 +280,10 @@ KAsync::Job<QVector<qint64>> ImapServerProxy::search(const KIMAP2::Term &term) | |||
280 | 280 | ||
281 | KAsync::Job<void> ImapServerProxy::fetch(const KIMAP2::ImapSet &set, KIMAP2::FetchJob::FetchScope scope, const std::function<void(const Message &)> &callback) | 281 | KAsync::Job<void> ImapServerProxy::fetch(const KIMAP2::ImapSet &set, KIMAP2::FetchJob::FetchScope scope, const std::function<void(const Message &)> &callback) |
282 | { | 282 | { |
283 | const bool fullPayload = (scope.mode == KIMAP2::FetchJob::FetchScope::Full); | ||
283 | return fetch(set, scope, | 284 | return fetch(set, scope, |
284 | [callback](const KIMAP2::FetchJob::Result &result) { | 285 | [callback, fullPayload](const KIMAP2::FetchJob::Result &result) { |
285 | callback(Message{result.uid, result.size, result.attributes, result.flags, result.message}); | 286 | callback(Message{result.uid, result.size, result.attributes, result.flags, result.message, fullPayload}); |
286 | }); | 287 | }); |
287 | } | 288 | } |
288 | 289 | ||
diff --git a/examples/imapresource/imapserverproxy.h b/examples/imapresource/imapserverproxy.h index 140c5b2..d99459f 100644 --- a/examples/imapresource/imapserverproxy.h +++ b/examples/imapresource/imapserverproxy.h | |||
@@ -55,6 +55,7 @@ struct Message { | |||
55 | KIMAP2::MessageAttributes attributes; | 55 | KIMAP2::MessageAttributes attributes; |
56 | KIMAP2::MessageFlags flags; | 56 | KIMAP2::MessageFlags flags; |
57 | KMime::Message::Ptr msg; | 57 | KMime::Message::Ptr msg; |
58 | bool fullPayload; | ||
58 | }; | 59 | }; |
59 | 60 | ||
60 | struct Folder { | 61 | struct Folder { |
@@ -72,8 +73,6 @@ struct Folder { | |||
72 | { | 73 | { |
73 | } | 74 | } |
74 | 75 | ||
75 | |||
76 | |||
77 | QString path() const | 76 | QString path() const |
78 | { | 77 | { |
79 | Q_ASSERT(!mPath.isEmpty()); | 78 | Q_ASSERT(!mPath.isEmpty()); |
@@ -88,7 +87,6 @@ struct Folder { | |||
88 | return parts.join(mSeparator); | 87 | return parts.join(mSeparator); |
89 | } | 88 | } |
90 | 89 | ||
91 | |||
92 | QString name() const | 90 | QString name() const |
93 | { | 91 | { |
94 | Q_ASSERT(!pathParts.isEmpty()); | 92 | Q_ASSERT(!pathParts.isEmpty()); |