ccservices/cmsservices/cmsengine/Server/src/cmsservercontact.cpp
branchRCL_3
changeset 32 2828b4d142c0
parent 15 e8e3147d53eb
child 39 a6539d1e8e43
equal deleted inserted replaced
26:0d28c1c5b6dd 32:2828b4d142c0
   101 // ----------------------------------------------------
   101 // ----------------------------------------------------
   102 // 
   102 // 
   103 CCmsServerContact::~CCmsServerContact()
   103 CCmsServerContact::~CCmsServerContact()
   104     {
   104     {
   105     PRINT( _L( "Start CCmsServerContact::~CCmsServerContact()" ) );
   105     PRINT( _L( "Start CCmsServerContact::~CCmsServerContact()" ) );
   106     
   106           
   107     iCmsServer.PhonebookProxyHandle().RemoveObserver( this );
   107     iCmsServer.PhonebookProxyHandle().RemoveObserver( this );
   108         
   108         
   109     if ( iPresenceNotifySubscribed && iContactLink ) 
   109     if ( iPresenceNotifySubscribed && iContactLink ) 
   110         {
   110         {
   111         if ( iVoipHandler )
   111         if ( iVoipHandler )
   115         if ( iChatHandler )
   115         if ( iChatHandler )
   116             {
   116             {
   117             iChatHandler->UnsubscribeBrandingForContact( iContactLink, this );            
   117             iChatHandler->UnsubscribeBrandingForContact( iContactLink, this );            
   118             }        
   118             }        
   119         }
   119         }
       
   120     delete iContact;
       
   121     iContact = NULL;
       
   122     
       
   123     iCmsServer.PhonebookProxyHandle().SetContact( iContact );
       
   124     
   120     delete iStoreUri;
   125     delete iStoreUri;
   121     delete iChatHandler;
   126     delete iChatHandler;
   122     delete iVoipHandler;
   127     delete iVoipHandler;
   123     delete iXSPContactHandler;
   128     delete iXSPContactHandler;
   124     delete iContactLink;
   129     delete iContactLink;    
   125     delete iContact;
       
   126     delete iCachedField8;
   130     delete iCachedField8;
   127     delete iAsyncContact;
   131     delete iAsyncContact;
   128     delete iCachedField16;
   132     delete iCachedField16;
   129     delete iBrandedPresence;
   133     delete iBrandedPresence;
   130     delete iPackedContactLinkArray;
   134     delete iPackedContactLinkArray;
   225         if( ECmsContactDeleted == aEventType )
   229         if( ECmsContactDeleted == aEventType )
   226             {
   230             {
   227             PRINT( _L( "CCmsServerContact::OfferContactEventL():  Contact deleted, invalidate this subsession" ) );
   231             PRINT( _L( "CCmsServerContact::OfferContactEventL():  Contact deleted, invalidate this subsession" ) );
   228             delete iContact;
   232             delete iContact;
   229             iContact = NULL;
   233             iContact = NULL;
       
   234             iCmsServer.PhonebookProxyHandle().SetContact( iContact );
   230             iContactDeleted = ETrue;
   235             iContactDeleted = ETrue;
   231             }
   236             }
   232         else
   237         else
   233             {
   238             {
   234             HBufC8* link = self->PackLC();
   239             HBufC8* link = self->PackLC();
   640         //Only 1 contact link appended to array.
   645         //Only 1 contact link appended to array.
   641         //Possible performance issue. Should this be created only when array is requested from client side?
   646         //Possible performance issue. Should this be created only when array is requested from client side?
   642         CreateContactLinkArrayL(); 
   647         CreateContactLinkArrayL(); 
   643         uri.Set( aContact->ParentStore().StoreProperties().Uri().UriDes() );
   648         uri.Set( aContact->ParentStore().StoreProperties().Uri().UriDes() );
   644         ParseContactStore( uri );
   649         ParseContactStore( uri );
       
   650         
       
   651         iCmsServer.PhonebookProxyHandle().SetContact( iContact );      
   645         }
   652         }
   646     }
   653     }
   647 
   654 
   648 // ----------------------------------------------------------
   655 // ----------------------------------------------------------
   649 // CCmsServerContact::ParseContactStore
   656 // CCmsServerContact::ParseContactStore