messagingapp/msgui/appengine/src/conversationsengine_p.cpp
branchGCC_SURGE
changeset 47 5b14749788d7
parent 27 e4592d119491
parent 44 36f374c67aa8
equal deleted inserted replaced
35:a32b19fb291e 47:5b14749788d7
    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 //---------------------------------------------------------------