diff -r e686773b3f54 -r 04ab22b956c2 phonebookui/Phonebook2/spbcontentprovider/src/spbcontent.cpp --- a/phonebookui/Phonebook2/spbcontentprovider/src/spbcontent.cpp Tue Feb 02 10:12:17 2010 +0200 +++ b/phonebookui/Phonebook2/spbcontentprovider/src/spbcontent.cpp Fri Feb 19 22:40:27 2010 +0200 @@ -80,7 +80,7 @@ inline CSpbContent::CSpbContent( const CSpbContent::TParameters& aParameters ) : iParameters(aParameters), - iAsyncCallBack( TCallBack( CSpbContent::StartFetchContent, this ), + iAsyncCallBack( TCallBack( CSpbContent::StartFetchContentL, this ), CActive::EPriorityStandard ), iType( CSpbContentProvider::ETypeNone ) { @@ -90,13 +90,13 @@ // CSpbContent::RefreshNumber // ---------------------------------------------------------------------------- // -void CSpbContent::RefreshNumber() +void CSpbContent::RefreshNumberL() { // if no status text if( iType != CSpbContentProvider::ETypeSocialStatus && iPhoneNumberParser ) { // re-fetch phonenumber - iPhoneNumberParser->FetchPhoneNumber( Link() ); + iPhoneNumberParser->FetchPhoneNumberL( Link() ); } } @@ -104,9 +104,9 @@ // CSpbContent::StartFetchContent // ---------------------------------------------------------------------------- // -TInt CSpbContent::StartFetchContent( TAny* aPtr ) +TInt CSpbContent::StartFetchContentL( TAny* aPtr ) { - static_cast(aPtr)->DoStartFetchContent(); + static_cast(aPtr)->DoStartFetchContentL(); return 0; } @@ -114,17 +114,22 @@ // CSpbContent::PhoneNumberUpdatedL // ---------------------------------------------------------------------------- // -void CSpbContent::DoStartFetchContent() +void CSpbContent::DoStartFetchContentL() { - if(iParameters.iStatusProvider) + TBool fetching = EFalse; + if( iParameters.iStatusProvider ) { - iParameters.iStatusProvider->FetchStatusDataL(*this); + TRAPD( err, iParameters.iStatusProvider->FetchStatusDataL(*this) ); + fetching = ( err == KErrNone ); } - else if(iPhoneNumberParser) + + if( !fetching && iPhoneNumberParser) { - iPhoneNumberParser->FetchPhoneNumber(Link()); + iPhoneNumberParser->FetchPhoneNumberL(Link()); + fetching = ETrue; } - else + + if( !fetching ) { NotifyObservers( MSpbContentProviderObserver::EContentNotAvailable ); } @@ -134,7 +139,8 @@ // CSpbContent::PhoneNumberUpdatedL // ---------------------------------------------------------------------------- // -void CSpbContent::PhoneNumberUpdatedL( const TDesC& aPhoneNumber ) +void CSpbContent::PhoneNumberUpdatedL( const TDesC& aPhoneNumber, + CSpbContentProvider::TSpbContentType aType ) { delete iText; iText = NULL; @@ -145,7 +151,7 @@ { iText = aPhoneNumber.AllocL(); iReady = ETrue; - iType = CSpbContentProvider::ETypePhoneNumber; + iType = aType; } NotifyObservers(MSpbContentProviderObserver::EContentChanged); } @@ -161,7 +167,7 @@ { if(!aStatusMessage.Length() && iPhoneNumberParser ) { - iPhoneNumberParser->FetchPhoneNumber(Link()); + iPhoneNumberParser->FetchPhoneNumberL(Link()); return; }