diff options
-rw-r--r-- | examples/imapresource/imapresource.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp index 2e1dbec..1bcbd24 100644 --- a/examples/imapresource/imapresource.cpp +++ b/examples/imapresource/imapresource.cpp | |||
@@ -129,14 +129,13 @@ public: | |||
129 | QByteArray mResourceType; | 129 | QByteArray mResourceType; |
130 | }; | 130 | }; |
131 | 131 | ||
132 | class MailPropertyExtractor : public Sink::Preprocessor | 132 | class MailPropertyExtractor : public Sink::EntityPreprocessor<ApplicationDomain::Mail> |
133 | { | 133 | { |
134 | public: | 134 | public: |
135 | MailPropertyExtractor() {} | ||
136 | 135 | ||
137 | void updatedIndexedProperties(Sink::ApplicationDomain::BufferAdaptor &newEntity) | 136 | void updatedIndexedProperties(Sink::ApplicationDomain::Mail &mail) |
138 | { | 137 | { |
139 | const auto mimeMessagePath = newEntity.getProperty("mimeMessage").toString(); | 138 | const auto mimeMessagePath = mail.getMimeMessagePath(); |
140 | Trace() << "Updating indexed properties " << mimeMessagePath; | 139 | Trace() << "Updating indexed properties " << mimeMessagePath; |
141 | QFile f(mimeMessagePath); | 140 | QFile f(mimeMessagePath); |
142 | if (!f.open(QIODevice::ReadOnly)) { | 141 | if (!f.open(QIODevice::ReadOnly)) { |
@@ -153,22 +152,22 @@ public: | |||
153 | msg->setHead(KMime::CRLFtoLF(QByteArray::fromRawData(reinterpret_cast<const char*>(mapped), f.size()))); | 152 | msg->setHead(KMime::CRLFtoLF(QByteArray::fromRawData(reinterpret_cast<const char*>(mapped), f.size()))); |
154 | msg->parse(); | 153 | msg->parse(); |
155 | 154 | ||
156 | newEntity.setProperty("subject", msg->subject(true)->asUnicodeString()); | 155 | mail.setExtractedSubject(msg->subject(true)->asUnicodeString()); |
157 | newEntity.setProperty("sender", msg->from(true)->asUnicodeString()); | 156 | mail.setExtractedSender(msg->from(true)->asUnicodeString()); |
158 | newEntity.setProperty("senderName", msg->from(true)->asUnicodeString()); | 157 | mail.setExtractedSenderName(msg->from(true)->asUnicodeString()); |
159 | newEntity.setProperty("date", msg->date(true)->dateTime()); | 158 | mail.setExtractedDate(msg->date(true)->dateTime()); |
160 | } | 159 | } |
161 | 160 | ||
162 | void newEntity(const QByteArray &uid, qint64 revision, Sink::ApplicationDomain::BufferAdaptor &newEntity, Sink::Storage::Transaction &transaction) Q_DECL_OVERRIDE | 161 | void newEntity(Sink::ApplicationDomain::Mail &mail, Sink::Storage::Transaction &transaction) Q_DECL_OVERRIDE |
163 | { | 162 | { |
164 | updatedIndexedProperties(newEntity); | 163 | updatedIndexedProperties(mail); |
165 | } | 164 | } |
166 | 165 | ||
167 | void modifiedEntity(const QByteArray &uid, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &oldEntity, Sink::ApplicationDomain::BufferAdaptor &newEntity, | 166 | void modifiedEntity(const Sink::ApplicationDomain::Mail &oldMail, Sink::ApplicationDomain::Mail &newMail,Sink::Storage::Transaction &transaction) Q_DECL_OVERRIDE |
168 | Sink::Storage::Transaction &transaction) Q_DECL_OVERRIDE | ||
169 | { | 167 | { |
170 | updatedIndexedProperties(newEntity); | 168 | updatedIndexedProperties(newMail); |
171 | } | 169 | } |
170 | }; | ||
172 | 171 | ||
173 | }; | 172 | }; |
174 | 173 | ||