phoneuis/easydialing/src/easydialingcontactdatamanager.cpp
branchRCL_3
changeset 15 2a26698d78ba
parent 14 24062c24fe38
child 17 38529f706030
equal deleted inserted replaced
14:24062c24fe38 15:2a26698d78ba
   184     LOGSTRING1("CEasyDialingContactDataManager: GetThumbnailIdL returns %S", id);
   184     LOGSTRING1("CEasyDialingContactDataManager: GetThumbnailIdL returns %S", id);
   185     return id;
   185     return id;
   186     }
   186     }
   187 
   187 
   188 // ---------------------------------------------------------------------------
   188 // ---------------------------------------------------------------------------
   189 // CEasyDialingContactDataManager::GetThumbnail 
   189 // CEasyDialingContactDataManager::GetThumbnailAndFav 
   190 // ---------------------------------------------------------------------------
   190 // ---------------------------------------------------------------------------
   191 //
   191 //
   192 TBool CEasyDialingContactDataManager::GetThumbnailAndFav(const TDesC& aId, CFbsBitmap*& aThumbnail, TBool& aFav)
   192 TBool CEasyDialingContactDataManager::GetThumbnailAndFav(const TDesC& aId, CFbsBitmap*& aThumbnail, TBool& aFav)
   193     {
   193     {
   194     LOGSTRING("CEasyDialingContactDataManager: GetThumbnailAndFav");
   194     LOGSTRING("CEasyDialingContactDataManager: GetThumbnailAndFav");
   260 // CEasyDialingContactDataManager::FavLinkLC
   260 // CEasyDialingContactDataManager::FavLinkLC
   261 // ---------------------------------------------------------------------------
   261 // ---------------------------------------------------------------------------
   262 //
   262 //
   263 MVPbkContactLink* CEasyDialingContactDataManager::FavLinkLC( TInt aIndex )
   263 MVPbkContactLink* CEasyDialingContactDataManager::FavLinkLC( TInt aIndex )
   264     {
   264     {
   265     if ( iFavsView )
   265     if ( !iFavsView )
   266         {
   266         {
   267         return iFavsView->ContactAtL( aIndex ).CreateLinkLC();
   267         // LC function should not return normally unless it has actually
   268         }
   268         // put something to cleanup stack
   269     else
   269         User::Leave( KErrNotFound );
   270         {
   270         }
   271         return NULL;
   271     return iFavsView->ContactAtL( aIndex ).CreateLinkLC();
   272         }
       
   273     }
   272     }
   274 
   273 
   275 // ---------------------------------------------------------------------------
   274 // ---------------------------------------------------------------------------
   276 // CEasyDialingContactDataManager::FavContactStringLC
   275 // CEasyDialingContactDataManager::FavContactStringLC
   277 // ---------------------------------------------------------------------------
   276 // ---------------------------------------------------------------------------
   324     {
   323     {
   325     return iNameOrder;
   324     return iNameOrder;
   326     }
   325     }
   327 
   326 
   328 // ---------------------------------------------------------------------------
   327 // ---------------------------------------------------------------------------
       
   328 // CEasyDialingContactDataManager::Pause
       
   329 // ---------------------------------------------------------------------------
       
   330 //
       
   331 void CEasyDialingContactDataManager::Pause( TBool aPause )
       
   332     {
       
   333     iPause = aPause;
       
   334     
       
   335     if ( !iPause && iWaitingContacts.Count() )
       
   336         {
       
   337         TRAPD( err, LoadNextContactDataL());
       
   338         if ( err )
       
   339             {
       
   340             HandleError(err);
       
   341             }
       
   342         }
       
   343     }
       
   344 
       
   345 // ---------------------------------------------------------------------------
   329 // CEasyDialingContactDataManager::InitReady
   346 // CEasyDialingContactDataManager::InitReady
   330 // ---------------------------------------------------------------------------
   347 // ---------------------------------------------------------------------------
   331 //
   348 //
   332 void CEasyDialingContactDataManager::InitReady()
   349 void CEasyDialingContactDataManager::InitReady()
   333     {
   350     {
   370 // ---------------------------------------------------------------------------
   387 // ---------------------------------------------------------------------------
   371 //
   388 //
   372 void CEasyDialingContactDataManager::LoadNextContactDataL()
   389 void CEasyDialingContactDataManager::LoadNextContactDataL()
   373     {
   390     {
   374     LOGSTRING("CEasyDialingContactDataManager: LoadNextContactDataL");
   391     LOGSTRING("CEasyDialingContactDataManager: LoadNextContactDataL");
   375     if (!iImageOperation && !iContactOperation && iWaitingContacts.Count() && iStoreReady)
   392     if ( !iImageOperation && !iContactOperation && iWaitingContacts.Count() && iStoreReady && !iPause )
   376         {
   393         {
   377         // first we need to load the contact item
   394         // first we need to load the contact item
   378         CEasyDialingContactData* tn = iContactDataArray[iWaitingContacts[0]];
   395         CEasyDialingContactData* tn = iContactDataArray[iWaitingContacts[0]];
   379         iContactOperation = iContactManager->RetrieveContactL( *(tn->ContactLink()), *this);
   396         iContactOperation = iContactManager->RetrieveContactL( *(tn->ContactLink()), *this);
   380 
   397 
   475     iContactOperation = NULL;
   492     iContactOperation = NULL;
   476     delete iStoreContact;
   493     delete iStoreContact;
   477     iStoreContact = NULL;
   494     iStoreContact = NULL;
   478     iWaitingContacts.Reset();
   495     iWaitingContacts.Reset();
   479     iContactDataArray.ResetAndDestroy();
   496     iContactDataArray.ResetAndDestroy();
       
   497     iPause = EFalse;
   480     }
   498     }
   481 
   499 
   482 // ---------------------------------------------------------------------------
   500 // ---------------------------------------------------------------------------
   483 // CEasyDialingContactDataManager::VoiceCallAvailable
   501 // CEasyDialingContactDataManager::VoiceCallAvailable
   484 // ---------------------------------------------------------------------------
   502 // ---------------------------------------------------------------------------