changeset 84 | 3b59b88b089e |
parent 83 | a2e43aa1ad11 |
child 93 | c2f1ea38ec70 |
83:a2e43aa1ad11 | 84:3b59b88b089e |
---|---|
241 BaflUtils::EnsurePathExistsL(iPodcastModel.FsSession(), iUpdatingFeedFileName); |
241 BaflUtils::EnsurePathExistsL(iPodcastModel.FsSession(), iUpdatingFeedFileName); |
242 |
242 |
243 _LIT(KFileNameFormat, "%lu.xml"); |
243 _LIT(KFileNameFormat, "%lu.xml"); |
244 iUpdatingFeedFileName.AppendFormat(KFileNameFormat, aFeedUid); |
244 iUpdatingFeedFileName.AppendFormat(KFileNameFormat, aFeedUid); |
245 |
245 |
246 iClientState = EUpdatingFeed; |
|
247 |
|
248 for (TInt i=0;i<iObservers.Count();i++) |
|
249 { |
|
250 TRAP_IGNORE(iObservers[i]->FeedDownloadStartedL(iAutoUpdatedInitiator?MFeedEngineObserver::EFeedAutoUpdate:MFeedEngineObserver::EFeedManualUpdate, iActiveFeed->Uid())); |
|
251 } |
|
252 |
|
246 if(iFeedClient->GetL(iActiveFeed->Url(), iUpdatingFeedFileName, iPodcastModel.SettingsEngine().SpecificIAP())) |
253 if(iFeedClient->GetL(iActiveFeed->Url(), iUpdatingFeedFileName, iPodcastModel.SettingsEngine().SpecificIAP())) |
247 { |
254 { |
248 iClientState = EUpdatingFeed; |
255 |
249 |
|
250 for (TInt i=0;i<iObservers.Count();i++) |
|
251 { |
|
252 TRAP_IGNORE(iObservers[i]->FeedDownloadStartedL(iAutoUpdatedInitiator?MFeedEngineObserver::EFeedAutoUpdate:MFeedEngineObserver::EFeedManualUpdate, iActiveFeed->Uid())); |
|
253 } |
|
254 |
|
255 DP("FeedEngine::UpdateFeedL END, return ETrue"); |
256 DP("FeedEngine::UpdateFeedL END, return ETrue"); |
256 return ETrue; |
257 return ETrue; |
257 } |
258 } |
258 else |
259 else |
259 { |
260 { |
602 iClientState = EIdle; |
603 iClientState = EIdle; |
603 } |
604 } |
604 } |
605 } |
605 } |
606 } |
606 } |
607 } |
608 else |
|
609 { |
|
610 // even if it fails, this will allow us to move on |
|
611 iClientState = EIdle; |
|
612 } |
|
607 } |
613 } |
608 iCancelRequested = EFalse; |
614 iCancelRequested = EFalse; |
609 }break; |
615 }break; |
610 } |
616 } |
611 DBUpdateFeedL(*iActiveFeed); |
617 DBUpdateFeedL(*iActiveFeed); |
653 NotifyOpmlParsingCompleteL(aError, 0); |
659 NotifyOpmlParsingCompleteL(aError, 0); |
654 } |
660 } |
655 |
661 |
656 BaflUtils::DeleteFile(iPodcastModel.FsSession(), iSearchResultsFileName); |
662 BaflUtils::DeleteFile(iPodcastModel.FsSession(), iSearchResultsFileName); |
657 }break; |
663 }break; |
664 case EIdle: |
|
665 UpdateNextFeedL(); |
|
666 break; |
|
658 default: |
667 default: |
659 Panic(EPodcatcherPanicFeedEngineState); |
668 Panic(EPodcatcherPanicFeedEngineState); |
660 break; |
669 break; |
661 } |
670 } |
662 DP("CFeedEngine::CompleteL END"); |
671 DP("CFeedEngine::CompleteL END"); |
897 { |
906 { |
898 DP("DBLoadFeeds BEGIN"); |
907 DP("DBLoadFeeds BEGIN"); |
899 iSortedFeeds.Reset(); |
908 iSortedFeeds.Reset(); |
900 CFeedInfo *feedInfo = NULL; |
909 CFeedInfo *feedInfo = NULL; |
901 |
910 |
902 _LIT(KSqlStatement, "select url, title, description, imageurl, imagefile, link, built, lastupdated, uid, feedtype, customtitle from feeds"); |
911 _LIT(KSqlStatement, "select url, title, description, imageurl, imagefile, link, built, lastupdated, uid, feedtype, customtitle, lasterror from feeds"); |
903 iSqlBuffer.Format(KSqlStatement); |
912 iSqlBuffer.Format(KSqlStatement); |
904 |
913 |
905 sqlite3_stmt *st; |
914 sqlite3_stmt *st; |
906 |
915 |
907 TLinearOrder<CFeedInfo> sortOrder( CFeedEngine::CompareFeedsByTitle); |
916 TLinearOrder<CFeedInfo> sortOrder( CFeedEngine::CompareFeedsByTitle); |
955 if (customtitle) |
964 if (customtitle) |
956 { |
965 { |
957 feedInfo->SetCustomTitle(); |
966 feedInfo->SetCustomTitle(); |
958 } |
967 } |
959 |
968 |
960 TInt lasterror = sqlite3_column_int(st, 11); |
969 sqlite3_int64 lasterror = sqlite3_column_int(st, 11); |
961 feedInfo->SetLastError(lasterror); |
970 feedInfo->SetLastError(lasterror); |
962 |
971 |
963 TLinearOrder<CFeedInfo> sortOrder( CFeedEngine::CompareFeedsByTitle); |
972 TLinearOrder<CFeedInfo> sortOrder( CFeedEngine::CompareFeedsByTitle); |
964 |
973 |
965 iSortedFeeds.InsertInOrder(feedInfo, sortOrder); |
974 iSortedFeeds.InsertInOrder(feedInfo, sortOrder); |