mpserviceplugins/mpxsqlitepodcastdbplugin/src/mpxdbpodcast.cpp
changeset 22 ecf06a08d4d9
parent 19 4e84c994a771
child 25 3ec52facab4d
--- a/mpserviceplugins/mpxsqlitepodcastdbplugin/src/mpxdbpodcast.cpp	Fri Apr 16 14:56:30 2010 +0300
+++ b/mpserviceplugins/mpxsqlitepodcastdbplugin/src/mpxdbpodcast.cpp	Mon May 03 12:29:20 2010 +0300
@@ -134,15 +134,25 @@
 
     TUint32 episodeId(MPXDbCommonUtil::GenerateUniqueIdL(iDbManager.Fs(), EMPXCollection,
         aMedia.ValueText(KMPXMediaGeneralUri), EFalse));
-    if (EpisodeExistsL(episodeId))
+    if ( EpisodeExistsL( episodeId ))
         {
-        DoUpdateEpisodeL(episodeId, aMedia, NULL);
+        // Return deleted file paths to caller
+        CDesCArray* fp = new( ELeave ) CDesCArrayFlat( 1 );
+        CleanupStack::PushL( fp );
+
+        // a list of change event messages a result of the item being removed
+        CMPXMessageArray* itemChangedMessages = CMPXMediaArray::NewL();
+        CleanupStack::PushL( itemChangedMessages );
+        
+        DeleteEpisodeL( episodeId, *fp, *itemChangedMessages, ETrue );
+        
+        CleanupStack::PopAndDestroy( itemChangedMessages );
+        CleanupStack::PopAndDestroy( fp );
         }
-    else
-        {
-        // add the song
-        DoAddEpisodeL(episodeId, aMedia, aDrive, NULL);
-        }
+    // add the song
+    DoAddEpisodeL(episodeId, aMedia, aDrive, NULL);
+
+    
 
     return episodeId;
     }