engine/src/PodcastModel.cpp
changeset 93 c2f1ea38ec70
parent 85 b03018fb3418
child 98 5f9e7e14eb11
--- a/engine/src/PodcastModel.cpp	Thu Apr 29 11:55:32 2010 +0100
+++ b/engine/src/PodcastModel.cpp	Thu May 13 13:56:05 2010 +0100
@@ -72,21 +72,25 @@
 {
 	DP("CPodcastModel::ConstructL BEGIN");
 	User::LeaveIfError(iFsSession.Connect());
-	
 	iCommDB = CCommsDatabase::NewL (EDatabaseTypeUnspecified);
-	//iCommDB ->ShowHiddenRecords(); // magic
 	iIapNameArray = new (ELeave) CDesCArrayFlat(KDefaultGranu);
 	iSNAPNameArray = new (ELeave) CDesCArrayFlat(KDefaultGranu);
-	iCmManager.OpenL();
+
 	iImageHandler = CImageHandler::NewL(FsSession(), *this);
+
+	TRAPD(err,iCmManager.OpenL());
+	DP1("iCmManager.OpenL(),err=%d;", err);
 	
-	UpdateIAPListL();
-	UpdateSNAPListL();
+	if (err == KErrNone)
+		{
+		UpdateIAPListL();
+		UpdateSNAPListL();
+		}
 	
 	iSettingsEngine = CSettingsEngine::NewL(*this);
 	iConnectionEngine = CConnectionEngine::NewL(*this);	
 	
-	TRAPD(err, OpenDBL());
+	TRAP(err, OpenDBL());
 	
 	if (err != KErrNone)
 		{
@@ -435,6 +439,7 @@
 EXPORT_C void CPodcastModel::GetShowsByFeedL(TUint aFeedUid)
 	{
 	iActiveShowList.ResetAndDestroy();
+	iShowEngine->DeleteOldShowsByFeedL(aFeedUid);
 	iShowEngine->CheckForDeletedShows(aFeedUid);
 	iShowEngine->GetShowsByFeedL(iActiveShowList, aFeedUid);
 	}