messagingapp/msgui/appengine/src/conversationsengine_p.cpp
changeset 27 e4592d119491
parent 25 84d9eb65b26f
child 47 5b14749788d7
equal deleted inserted replaced
25:84d9eb65b26f 27:e4592d119491
    24 #include "conversationmsgstorehandler.h"
    24 #include "conversationmsgstorehandler.h"
    25 #include "conversationssummarymodel.h"
    25 #include "conversationssummarymodel.h"
    26 #include "conversationsmodel.h"
    26 #include "conversationsmodel.h"
    27 #include "conversationchangehandler.h"
    27 #include "conversationchangehandler.h"
    28 #include "conversationlistchangehandler.h"
    28 #include "conversationlistchangehandler.h"
       
    29 #include "debugtraces.h"
    29 
    30 
    30 //---------------------------------------------------------------
    31 //---------------------------------------------------------------
    31 // ConversationsEnginePrivate::ConversationsEnginePrivate
    32 // ConversationsEnginePrivate::ConversationsEnginePrivate
    32 // @see header
    33 // @see header
    33 //---------------------------------------------------------------
    34 //---------------------------------------------------------------
    56     
    57     
    57     if( mClientConv )
    58     if( mClientConv )
    58     {        
    59     {        
    59         if(mServer)
    60         if(mServer)
    60         {    
    61         {    
    61         mServer->RemoveConversationChangeEventL (mConvChangeHandler,
    62         TRAP_IGNORE(mServer->RemoveConversationChangeEventL(
    62             mClientConv);
    63                 mConvChangeHandler,mClientConv));
    63         }
    64         }
    64         delete mClientConv;
    65         delete mClientConv;
    65         mClientConv = NULL;
    66         mClientConv = NULL;
    66     }
    67     }
    67     if(mServer)
    68     if(mServer)
    68     {
    69     {
    69         mServer->RemoveConversationListChangeEventL (mConvListChangeHandler);
    70         TRAP_IGNORE(mServer->RemoveConversationListChangeEventL(
    70         mServer->RemoveResultsEventL ( this );
    71                 mConvListChangeHandler));
       
    72         TRAP_IGNORE(mServer->RemoveResultsEventL ( this ));
    71         mServer->Cancel();
    73         mServer->Cancel();
    72         delete mServer;
    74         delete mServer;
    73         mServer = NULL;
    75         mServer = NULL;
    74     }
    76     }
    75 }
    77 }
   111 //---------------------------------------------------------------
   113 //---------------------------------------------------------------
   112 void ConversationsEnginePrivate::getConversationsL( TInt aConversationId)
   114 void ConversationsEnginePrivate::getConversationsL( TInt aConversationId)
   113 {	
   115 {	
   114     if(!mClientConv)
   116     if(!mClientConv)
   115     {
   117     {
       
   118         QCRITICAL_WRITE("ConversationsEnginePrivate::getConversationsL start.");
   116         //Clear the model before issueing fetch
   119         //Clear the model before issueing fetch
   117         mConversationsModel->clear();
   120         mConversationsModel->clear();
   118         //create a client conversation
   121         //create a client conversation
   119         mClientConv = CCsClientConversation::NewL();
   122         mClientConv = CCsClientConversation::NewL();
   120         mClientConv->SetConversationEntryId(aConversationId);
   123         mClientConv->SetConversationEntryId(aConversationId);
   121         //set dummy entry
   124         //set dummy entry
   122         CCsConversationEntry *entry = CCsConversationEntry::NewL();
   125         CCsConversationEntry *entry = CCsConversationEntry::NewL();
   123 		CleanupStack::PushL(entry);
   126         CleanupStack::PushL(entry);
   124         mClientConv->SetConversationEntryL(entry);
   127         mClientConv->SetConversationEntryL(entry);
   125 		CleanupStack::PopAndDestroy(entry);
   128         CleanupStack::PopAndDestroy(entry);
   126         //Get the conversations for new conversationId 
   129         //Get the conversations for new conversationId 
   127         mServer->GetConversationsL( mClientConv ); 
   130         mServer->GetConversationsL(mClientConv);
   128     }   
   131 
       
   132         QCRITICAL_WRITE("ConversationsEnginePrivate::getConversationsL end.");
       
   133         }   
       
   134     
   129 }
   135 }
   130 
   136 
   131 //---------------------------------------------------------------
   137 //---------------------------------------------------------------
   132 // ConversationsEnginePrivate::deleteConversationL
   138 // ConversationsEnginePrivate::deleteConversationL
   133 // @see header
   139 // @see header
   218 // ConversationsEnginePrivate::clearConversationsL
   224 // ConversationsEnginePrivate::clearConversationsL
   219 // @see header
   225 // @see header
   220 //---------------------------------------------------------------
   226 //---------------------------------------------------------------
   221 void ConversationsEnginePrivate::clearConversationsL()
   227 void ConversationsEnginePrivate::clearConversationsL()
   222 {    
   228 {    
       
   229     QCRITICAL_WRITE("ConversationsEnginePrivate::clearConversationsL start.");
       
   230     
   223     mConvChangeHandler->Cancel();
   231     mConvChangeHandler->Cancel();
   224     //Clear conversations model before populating with new data 
   232     //Clear conversations model before populating with new data 
   225     mConversationsModel->clear();  
   233     mConversationsModel->clear();  
   226     
   234     
   227     // Delete old CCsClientConversation object 
   235     // Delete old CCsClientConversation object 
   230     {    
   238     {    
   231         mServer->RemoveConversationChangeEventL (mConvChangeHandler ,mClientConv);
   239         mServer->RemoveConversationChangeEventL (mConvChangeHandler ,mClientConv);
   232         delete mClientConv;
   240         delete mClientConv;
   233         mClientConv = NULL;
   241         mClientConv = NULL;
   234     }
   242     }
       
   243     
       
   244     QCRITICAL_WRITE("ConversationsEnginePrivate::clearConversationsL end.");
   235 }
   245 }
   236 
   246 
   237 //---------------------------------------------------------------
   247 //---------------------------------------------------------------
   238 // ConversationsEnginePrivate::registerForConversationUpdatesL
   248 // ConversationsEnginePrivate::registerForConversationUpdatesL
   239 // @see header
   249 // @see header
   265 //---------------------------------------------------------------
   275 //---------------------------------------------------------------
   266 void ConversationsEnginePrivate::Conversations(
   276 void ConversationsEnginePrivate::Conversations(
   267     RPointerArray<CCsConversationEntry>& aConversationEntryList)
   277     RPointerArray<CCsConversationEntry>& aConversationEntryList)
   268 {
   278 {
   269     int error;
   279     int error;
   270     if(mClientConv)
   280     if (mClientConv)
   271     {    
   281         {
       
   282         QCRITICAL_WRITE("ConversationsEnginePrivate::Conversations start.");
       
   283 
   272         TRAP(error,mConvChangeHandler->ConversationsL(aConversationEntryList));
   284         TRAP(error,mConvChangeHandler->ConversationsL(aConversationEntryList));
   273     }
   285 
       
   286         QCRITICAL_WRITE("ConversationsEnginePrivate::Conversations end.");
       
   287         }
   274 }
   288 }
   275 
   289 
   276 
   290 
   277 //---------------------------------------------------------------
   291 //---------------------------------------------------------------
   278 // ConversationsEngine::fetchMoreConversations
   292 // ConversationsEngine::fetchMoreConversations
   279 // @see header
   293 // @see header
   280 //---------------------------------------------------------------
   294 //---------------------------------------------------------------
   281 void ConversationsEnginePrivate::fetchMoreConversations()
   295 void ConversationsEnginePrivate::fetchMoreConversations()
   282 {
   296 {
   283     if(mClientConv)
   297     if (mClientConv)
   284         {    
   298         {
   285             mConvChangeHandler->restartHandleConversations();
   299         mConvChangeHandler->restartHandleConversations();
   286         }
   300         }
   287 }
   301 }
   288 
   302 
   289 //---------------------------------------------------------------
   303 //---------------------------------------------------------------
   290 // ConversationsEnginePrivate::resendMessage()
   304 // ConversationsEnginePrivate::resendMessage()