--- a/qtinternetradio/irqsonghistory/src/irqsonghistoryengine.cpp Mon Jun 21 22:33:45 2010 +0100
+++ b/qtinternetradio/irqsonghistory/src/irqsonghistoryengine.cpp Thu Jul 22 16:31:41 2010 +0100
@@ -129,22 +129,25 @@
}
EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceived(const IRQMetaData& aMetaData,
- QString& aMusicshopStatus)
+ const IRQPreset& aPreset)
{
- TRAPD(error, handleSongMetaDataReceivedL(aMetaData,aMusicshopStatus));
+ TRAPD(error, handleSongMetaDataReceivedL(aMetaData,aPreset));
if (KErrNone != error)
{
}
}
EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceivedL(const IRQMetaData& aMetaData,
- QString& aMusicshopStatus)
+ const IRQPreset& aPreset)
{
+
TPtrC songName(reinterpret_cast<const TUint16*>(aMetaData.getSongName().utf16()), aMetaData.getSongName().length());
TPtrC artistName(reinterpret_cast<const TUint16*>(aMetaData.getArtistName().utf16()), aMetaData.getArtistName().length());
- TPtrC musicFlag(reinterpret_cast<const TUint16*>(aMusicshopStatus.utf16()), aMusicshopStatus.length());
+ TPtrC channelName(reinterpret_cast<const TUint16*>(aPreset.name.utf16()), aPreset.name.length());
+ TPtrC musicFlag(reinterpret_cast<const TUint16*>(aPreset.musicStoreStatus.utf16()), aPreset.musicStoreStatus.length());
TBool bExceededMax = iSongHistoryDb->AddToSongHistoryDb2L(songName,
artistName,
+ channelName,
musicFlag);
}
@@ -162,6 +165,9 @@
TPtrC channelName(reinterpret_cast<const TUint16*>(aPreset.name.utf16()), aPreset.name.length());
TPtrC channelDesc(reinterpret_cast<const TUint16*>(aPreset.description.utf16()), aPreset.description.length());
TPtrC imageUrl(reinterpret_cast<const TUint16*>(aPreset.imgUrl.utf16()), aPreset.imgUrl.length());
+ TPtrC genreName(reinterpret_cast<const TUint16*>(aPreset.genreName.utf16()), aPreset.genreName.length());
+ TPtrC countryName(reinterpret_cast<const TUint16*>(aPreset.countryName.utf16()), aPreset.countryName.length());
+ TPtrC languageName(reinterpret_cast<const TUint16*>(aPreset.languageName.utf16()), aPreset.languageName.length());
TPtrC musicFlag(reinterpret_cast<const TUint16*>(aPreset.musicStoreStatus.utf16()), aPreset.musicStoreStatus.length());
TUint8 channelType = aPreset.type;
TUint16 channelId = aPreset.presetId;
@@ -173,7 +179,7 @@
if(ret)
{
TInt modified = iSongHistoryDb->UpdateSongHistoryDbL( channelId ,
- channelName ,channelUrl ,imageUrl ,musicFlag);
+ channelUrl ,imageUrl ,genreName, countryName, languageName, musicFlag);
// TODO notify uplayer to change layout?
}
}
@@ -183,7 +189,7 @@
channelType = 0;
}
- iSongHistoryDb->SearchAndDeleteRecordL(channelName, channelUrl, channelType);
+ iSongHistoryDb->SearchAndDeleteRecordL(channelName, channelUrl, channelType, channelId);
RBuf delSongName;
delSongName.CleanupClosePushL();
@@ -206,6 +212,9 @@
bitrate,
channelDesc,
imageUrl,
+ genreName,
+ countryName,
+ languageName,
musicFlag);
CleanupStack::PopAndDestroy(4, &delSongName);
@@ -315,6 +324,9 @@
int bitrate;
QString channelDesc;
QString imageUrl;
+ QString genreName;
+ QString countryName;
+ QString languageName;
QString musicStoreStatus;
for (int arrCount = 0 ; arrCount < songCount ; arrCount++ )
{
@@ -333,6 +345,12 @@
historyDataArr[arrCount]->GetChannelDesc().Length());
imageUrl = QString::fromUtf16(historyDataArr[arrCount]->GetImageUrl().Ptr(),
historyDataArr[arrCount]->GetImageUrl().Length());
+ genreName = QString::fromUtf16(historyDataArr[arrCount]->GetGenreName().Ptr(),
+ historyDataArr[arrCount]->GetGenreName().Length());
+ countryName = QString::fromUtf16(historyDataArr[arrCount]->GetCountryName().Ptr(),
+ historyDataArr[arrCount]->GetCountryName().Length());
+ languageName = QString::fromUtf16(historyDataArr[arrCount]->GetLanguageName().Ptr(),
+ historyDataArr[arrCount]->GetLanguageName().Length());
musicStoreStatus = QString::fromUtf16(historyDataArr[arrCount]->GetChannelMusicStatus().Ptr(),
historyDataArr[arrCount]->GetChannelMusicStatus().Length());
IRQSongHistoryInfo* irqsongHistory = new IRQSongHistoryInfo();
@@ -341,7 +359,7 @@
break;
}
irqsongHistory->setHistoryInfo(artist, songName, streamUrl, channelName, channelDesc
- , imageUrl, musicStoreStatus, channelType, channelId, bitrate);
+ , imageUrl, genreName, countryName, languageName, musicStoreStatus, channelType, channelId, bitrate);
aSongHistoryArr.append(irqsongHistory);
}
@@ -384,6 +402,7 @@
// create IRQSongHistoryInfo array and set
QString songName;
QString artist;
+ QString stationName;
QString musicStoreStatus;
for (int arrCount = 0; arrCount < songCount; arrCount++)
@@ -394,12 +413,15 @@
artist = QString::fromUtf16(
historyDataArr[arrCount]->GetArtistInfo().Ptr(),
historyDataArr[arrCount]->GetArtistInfo().Length());
+ stationName = QString::fromUtf16(
+ historyDataArr[arrCount]->GetChannelName().Ptr(),
+ historyDataArr[arrCount]->GetChannelName().Length());
musicStoreStatus = QString::fromUtf16(
historyDataArr[arrCount]->GetChannelMusicStatus().Ptr(),
historyDataArr[arrCount]->GetChannelMusicStatus().Length());
IRQSongInfo* irqsong = new IRQSongInfo();
- irqsong->setAllInfo(songName, artist, musicStoreStatus);
+ irqsong->setAllInfo(songName, artist, stationName, musicStoreStatus);
aSongHistoryArr.append(irqsong);
}
@@ -443,6 +465,9 @@
const QString& aChannelName,
const QString& aChannelUrl,
const QString& aImageUrl,
+ const QString& aGenreName,
+ const QString& aCountryName,
+ const QString& aLanguageName,
const QString& aMusicFlag)
{
TInt ret = KErrNone ;
@@ -460,11 +485,16 @@
TPtrC channelName(reinterpret_cast<const TUint16*>(aChannelName.utf16()));
TPtrC channelUrl(reinterpret_cast<const TUint16*>(aChannelUrl.utf16()));
TPtrC imageUrl(reinterpret_cast<const TUint16*>(aImageUrl.utf16()));
+ TPtrC genreName(reinterpret_cast<const TUint16*>(aGenreName.utf16()));
+ TPtrC countryName(reinterpret_cast<const TUint16*>(aCountryName.utf16()));
+ TPtrC languageName(reinterpret_cast<const TUint16*>(aLanguageName.utf16()));
TPtrC musicFlag(reinterpret_cast<const TUint16*>(aMusicFlag.utf16()));
TRAP_IGNORE(iSongHistoryDb->UpdateSongHistoryDbL( channelId ,
- channelName,
channelUrl,
imageUrl,
+ genreName,
+ countryName,
+ languageName,
musicFlag));
}
}
@@ -480,3 +510,15 @@
return true;
}
+
+EXPORT_C bool IRQSongHistoryEngine::deleteOneSongHistoryItem(int aIndex)
+{
+ int retValue = 0;
+ retValue = iSongHistoryDb->DeleteOneSongHistory(aIndex);
+ if( KErrNone != retValue )
+ {
+ return false;
+ }
+
+ return true;
+}