author | hgs |
Mon, 28 Jun 2010 11:03:15 +0530 | |
changeset 9 | 4a2987baf8f7 |
parent 7 | 51d10d255e92 |
child 18 | 1edf350003c5 |
permissions | -rw-r--r-- |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
/* |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
* |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
11 |
* |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
* |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
14 |
* Description: Utility class for fetching email. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
15 |
* |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
18 |
#include "qtemailfetcher.h" |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
19 |
#include <csearchdocument.h> |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
20 |
#include <nmapiemailaddress.h> |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
21 |
#include <nmapimessagebody.h> |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
22 |
#include <nmapimailbox.h> |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
23 |
#include <QTimer> |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
24 |
#include <QDebug> |
9 | 25 |
#include <qdatetime.h> |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
27 |
//Symbian specific details; picked up from cemailplugin.cpp. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
28 |
//Refactor it to cpixmaindefs.h |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
29 |
_LIT(KMsgBaseAppClassGeneric, "root msg email"); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
30 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
31 |
_LIT(KMsgSubject, "Subject"); |
9 | 32 |
_LIT(KMsgSender, "Sender"); |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
33 |
_LIT(KMsgRecipients, "Recipients"); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
34 |
_LIT(KMsgBody, "Body"); |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
35 |
_LIT(KMailBoxId, "MailBoxId"); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
36 |
_LIT(KFolderId, "FolderId"); |
9 | 37 |
_LIT(KHasAttachment, "HasAttachment"); |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
38 |
_LIT(KMailBoxName, "MailBoxName"); |
9 | 39 |
//_LIT(KFolderName, "FolderName"); |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
40 |
_LIT(KMimeTypeField, CPIX_MIMETYPE_FIELD); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
41 |
_LIT(KMimeTypeMsg, "Messages"); |
9 | 42 |
_LIT(KAttachment, "Attachment"); |
43 |
_LIT(KSentTime, "SentTime"); |
|
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
44 |
|
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
45 |
//------------------------------------------------------------------------------ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
46 |
QEmailFetcher::QEmailFetcher( MEmailItemObserver& aObserver ) |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
47 |
:iEmailObserver( aObserver ), |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
48 |
iEmailEventNotifier( NULL ), |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
49 |
iEmailService( NULL ), |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
50 |
iMailBoxListings( NULL ), |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
51 |
iMailFolderList( NULL ), |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
52 |
iEnvelopeListing( NULL ), |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
53 |
iCurrentMailboxIndex( 0 ), |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
54 |
iCurrentFolderIndex( 0 ) |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
55 |
{ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
56 |
qDebug() << "QEmailFetcher::QEmailFetcher"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
57 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
58 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
59 |
//------------------------------------------------------------------------------ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
60 |
QEmailFetcher::~QEmailFetcher() |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
61 |
{ |
9 | 62 |
if ( iEmailEventNotifier ) |
63 |
iEmailEventNotifier->cancel(); |
|
64 |
iMailBoxes.clear(); |
|
65 |
iFolders.clear(); |
|
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
66 |
delete iEmailEventNotifier; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
67 |
delete iEmailService; |
9 | 68 |
delete iEnvelopeListing; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
69 |
delete iMailFolderList; |
9 | 70 |
delete iMailBoxListings; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
71 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
72 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
73 |
//------------------------------------------------------------------------------ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
74 |
QEmailFetcher* QEmailFetcher::newInstance( MEmailItemObserver& aObserver ){ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
75 |
QEmailFetcher* emailFetcher = NULL; |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
76 |
qDebug() << "QEmailFetcher::newInstance :START"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
77 |
//Leak free init. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
78 |
try{ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
79 |
emailFetcher = new QEmailFetcher( aObserver ); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
80 |
emailFetcher->iEmailService = new NmApiEmailService( emailFetcher ); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
81 |
emailFetcher->iEmailEventNotifier = new NmApiEventNotifier( emailFetcher ); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
82 |
emailFetcher->iMailBoxListings = new NmApiMailboxListing( emailFetcher ); |
9 | 83 |
emailFetcher->initialize( ); //Do the rest of the init. |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
84 |
}catch(...){ //cleanup. |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
85 |
qDebug() << "QEmailFetcher::newInstance ( Catch Block)"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
86 |
delete emailFetcher; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
87 |
delete emailFetcher->iEmailService; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
88 |
delete emailFetcher->iEmailEventNotifier; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
89 |
delete emailFetcher->iMailBoxListings; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
90 |
emailFetcher->iEmailService = NULL; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
91 |
emailFetcher->iEmailEventNotifier = NULL; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
92 |
emailFetcher->iMailBoxListings = NULL; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
93 |
throw; //rethrow the exception to caller. |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
94 |
} |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
95 |
qDebug() << "QEmailFetcher::newInstance :END"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
96 |
return emailFetcher; //returns only if not null. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
97 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
98 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
99 |
//------------------------------------------------------------------------------ |
9 | 100 |
void QEmailFetcher::initialize( ){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
101 |
qDebug() << "QEmailFetcher::initialize :START"; |
9 | 102 |
connect( iEmailService, SIGNAL(initialized(bool)), |
103 |
this, SLOT(emailServiceIntialized(bool)) ); |
|
104 |
iEmailService->initialise(); |
|
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
105 |
//Monitor for Message changes |
9 | 106 |
connect( iEmailEventNotifier, |
107 |
SIGNAL(messageEvent(EmailClientApi::NmApiMessageEvent, quint64, quint64, QList<quint64>)), |
|
108 |
this, |
|
109 |
SLOT(handleMessageEvent(EmailClientApi::NmApiMessageEvent, quint64, quint64, QList<quint64>)) ); |
|
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
110 |
//Start the monitoring |
9 | 111 |
iEmailEventNotifier->start(); |
112 |
qDebug() << "QEmailFetcher::Started monitoring for Email message event"; |
|
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
113 |
qDebug() << "QEmailFetcher::initialize :END"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
114 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
115 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
116 |
//------------------------------------------------------------------------------ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
117 |
void QEmailFetcher::emailServiceIntialized(bool aAllOk){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
118 |
qDebug() << "QEmailFetcher::emailServiceIntialized :START aAllOk = " << aAllOk; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
119 |
if( aAllOk ){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
120 |
connect( iMailBoxListings, SIGNAL(mailboxesListed(qint32)), this, SLOT(handleMailboxesListed(qint32)) ); |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
121 |
} |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
122 |
qDebug() << "QEmailFetcher::emailServiceIntialized :END"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
123 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
124 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
125 |
//------------------------------------------------------------------------------ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
126 |
void QEmailFetcher::StartHarvesting(){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
127 |
qDebug() << "QEmailFetcher::StartHarvesting :START"; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
128 |
bool ret = iMailBoxListings->start(); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
129 |
qDebug() << "QEmailFetcher::StartHarvesting :END return = " << ret; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
130 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
131 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
132 |
//------------------------------------------------------------------------------ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
133 |
namespace { |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
134 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
135 |
// Taken from qt/src/corelib/kernel/qcore_symbian_p.cpp, as recomended in |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
136 |
// http://qt.nokia.com/files/pdf/whitepaper-using-qt-and-symbian-c-together, page 34. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
137 |
// URL last accessed on April 6th, 2010. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
138 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
139 |
// Returned TPtrC is valid as long as the given parameter is valid and unmodified |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
140 |
static inline TPtrC qt_QString2TPtrC( const QString& string ) |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
141 |
{ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
142 |
return TPtrC16(static_cast<const TUint16*>(string.utf16()), string.length()); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
143 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
144 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
145 |
//------------------------------------------------------------------------------ |
9 | 146 |
CSearchDocument* getPartialSearchDocument( quint64 aEnvelopeId ) { |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
147 |
qDebug() << "getPartialSearchDocument :START"; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
148 |
CSearchDocument* doc = 0; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
149 |
QT_TRAP_THROWING( |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
150 |
//Use qt_Qstring2TPtrC since we are working with <b>const</b> EmailMessageEnvelope. |
9 | 151 |
doc = CSearchDocument::NewL( qt_QString2TPtrC( QString().setNum( aEnvelopeId ) ), |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
152 |
KMsgBaseAppClassGeneric ); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
153 |
); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
154 |
qDebug() << "getPartialSearchDocument :END"; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
155 |
return doc; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
156 |
} |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
157 |
} //anonymous namespace |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
158 |
//------------------------------------------------------------------------------ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
159 |
|
9 | 160 |
CSearchDocument* QEmailFetcher::getSearchDocumentL( const NmApiMessageEnvelope& aEnvelope ,quint64 aMailboxId, quint64 aFolderId ){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
161 |
QList<NmApiEmailAddress> toList; |
9 | 162 |
qDebug() << "QEmailFetcher::getSearchDocumentL :START"; |
163 |
//We need ALL the recipients in a SINGLE field. |
|
164 |
||
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
165 |
//Need to cast away const-ness since the get method is unfortunately not const. |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
166 |
const_cast<NmApiMessageEnvelope&>(aEnvelope).getToRecipients( toList ); |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
167 |
QString recipients = ""; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
168 |
for( int i=0; i<toList.length(); i++ ) |
9 | 169 |
{ |
170 |
qDebug() << "QEmailFetcher::To receipient displayname :"<< toList.at( i ).displayName() << "Address : "<<toList.at( i ).address(); |
|
171 |
recipients += toList.at( i ).displayName() + " "; |
|
172 |
recipients += toList.at( i ).address() + " "; |
|
173 |
} |
|
174 |
// Get CC receipents |
|
175 |
const_cast<NmApiMessageEnvelope&>(aEnvelope).getCcRecipients( toList ); |
|
176 |
for( int i=0; i<toList.length(); i++ ) |
|
177 |
{ |
|
178 |
qDebug() << "QEmailFetcher::CC receipient displayname :"<< toList.at( i ).displayName() << "Address : "<<toList.at( i ).address(); |
|
179 |
recipients += toList.at( i ).displayName() + " "; |
|
180 |
recipients += toList.at( i ).address() + " "; |
|
181 |
} |
|
182 |
||
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
183 |
NmApiMessageBody body; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
184 |
//Cast away const-ness since the get method is unfortunately not const. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
185 |
//Returns void. Cannot check for success/failure. |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
186 |
const_cast<NmApiMessageEnvelope&>(aEnvelope).getPlainTextBody( body ); |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
187 |
QString msgBody = body.content(); |
9 | 188 |
qDebug() << "QEmailFetcher::Body of mail using paintextAPI:"<< aEnvelope.plainText() ; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
189 |
CSearchDocument* doc = 0; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
190 |
QT_TRAP_THROWING( |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
191 |
//Use qt_Qstring2TPtrC since we are working with <b>const</b> EmailMessageEnvelope. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
192 |
doc = CSearchDocument::NewL( qt_QString2TPtrC( QString().setNum( aEnvelope.id() ) ), |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
193 |
KMsgBaseAppClassGeneric ); |
9 | 194 |
//Add the sender details |
195 |
doc->AddFieldL( KMsgSender, qt_QString2TPtrC( const_cast<NmApiMessageEnvelope&>(aEnvelope).sender() ), |
|
196 |
CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText); |
|
197 |
//Add the Mimetype |
|
198 |
doc->AddFieldL( KMimeTypeField, KMimeTypeMsg, CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized ); |
|
199 |
//Add the Subject field |
|
200 |
doc->AddFieldL( KMsgSubject, qt_QString2TPtrC( aEnvelope.subject() ), |
|
201 |
CDocumentField::EStoreYes | CDocumentField::EIndexTokenized ); |
|
202 |
//Add the recipients list (Includes To and CC fields) |
|
203 |
doc->AddFieldL( KMsgRecipients, qt_QString2TPtrC( recipients ), |
|
204 |
CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText ); |
|
205 |
//Add the email body |
|
206 |
doc->AddFieldL( KMsgBody, qt_QString2TPtrC( msgBody ), |
|
207 |
CDocumentField::EStoreYes | CDocumentField::EIndexTokenized ); |
|
208 |
//Add the mailboxid |
|
209 |
doc->AddFieldL( KMailBoxId, qt_QString2TPtrC( QString().setNum( aMailboxId ) ), |
|
210 |
CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized | CDocumentField::EAggregateNo ); |
|
211 |
//Add the folder Id |
|
212 |
doc->AddFieldL( KFolderId, qt_QString2TPtrC( QString().setNum( aFolderId ) ), |
|
213 |
CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized | CDocumentField::EAggregateNo ); |
|
214 |
//Add the attachment field. This field will be added only if there is any attachment.Details of the attachment |
|
215 |
//are not added due to lack of email application support. |
|
216 |
if ( aEnvelope.hasAttachments() ) |
|
217 |
doc->AddFieldL( KHasAttachment, KAttachment, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized); |
|
218 |
//Add mailbox name |
|
219 |
NmApiMailbox aMailBox; |
|
220 |
iEmailService->getMailbox( aMailboxId, aMailBox ); |
|
221 |
doc->AddFieldL( KMailBoxName, qt_QString2TPtrC(aMailBox.name()) , |
|
222 |
CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText ); |
|
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
223 |
|
9 | 224 |
// Sent date time KSentTime |
225 |
QDateTime time = aEnvelope.sentTime(); |
|
226 |
doc->AddFieldL( KSentTime, qt_QString2TPtrC(time.toString ()) , |
|
227 |
CDocumentField::EStoreYes | CDocumentField::EIndexTokenized ); |
|
228 |
//TODO : Foldername is not harvested as there is no API exposed from email application to get the foldername based on folderID. |
|
229 |
//This feature will be implemented as soon as we get supporting API's from Email team |
|
230 |
||
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
231 |
//Adding subject and body to the excerpt. |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
232 |
QString excerpt ; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
233 |
excerpt = aEnvelope.subject(); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
234 |
excerpt += msgBody ; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
235 |
doc->AddExcerptL( qt_QString2TPtrC(excerpt) ); |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
236 |
); |
9 | 237 |
qDebug() << "QEmailFetcher::getSearchDocumentL :END"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
238 |
return doc; |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
239 |
} |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
240 |
|
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
241 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
242 |
//------------------------------------------------------------------------------ |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
243 |
void QEmailFetcher::NotifyHarvestingComplete(){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
244 |
qDebug() << "QEmailFetcher::NotifyHarvestingComplete :START"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
245 |
iCurrentMailboxIndex = iCurrentFolderIndex = 0; |
9 | 246 |
//Free the iMailBoxes and iFolders |
247 |
iMailBoxes.clear(); |
|
248 |
iFolders.clear(); |
|
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
249 |
QT_TRAP_THROWING( iEmailObserver.HarvestingCompleted() ); |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
250 |
qDebug() << "QEmailFetcher::NotifyHarvestingComplete :END"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
251 |
return; |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
252 |
} |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
253 |
|
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
254 |
//------------------------------------------------------------------------------ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
255 |
void QEmailFetcher::handleMailboxesListed(qint32 aCount){ |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
256 |
qDebug() << "QEmailFetcher::handleMailboxesListed :START"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
257 |
iCurrentMailboxIndex = 0; |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
258 |
if( aCount == NmApiMailboxListing::MailboxListingFailed ) { |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
259 |
NotifyHarvestingComplete(); |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
260 |
qDebug() << "QEmailFetcher::handleMailboxesListed :MailboxListingFailed"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
261 |
return; |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
262 |
} |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
263 |
if( aCount>0 && iMailBoxListings->getMailboxes( iMailBoxes ) ){ |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
264 |
//Already set to NULL in constructor, so safe to call delete first time. |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
265 |
qDebug() << "QEmailFetcher::handleMailboxesListed :processNextMailbox"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
266 |
processNextMailbox(); |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
267 |
}else{ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
268 |
qDebug() << "QEmailFetcher::handleMailboxesListed :Harvesting Completed"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
269 |
NotifyHarvestingComplete(); |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
270 |
return; |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
271 |
} |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
272 |
} |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
273 |
|
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
274 |
//------------------------------------------------------------------------------ |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
275 |
//Options to make async (like other plugins' Asynchronizer): |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
276 |
//1. Use http://doc.trolltech.com/4.6/qtimer.html and connect timeout() signal to something? |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
277 |
//Downside: |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
278 |
//Have to save the state of the function and resume. Achievable via static members. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
279 |
//Remeber to reset counters. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
280 |
//2. Use timer; unlike above, have handleMailboxesListed() simply trigger a |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
281 |
//Timer controlled function. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
282 |
//3. Use QThread::currentThread()->yieldCurrentThread(); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
283 |
//Downside: Not tested. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
284 |
//4. As recommended by the email API documentation, use SingleShotTimer: |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
285 |
//QTimer::singleShot(nsecs,nmFolderListing,SLOT(start()); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
286 |
// |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
287 |
//Recommendation: Use option 4. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
288 |
|
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
289 |
void QEmailFetcher::processNextMailbox(){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
290 |
qDebug() << "QEmailFetcher::processNextMailbox :START"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
291 |
//No more mailboxes, notify completion. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
292 |
if( iCurrentMailboxIndex >= iMailBoxes.count() ) { |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
293 |
NotifyHarvestingComplete(); |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
294 |
qDebug() << "QEmailFetcher::processNextMailbox :END (harvesting completed)"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
295 |
return; |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
296 |
} |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
297 |
//More mailboxes available. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
298 |
delete iMailFolderList; iMailFolderList = NULL; |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
299 |
iMailFolderList = new NmApiFolderListing( this, iMailBoxes.at( iCurrentMailboxIndex++ ).id() ); |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
300 |
connect( iMailFolderList, SIGNAL(foldersListed( qint32 )), this, SLOT(handleMailFoldersListed( qint32)) ); |
9 | 301 |
iMailFolderList->start(); |
302 |
||
303 |
// const int waitForSeconds = 30; //TODO Move this constant out of here if needed elsewhere |
|
304 |
// QTimer::singleShot( waitForSeconds, iMailFolderList, SLOT( start()) ); |
|
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
305 |
qDebug() << "QEmailFetcher::processNextMailbox :END (goto next mailbox)"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
306 |
} |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
307 |
|
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
308 |
//------------------------------------------------------------------------------ |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
309 |
void QEmailFetcher::handleMailFoldersListed(int aCount){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
310 |
qDebug() << "QEmailFetcher::handleMailFoldersListed :START"; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
311 |
iCurrentFolderIndex = 0; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
312 |
if( aCount == NmApiFolderListing::FolderListingFailed ){ |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
313 |
qDebug() << "QEmailFetcher::handleMailFoldersListed :FolderListingFailed"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
314 |
processNextMailbox(); |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
315 |
return;//Don't proceed futher. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
316 |
} |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
317 |
if( aCount && iMailFolderList->getFolders( iFolders ) ){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
318 |
qDebug() << "QEmailFetcher::handleMailFoldersListed :processNextFolder"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
319 |
processNextFolder(); |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
320 |
}else{ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
321 |
qDebug() << "QEmailFetcher::handleMailFoldersListed :processNextMailbox"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
322 |
processNextMailbox(); |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
323 |
return; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
324 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
325 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
326 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
327 |
//------------------------------------------------------------------------------ |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
328 |
void QEmailFetcher::processNextFolder(){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
329 |
qDebug() << "QEmailFetcher::processNextFolder :START"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
330 |
//No more folders in current mailbox. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
331 |
if( iCurrentFolderIndex >= iFolders.count() ) { |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
332 |
qDebug() << "QEmailFetcher::processNextFolder :processNextMailbox"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
333 |
processNextMailbox(); |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
334 |
return;//Don't proceed futher. |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
335 |
} |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
336 |
//More folders to process. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
337 |
//Already set to NULL in constructor, so safe to call delete first time. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
338 |
delete iEnvelopeListing; iEnvelopeListing = NULL; |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
339 |
iEnvelopeListing= new NmApiEnvelopeListing( |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
340 |
this, |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
341 |
iFolders.at( iCurrentFolderIndex++ ).id(), |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
342 |
iMailBoxes.at( iCurrentMailboxIndex-1 ).id() ); //we have already incremented iMailboxIndex. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
343 |
|
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
344 |
connect(iEnvelopeListing, SIGNAL(envelopesListed(qint32)),this,SLOT(processMessages(qint32))); |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
345 |
iEnvelopeListing->start(); |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
346 |
qDebug() << "QEmailFetcher::processNextFolder :processNextFolder"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
347 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
348 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
349 |
//------------------------------------------------------------------------------ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
350 |
void QEmailFetcher::processMessages(qint32 aCount){ |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
351 |
qDebug() << "QEmailFetcher::processMessages :START"; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
352 |
if( aCount == NmApiEnvelopeListing::EnvelopeListingFailed ) { |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
353 |
qDebug() << "QEmailFetcher::processMessages :EnvelopeListingFailed"; |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
354 |
processNextFolder(); |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
355 |
return;//Don't proceed futher. |
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
356 |
} |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
357 |
QList<NmApiMessageEnvelope> envelopes; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
358 |
if ( aCount > 0 && iEnvelopeListing->getEnvelopes(envelopes) ) { |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
359 |
for( int i=0; i<envelopes.count(); i++ ) { |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
360 |
const NmApiMessageEnvelope &envelope = envelopes.at( i ); |
3
6832643895f7
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
2
diff
changeset
|
361 |
//Create document and call back observer. |
9 | 362 |
QT_TRAP_THROWING( iEmailObserver.HandleDocumentL( getSearchDocumentL( envelope, iFolders.at( iCurrentFolderIndex -1 ).id(), |
363 |
iMailBoxes.at( iCurrentMailboxIndex-1 ).id() ), ECPixAddAction ) ); |
|
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
364 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
365 |
} |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
366 |
qDebug() << "QEmailFetcher::processMessages :END"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
367 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
368 |
|
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
369 |
//------------------------------------------------------------------------------ |
9 | 370 |
void QEmailFetcher::handleMessageEvent( EmailClientApi::NmApiMessageEvent aEvent, quint64 aMailboxId, quint64 aFolderId, QList<quint64> aMessageList){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
371 |
NmApiMessageEnvelope envelope; |
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
372 |
qDebug() << "QEmailFetcher::handleMessageEvent :START"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
373 |
const int messageCount = aMessageList.count(); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
374 |
if( messageCount>0 ){ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
375 |
if( aEvent == MessageCreated || aEvent == MessageChanged ){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
376 |
qDebug() << "QEmailFetcher::handleMessageEvent :MessageCreated || MessageChanged"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
377 |
for( int i=0; i<messageCount; i++ ){ |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
378 |
if( iEmailService->getEnvelope( aMailboxId, aFolderId, aMessageList.at( i ), envelope ) ){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
379 |
qDebug() << "QEmailFetcher::handleMessageEvent :HandleDocumentL"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
380 |
QT_TRAP_THROWING( |
9 | 381 |
iEmailObserver.HandleDocumentL( getSearchDocumentL( envelope, aMailboxId, aFolderId ), |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
382 |
//Doing this simply avoids *duplicate* code for update action. |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
383 |
aEvent == MessageCreated ? ECPixAddAction : ECPixUpdateAction ) ); |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
384 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
385 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
386 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
387 |
else if( aEvent == MessageDeleted ) { |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
388 |
qDebug() << "QEmailFetcher::handleMessageEvent :MessageDeleted"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
389 |
for( int i=0; i<messageCount; i++ ){ |
7
51d10d255e92
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
3
diff
changeset
|
390 |
qDebug() << "QEmailFetcher::handleMessageEvent :MessageDeleted : HandleDocumentL"; |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
391 |
QT_TRAP_THROWING( |
9 | 392 |
iEmailObserver.HandleDocumentL( getPartialSearchDocument( aMessageList.at( i ) ), ECPixRemoveAction ) ); |
2
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
393 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
394 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
395 |
} |
208a4ba3894c
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
396 |
} |