75 return CMTMEngine::instance()->sendMMS(message); |
82 return CMTMEngine::instance()->sendMMS(message); |
76 } |
83 } |
77 |
84 |
78 bool QMessageServicePrivate::sendEmail(QMessage &message) |
85 bool QMessageServicePrivate::sendEmail(QMessage &message) |
79 { |
86 { |
80 return CMTMEngine::instance()->sendEmail(message); |
87 switch (idType(message.parentAccountId())) { |
|
88 case EngineTypeFreestyle: |
|
89 #ifdef FREESTYLEMAILUSED |
|
90 return CFSEngine::instance()->sendEmail(message); |
|
91 #else |
|
92 return false; |
|
93 #endif |
|
94 break; |
|
95 case EngineTypeMTM: |
|
96 default: |
|
97 return CMTMEngine::instance()->sendEmail(message); |
|
98 break; |
|
99 } |
81 } |
100 } |
82 |
101 |
83 bool QMessageServicePrivate::show(const QMessageId& id) |
102 bool QMessageServicePrivate::show(const QMessageId& id) |
84 { |
103 { |
85 return CMTMEngine::instance()->showMessage(id); |
104 switch (idType(id)) { |
|
105 case EngineTypeFreestyle: |
|
106 #ifdef FREESTYLEMAILUSED |
|
107 return CFSEngine::instance()->showMessage(id); |
|
108 #else |
|
109 return false; |
|
110 #endif |
|
111 break; |
|
112 case EngineTypeMTM: |
|
113 default: |
|
114 return CMTMEngine::instance()->showMessage(id); |
|
115 break; |
|
116 } |
86 } |
117 } |
87 |
118 |
88 bool QMessageServicePrivate::compose(const QMessage &message) |
119 bool QMessageServicePrivate::compose(const QMessage &message) |
89 { |
120 { |
90 return CMTMEngine::instance()->composeMessage(message); |
121 switch (idType(message.parentAccountId())) { |
|
122 case EngineTypeFreestyle: |
|
123 #ifdef FREESTYLEMAILUSED |
|
124 return CFSEngine::instance()->composeMessage(message); |
|
125 #else |
|
126 return false; |
|
127 #endif |
|
128 break; |
|
129 case EngineTypeMTM: |
|
130 default: |
|
131 return CMTMEngine::instance()->composeMessage(message); |
|
132 break; |
|
133 } |
91 } |
134 } |
92 |
135 |
93 bool QMessageServicePrivate::queryMessages(const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const |
136 bool QMessageServicePrivate::queryMessages(const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const |
94 { |
137 { |
95 return CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, sortOrder, limit, offset); |
138 if (_pendingRequestCount > 0) { |
|
139 return false; |
|
140 } |
|
141 _pendingRequestCount = 0; |
|
142 _active = true; |
|
143 _filter = filter; |
|
144 _sortOrder = sortOrder; |
|
145 _limit = limit; |
|
146 _offset = offset; |
|
147 _filtered = true; |
|
148 _sorted = true; |
|
149 |
|
150 _pendingRequestCount++; |
|
151 CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, sortOrder, 0, 0); |
|
152 |
|
153 #ifdef FREESTYLEMAILUSED |
|
154 _pendingRequestCount++; |
|
155 CFSEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, sortOrder, 0, 0); |
|
156 #endif |
|
157 |
|
158 return _active; |
96 } |
159 } |
97 |
160 |
98 bool QMessageServicePrivate::queryMessages(const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const |
161 bool QMessageServicePrivate::queryMessages(const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const |
99 { |
162 { |
100 return CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, body, matchFlags, sortOrder, limit, offset); |
163 if (_pendingRequestCount > 0) { |
|
164 return false; |
|
165 } |
|
166 _pendingRequestCount = 0; |
|
167 _active = true; |
|
168 _filter = filter; |
|
169 _sortOrder = sortOrder; |
|
170 _limit = limit; |
|
171 _offset = offset; |
|
172 _filtered = true; |
|
173 _sorted = true; |
|
174 |
|
175 _pendingRequestCount++; |
|
176 CMTMEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, body, matchFlags, sortOrder, 0, 0); |
|
177 |
|
178 #ifdef FREESTYLEMAILUSED |
|
179 _pendingRequestCount++; |
|
180 CFSEngine::instance()->queryMessages((QMessageServicePrivate&)*this, filter, body, matchFlags, sortOrder, 0, 0); |
|
181 #endif |
|
182 |
|
183 return _active; |
101 } |
184 } |
102 |
185 |
103 bool QMessageServicePrivate::countMessages(const QMessageFilter &filter) |
186 bool QMessageServicePrivate::countMessages(const QMessageFilter &filter) |
104 { |
187 { |
105 return CMTMEngine::instance()->countMessages((QMessageServicePrivate&)*this, filter); |
188 if (_pendingRequestCount > 0) { |
|
189 return false; |
|
190 } |
|
191 _pendingRequestCount = 0; |
|
192 _active = true; |
|
193 _count = 0; |
|
194 |
|
195 _pendingRequestCount++; |
|
196 CMTMEngine::instance()->countMessages((QMessageServicePrivate&)*this, filter); |
|
197 |
|
198 #ifdef FREESTYLEMAILUSED |
|
199 _pendingRequestCount++; |
|
200 CFSEngine::instance()->countMessages((QMessageServicePrivate&)*this, filter); |
|
201 #endif |
|
202 return _active; |
106 } |
203 } |
107 |
204 |
108 bool QMessageServicePrivate::retrieve(const QMessageId &messageId, const QMessageContentContainerId &id) |
205 bool QMessageServicePrivate::retrieve(const QMessageId &messageId, const QMessageContentContainerId &id) |
109 { |
206 { |
110 return CMTMEngine::instance()->retrieve(messageId, id); |
207 switch (idType(messageId)) { |
|
208 case EngineTypeFreestyle: |
|
209 #ifdef FREESTYLEMAILUSED |
|
210 return CFSEngine::instance()->retrieve(*this, messageId, id); |
|
211 #else |
|
212 return false; |
|
213 #endif |
|
214 break; |
|
215 case EngineTypeMTM: |
|
216 default: |
|
217 return CMTMEngine::instance()->retrieve(*this, messageId, id); |
|
218 break; |
|
219 } |
111 } |
220 } |
112 |
221 |
113 bool QMessageServicePrivate::retrieveBody(const QMessageId& id) |
222 bool QMessageServicePrivate::retrieveBody(const QMessageId& id) |
114 { |
223 { |
115 return CMTMEngine::instance()->retrieveBody(id); |
224 switch (idType(id)) { |
|
225 case EngineTypeFreestyle: |
|
226 #ifdef FREESTYLEMAILUSED |
|
227 return CFSEngine::instance()->retrieveBody(*this, id); |
|
228 #else |
|
229 return false; |
|
230 #endif |
|
231 break; |
|
232 case EngineTypeMTM: |
|
233 default: |
|
234 return CMTMEngine::instance()->retrieveBody(*this, id); |
|
235 break; |
|
236 } |
116 } |
237 } |
117 |
238 |
118 bool QMessageServicePrivate::retrieveHeader(const QMessageId& id) |
239 bool QMessageServicePrivate::retrieveHeader(const QMessageId& id) |
119 { |
240 { |
120 return CMTMEngine::instance()->retrieveHeader(id); |
241 switch (idType(id)) { |
|
242 case EngineTypeFreestyle: |
|
243 #ifdef FREESTYLEMAILUSED |
|
244 return CFSEngine::instance()->retrieveHeader(*this, id); |
|
245 #else |
|
246 return false; |
|
247 #endif |
|
248 break; |
|
249 case EngineTypeMTM: |
|
250 default: |
|
251 return CMTMEngine::instance()->retrieveHeader(*this, id); |
|
252 break; |
|
253 } |
|
254 } |
|
255 |
|
256 void QMessageServicePrivate::messagesFound(const QMessageIdList &ids, bool isFiltered, bool isSorted) |
|
257 { |
|
258 _pendingRequestCount--; |
|
259 |
|
260 if (!isFiltered) { |
|
261 _filtered = false; |
|
262 } |
|
263 |
|
264 if (!isSorted) { |
|
265 _sorted = false; |
|
266 } else { |
|
267 if ((ids.count() > 0) && (_ids.count() > 0)) { |
|
268 _sorted = false; |
|
269 } |
|
270 } |
|
271 |
|
272 _ids.append(ids); |
|
273 |
|
274 if (_pendingRequestCount == 0) { |
|
275 if (!_filtered) { |
|
276 MessagingHelper::filterMessages(_ids, _filter); |
|
277 } |
|
278 if (!_sorted) { |
|
279 MessagingHelper::orderMessages(_ids, _sortOrder); |
|
280 } |
|
281 MessagingHelper::applyOffsetAndLimitToMessageIdList(_ids, _limit, _offset); |
|
282 |
|
283 emit q_ptr->messagesFound(_ids); |
|
284 |
|
285 setFinished(true); |
|
286 |
|
287 _ids.clear(); |
|
288 _filter = QMessageFilter(); |
|
289 _sortOrder = QMessageSortOrder(); |
|
290 } |
|
291 } |
|
292 |
|
293 void QMessageServicePrivate::messagesCounted(int count) |
|
294 { |
|
295 _pendingRequestCount--; |
|
296 |
|
297 _count += count; |
|
298 |
|
299 if (_pendingRequestCount == 0) { |
|
300 |
|
301 emit q_ptr->messagesCounted(_count); |
|
302 |
|
303 setFinished(true); |
|
304 |
|
305 _count = 0; |
|
306 } |
121 } |
307 } |
122 |
308 |
123 bool QMessageServicePrivate::exportUpdates(const QMessageAccountId &id) |
309 bool QMessageServicePrivate::exportUpdates(const QMessageAccountId &id) |
124 { |
310 { |
125 return CMTMEngine::instance()->exportUpdates(id); |
311 switch (idType(id)) { |
|
312 case EngineTypeFreestyle: |
|
313 #ifdef FREESTYLEMAILUSED |
|
314 return CFSEngine::instance()->exportUpdates(id); |
|
315 #else |
|
316 return false; |
|
317 #endif |
|
318 case EngineTypeMTM: |
|
319 default: |
|
320 return CMTMEngine::instance()->exportUpdates(*this, id); |
|
321 } |
126 } |
322 } |
127 |
323 |
128 void QMessageServicePrivate::setFinished(bool successful) |
324 void QMessageServicePrivate::setFinished(bool successful) |
129 { |
325 { |
130 if (!successful && (_error == QMessageManager::NoError)) { |
326 if (!successful && (_error == QMessageManager::NoError)) { |