mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbautoplaylist.cpp
changeset 34 2c5162224003
parent 22 ecf06a08d4d9
child 32 c163ef0b758d
equal deleted inserted replaced
22:ecf06a08d4d9 34:2c5162224003
   299 void CMPXDbAutoPlaylist::GetPlaylistDetailsL(TMPXAutoPlaylistType aType, TInt& aCount, TInt& aDuration)
   299 void CMPXDbAutoPlaylist::GetPlaylistDetailsL(TMPXAutoPlaylistType aType, TInt& aCount, TInt& aDuration)
   300     {
   300     {
   301     MPX_FUNC("CMPXDbAutoPlaylist::GetPlaylistDetails");
   301     MPX_FUNC("CMPXDbAutoPlaylist::GetPlaylistDetails");
   302 
   302 
   303     HBufC* query = NULL;
   303     HBufC* query = NULL;
   304   
   304 
   305     switch ( aType )
   305     switch ( aType )
   306     	{
   306     	{
   307 		case EMPXMostPlayedPlaylist:
   307 		case EMPXMostPlayedPlaylist:
   308 		    query = HBufC::NewLC(KQueryMusicGetDurationMostPlayed().Length() + KMCIntegerLen);
   308 		    query = HBufC::NewLC(KQueryMusicGetDurationMostPlayed().Length() + KMCIntegerLen);
   309 		    query->Des().Format(KQueryMusicGetDurationMostPlayed(), KMPXMaxMostPlayedSongs);
   309 		    query->Des().Format(KQueryMusicGetDurationMostPlayed(), KMPXMaxMostPlayedSongs);
   318 			break;
   318 			break;
   319 		default:
   319 		default:
   320 			User::Leave(KErrArgument);
   320 			User::Leave(KErrArgument);
   321 			break;
   321 			break;
   322 		}
   322 		}
   323     
   323 
   324     RSqlStatement recordset(iDbManager.ExecuteSelectQueryL(*query));
   324     RSqlStatement recordset(iDbManager.ExecuteSelectQueryL(*query));
   325     CleanupClosePushL(recordset);
   325     CleanupClosePushL(recordset);
   326 
   326 
   327     TInt sum(0);
   327     TInt sum(0);
   328     TInt err(KErrNone);
   328     TInt err(KErrNone);
   329     while ((err = recordset.Next()) == KSqlAtRow)
   329     while ((err = recordset.Next()) == KSqlAtRow)
   330         {
   330         {
   331         aCount++;
   331         aCount++;
   332         sum += recordset.ColumnInt64(KMPXTableDefaultIndex);
   332         sum += recordset.ColumnInt64(KMPXTableDefaultIndex);
   333         }
   333         }
   334     
   334 
   335     CleanupStack::PopAndDestroy(&recordset);
   335     CleanupStack::PopAndDestroy(&recordset);
   336     CleanupStack::PopAndDestroy(query);
   336     CleanupStack::PopAndDestroy(query);
   337     
   337 
   338     if (err != KSqlAtEnd)
   338     if (err != KSqlAtEnd)
   339         {
   339         {
   340         User::Leave(KErrCorrupt);
   340         User::Leave(KErrCorrupt);
   341         }
   341         }
   342 
   342