mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp
changeset 35 fdb31ab341af
parent 34 2c5162224003
child 37 eb79a7c355bf
--- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp	Fri Apr 30 19:33:32 2010 -0500
+++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp	Fri May 14 18:54:37 2010 -0500
@@ -963,6 +963,18 @@
     }
 
 // ----------------------------------------------------------------------------
+// Get all albums for Media Wall
+// ----------------------------------------------------------------------------
+//
+void CMPXDbHandler::GetAllAlbumsMediaWallL(
+    const TArray<TMPXAttribute>& aAttrs,
+    CMPXMediaArray* aMediaArray)
+    {
+    MPX_FUNC("CMPXDbHandler::GetAllAlbumsL");
+    iDbAlbum->GetAllCategoryItemsMediaWallL(aAttrs, *aMediaArray);
+    }
+
+// ----------------------------------------------------------------------------
 // Get all albums for the given artist ID
 // ----------------------------------------------------------------------------
 //
@@ -2114,6 +2126,7 @@
     TUint32 albumID(0);
     TUint32 genreID(0);
     TUint32 composerID(0);
+    HBufC*  art(NULL);
 #ifdef ABSTRACTAUDIOALBUM_INCLUDED
     TUint32 abstractAlbumID(0);
 #endif // ABSTRACTAUDIOALBUM_INCLUDED
@@ -2121,11 +2134,12 @@
 
 // Get information from the Music table first
 #ifdef ABSTRACTAUDIOALBUM_INCLUDED
-    HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, abstractAlbumID, drive);
+    HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, abstractAlbumID, drive, art);
 #else
-    HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, drive);
+    HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, drive, art);
 #endif // ABSTRACTAUDIOALBUM_INCLUDED
 
+    CleanupStack::PushL(art);
     // add the URI to the return array
     CleanupStack::PushL(uri);
     aUriArray.AppendL(*uri);
@@ -2134,9 +2148,10 @@
     // Update the category records
     TBool categoryExist( EFalse );
     iDbArtist->DecrementSongsForCategoryL(artistID, drive, &aItemChangedMessages, categoryExist);
-    iDbAlbum->DecrementSongsForCategoryL(albumID, drive, &aItemChangedMessages, categoryExist, artistID);
+    iDbAlbum->DecrementSongsForCategoryL(albumID, drive, &aItemChangedMessages, categoryExist, artistID, *art);
     iDbGenre->DecrementSongsForCategoryL(genreID, drive, &aItemChangedMessages, categoryExist);
     iDbComposer->DecrementSongsForCategoryL(composerID, drive, &aItemChangedMessages, categoryExist);
+    CleanupStack::PopAndDestroy(art);
 #ifdef ABSTRACTAUDIOALBUM_INCLUDED
     if (abstractAlbumID)
         {
@@ -3355,10 +3370,23 @@
     return iDbArtist->IsUnknownArtistL(aArtistId);
     }
 
+// ---------------------------------------------------------------------------
+// CMPXDbHandler::HandleArtistForAlbumL
+// ---------------------------------------------------------------------------
+//
 TUint32 CMPXDbHandler::HandleArtistForAlbumL(const TUint32 aAlbumId)
     {
     return iDbMusic->ArtistForAlbumL(aAlbumId);
     }
+
+// ---------------------------------------------------------------------------
+// CMPXDbHandler::HandleAlbumartForAlbumL
+// ---------------------------------------------------------------------------
+//
+HBufC*  CMPXDbHandler::HandleAlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt)
+    {
+    return iDbMusic->AlbumartForAlbumL(aAlbumId, aArt);
+    }
 #ifdef ABSTRACTAUDIOALBUM_INCLUDED   
 // ----------------------------------------------------------------------------------------------------------
 // CMPXDbHandler::HandleGetAlbumNameForSongL