49 // ConversationsEnginePrivate::~ConversationsEnginePrivate |
49 // ConversationsEnginePrivate::~ConversationsEnginePrivate |
50 // @see header |
50 // @see header |
51 //--------------------------------------------------------------- |
51 //--------------------------------------------------------------- |
52 ConversationsEnginePrivate::~ConversationsEnginePrivate() |
52 ConversationsEnginePrivate::~ConversationsEnginePrivate() |
53 { |
53 { |
54 delete mConvChangeHandler; |
54 |
55 |
|
56 delete mConvListChangeHandler; |
|
57 |
|
58 if( mClientConv ) |
55 if( mClientConv ) |
59 { |
56 { |
60 if(mServer) |
57 if(mServer && mConvChangeHandler) |
61 { |
58 { |
62 TRAP_IGNORE(mServer->RemoveConversationChangeEventL( |
59 TRAP_IGNORE(mServer->RemoveConversationChangeEventL( |
63 mConvChangeHandler,mClientConv)); |
60 mConvChangeHandler,mClientConv)); |
64 } |
61 } |
65 delete mClientConv; |
62 delete mClientConv; |
66 mClientConv = NULL; |
63 mClientConv = NULL; |
67 } |
64 } |
68 if(mServer) |
65 if(mServer && mConvListChangeHandler) |
69 { |
66 { |
70 TRAP_IGNORE(mServer->RemoveConversationListChangeEventL( |
67 TRAP_IGNORE(mServer->RemoveConversationListChangeEventL( |
71 mConvListChangeHandler)); |
68 mConvListChangeHandler)); |
72 TRAP_IGNORE(mServer->RemoveResultsEventL ( this )); |
69 TRAP_IGNORE(mServer->RemoveResultsEventL ( this )); |
73 mServer->Cancel(); |
70 mServer->Cancel(); |
74 delete mServer; |
71 delete mServer; |
75 mServer = NULL; |
72 mServer = NULL; |
76 } |
73 } |
|
74 |
|
75 delete mConvChangeHandler; |
|
76 |
|
77 delete mConvListChangeHandler; |
|
78 |
77 } |
79 } |
78 |
80 |
79 //--------------------------------------------------------------- |
81 //--------------------------------------------------------------- |
80 // ConversationsEnginePrivate::initL |
82 // ConversationsEnginePrivate::initL |
81 // @see header |
83 // @see header |
217 convId = mServer->GetConversationIdFromAddressL(contactAddress); |
219 convId = mServer->GetConversationIdFromAddressL(contactAddress); |
218 |
220 |
219 return convId; |
221 return convId; |
220 } |
222 } |
221 |
223 |
|
224 //--------------------------------------------------------------- |
|
225 // ConversationsEnginePrivate::getConversationFromConversationId |
|
226 // @see header |
|
227 //--------------------------------------------------------------- |
|
228 CCsClientConversation* ConversationsEnginePrivate::getConversationFromConversationIdL(TInt aConversationId) |
|
229 { |
|
230 return mServer->GetConversationFromConversationIdL(aConversationId); |
|
231 } |
222 |
232 |
223 //--------------------------------------------------------------- |
233 //--------------------------------------------------------------- |
224 // ConversationsEnginePrivate::clearConversationsL |
234 // ConversationsEnginePrivate::clearConversationsL |
225 // @see header |
235 // @see header |
226 //--------------------------------------------------------------- |
236 //--------------------------------------------------------------- |
228 { |
238 { |
229 QCRITICAL_WRITE("ConversationsEnginePrivate::clearConversationsL start."); |
239 QCRITICAL_WRITE("ConversationsEnginePrivate::clearConversationsL start."); |
230 |
240 |
231 mConvChangeHandler->Cancel(); |
241 mConvChangeHandler->Cancel(); |
232 //Clear conversations model before populating with new data |
242 //Clear conversations model before populating with new data |
233 mConversationsModel->clear(); |
243 mConversationsModel->clearModel(); |
234 |
244 |
235 // Delete old CCsClientConversation object |
245 // Delete old CCsClientConversation object |
236 // Remove the old Conversation change observer |
246 // Remove the old Conversation change observer |
237 if(mClientConv) |
247 if(mClientConv) |
238 { |
248 { |
239 mServer->RemoveConversationChangeEventL (mConvChangeHandler ,mClientConv); |
249 int error = KErrNone; |
|
250 TRAP(error, mServer->RemoveConversationChangeEventL (mConvChangeHandler ,mClientConv)); |
240 delete mClientConv; |
251 delete mClientConv; |
241 mClientConv = NULL; |
252 mClientConv = NULL; |
|
253 User::LeaveIfError(error); |
242 } |
254 } |
243 |
255 |
244 QCRITICAL_WRITE("ConversationsEnginePrivate::clearConversationsL end."); |
256 QCRITICAL_WRITE("ConversationsEnginePrivate::clearConversationsL end."); |
245 } |
257 } |
246 |
258 |
251 void ConversationsEnginePrivate::registerForConversationUpdatesL() |
263 void ConversationsEnginePrivate::registerForConversationUpdatesL() |
252 { |
264 { |
253 //Add the Conversation Change for new conversationId |
265 //Add the Conversation Change for new conversationId |
254 if(mClientConv) |
266 if(mClientConv) |
255 { |
267 { |
|
268 mServer->RequestConversationChangeEventL (mConvChangeHandler ,mClientConv); |
|
269 } |
|
270 } |
|
271 |
|
272 //--------------------------------------------------------------- |
|
273 // ConversationsEnginePrivate::deRegisterCVUpdatesTemporary |
|
274 // @see header |
|
275 //--------------------------------------------------------------- |
|
276 void ConversationsEnginePrivate::deRegisterCVUpdatesTemporary() |
|
277 { |
|
278 mServer->RemoveConversationChangeEventL (mConvChangeHandler ,mClientConv); |
|
279 } |
|
280 |
|
281 //--------------------------------------------------------------- |
|
282 // ConversationsEnginePrivate::registerAgainForConversationUpdatesL |
|
283 // @see header |
|
284 //--------------------------------------------------------------- |
|
285 void ConversationsEnginePrivate::registerAgainForConversationUpdatesL( |
|
286 int newConversationId) |
|
287 { |
|
288 //Add the Conversation Change for new conversationId |
|
289 if(mClientConv) |
|
290 { |
|
291 mClientConv->SetConversationEntryId(newConversationId); |
256 mServer->RequestConversationChangeEventL (mConvChangeHandler ,mClientConv); |
292 mServer->RequestConversationChangeEventL (mConvChangeHandler ,mClientConv); |
257 } |
293 } |
258 } |
294 } |
259 |
295 |
260 //--------------------------------------------------------------- |
296 //--------------------------------------------------------------- |