56 _LIT( KSongHistoryDBChannelTypeColumn, "ChannelType" ); |
56 _LIT( KSongHistoryDBChannelTypeColumn, "ChannelType" ); |
57 _LIT( KSongHistoryDBChannelIdColumn, "ChannelId" ); |
57 _LIT( KSongHistoryDBChannelIdColumn, "ChannelId" ); |
58 _LIT( KSongHistoryDBBitrateColumn, "Bitrate" ); |
58 _LIT( KSongHistoryDBBitrateColumn, "Bitrate" ); |
59 _LIT( KSongHistoryDBChannelDescColumn, "ChannelDescription" ); |
59 _LIT( KSongHistoryDBChannelDescColumn, "ChannelDescription" ); |
60 _LIT( KSongHistoryDBImageUrlColumn, "ImageUrl" ); |
60 _LIT( KSongHistoryDBImageUrlColumn, "ImageUrl" ); |
|
61 _LIT( KSongHistoryDBGenreNameColumn, "GenreName" ); |
|
62 _LIT( KSongHistoryDBCountryNameColumn, "CountryName" ); |
|
63 _LIT( KSongHistoryDBLanguageNameColumn, "LanguageName" ); |
61 _LIT( KSongHistoryDBMusicStatusColumn, "MusicStoreStatus" ); |
64 _LIT( KSongHistoryDBMusicStatusColumn, "MusicStoreStatus" ); |
62 |
65 |
63 _LIT(KSongHistoryDbFile,"songhistoryDb.db"); |
66 _LIT(KSongHistoryDbFile,"songhistoryDb.db"); |
64 _LIT(KNo , "No") ; |
67 _LIT(KNo , "No") ; |
65 |
68 |
152 // adds the session log entry into data base |
155 // adds the session log entry into data base |
153 // Returns ETure if songHistory count exceeds 30, else EFalse |
156 // Returns ETure if songHistory count exceeds 30, else EFalse |
154 // --------------------------------------------------------------------------- |
157 // --------------------------------------------------------------------------- |
155 // |
158 // |
156 TBool CIRSongHistoryDb::AddToSongHistoryDbL(const TDesC& aSongName, |
159 TBool CIRSongHistoryDb::AddToSongHistoryDbL(const TDesC& aSongName, |
157 const TDesC& aArtistName, |
160 const TDesC& aArtistName, |
158 const TDesC& aChannelName, |
161 const TDesC& aChannelName, |
159 const TDesC& aChannelUrl, |
162 const TDesC& aChannelUrl, |
160 RBuf& aDelSongName, |
163 RBuf& aDelSongName, |
161 RBuf& aDelArtistName, |
164 RBuf& aDelArtistName, |
162 RBuf& aDelChannelName, |
165 RBuf& aDelChannelName, |
163 RBuf& aDelChannelUrl, |
166 RBuf& aDelChannelUrl, |
164 TInt aChannelType, |
167 TInt aChannelType, |
165 TInt aChannelId, |
168 TInt aChannelId, |
166 TInt aBitrate, |
169 TInt aBitrate, |
167 const TDesC& aChannelDesc, |
170 const TDesC& aChannelDesc, |
168 const TDesC& aImageUrl, |
171 const TDesC& aImageUrl, |
169 const TDesC& aMusicFlag |
172 const TDesC& aGenreName, |
170 ) |
173 const TDesC& aCountryName, |
|
174 const TDesC& aLanguageName, |
|
175 const TDesC& aMusicFlag |
|
176 ) |
171 { |
177 { |
172 IRLOG_DEBUG( "CIRSongHistoryDb::AddSongHistoryStartL" ); |
178 IRLOG_DEBUG( "CIRSongHistoryDb::AddSongHistoryStartL" ); |
173 |
179 |
174 TBool bRetval = EFalse; |
180 TBool bRetval = EFalse; |
175 TInt error= 0; |
181 TInt error= 0; |
213 const TPtrC &artistName = aArtistName.Left(KIRDbMaxStrLen); |
219 const TPtrC &artistName = aArtistName.Left(KIRDbMaxStrLen); |
214 const TPtrC &channelName = aChannelName.Left(KIRDbMaxStrLen); |
220 const TPtrC &channelName = aChannelName.Left(KIRDbMaxStrLen); |
215 const TPtrC &channelUrl = aChannelUrl.Left(KIRDbMaxStrLen); |
221 const TPtrC &channelUrl = aChannelUrl.Left(KIRDbMaxStrLen); |
216 const TPtrC &channelDesc = aChannelDesc.Left(KIRDbMaxStrLen); |
222 const TPtrC &channelDesc = aChannelDesc.Left(KIRDbMaxStrLen); |
217 const TPtrC &imageUrl = aImageUrl.Left(KIRDbMaxStrLen); |
223 const TPtrC &imageUrl = aImageUrl.Left(KIRDbMaxStrLen); |
|
224 const TPtrC &genreName = aGenreName.Left(KIRDbMaxStrLen); |
|
225 const TPtrC &countryName = aCountryName.Left(KIRDbMaxStrLen); |
|
226 const TPtrC &languageName = aLanguageName.Left(KIRDbMaxStrLen); |
218 |
227 |
219 TInt songLen = aSongName.Length(); |
228 TInt songLen = aSongName.Length(); |
220 TInt artistLen = aArtistName.Length(); |
229 TInt artistLen = aArtistName.Length(); |
221 if( songLen + artistLen > KMaxSize ) |
230 if( songLen + artistLen > KMaxSize ) |
222 { |
231 { |
233 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelTypeColumn ), aChannelType); |
242 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelTypeColumn ), aChannelType); |
234 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelIdColumn ), aChannelId); |
243 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelIdColumn ), aChannelId); |
235 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBBitrateColumn ), aBitrate); |
244 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBBitrateColumn ), aBitrate); |
236 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelDescColumn ), channelDesc); |
245 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelDescColumn ), channelDesc); |
237 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBImageUrlColumn ), imageUrl); |
246 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBImageUrlColumn ), imageUrl); |
|
247 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBGenreNameColumn ), genreName); |
|
248 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBCountryNameColumn ), countryName); |
|
249 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBLanguageNameColumn ), languageName); |
238 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBMusicStatusColumn ), aMusicFlag); |
250 iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBMusicStatusColumn ), aMusicFlag); |
239 iSongHistoryTable.PutL(); |
251 iSongHistoryTable.PutL(); |
240 ); |
252 ); |
241 |
253 |
242 CleanupStack::PopAndDestroy(columns); |
254 CleanupStack::PopAndDestroy(columns); |
254 // --------------------------------------------------------------------------- |
266 // --------------------------------------------------------------------------- |
255 // CIRSongHistoryDb:AddToSongHistoryDb2L() |
267 // CIRSongHistoryDb:AddToSongHistoryDb2L() |
256 // adds the history song into the db |
268 // adds the history song into the db |
257 // Returns ETure if songHistory count exceeds 100, else EFalse |
269 // Returns ETure if songHistory count exceeds 100, else EFalse |
258 // --------------------------------------------------------------------------- |
270 // --------------------------------------------------------------------------- |
259 |
271 |
260 TBool CIRSongHistoryDb::AddToSongHistoryDb2L( const TDesC& aSongName, |
272 TBool CIRSongHistoryDb::AddToSongHistoryDb2L( const TDesC& aSongName, |
261 const TDesC& aArtistName, |
273 const TDesC& aArtistName, |
262 const TDesC& aMusicFlag) |
274 const TDesC& aMusicFlag) |
263 { |
275 { |
264 IRLOG_DEBUG( "CIRSongHistoryDb::AddToSongHistoryDb2L" ); |
276 IRLOG_DEBUG( "CIRSongHistoryDb::AddToSongHistoryDb2L" ); |
376 TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn ); |
388 TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn ); |
377 TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn ); |
389 TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn ); |
378 TInt bitrateColumn = columns->ColNo( KSongHistoryDBBitrateColumn ); |
390 TInt bitrateColumn = columns->ColNo( KSongHistoryDBBitrateColumn ); |
379 TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn ); |
391 TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn ); |
380 TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn ); |
392 TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn ); |
|
393 TInt genreNameColumn = columns->ColNo( KSongHistoryDBGenreNameColumn ); |
|
394 TInt countryNameColumn = columns->ColNo( KSongHistoryDBCountryNameColumn ); |
|
395 TInt languageNameColumn = columns->ColNo( KSongHistoryDBLanguageNameColumn ); |
381 TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn ); |
396 TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn ); |
382 |
397 |
383 delete columns; |
398 delete columns; |
384 columns = NULL; |
399 columns = NULL; |
385 |
400 |
422 channelDesc.CreateL(iSongHistoryTable.ColDes( channelDescColumn )); |
440 channelDesc.CreateL(iSongHistoryTable.ColDes( channelDescColumn )); |
423 channelDesc.CleanupClosePushL(); |
441 channelDesc.CleanupClosePushL(); |
424 |
442 |
425 imageUrl.CreateL(iSongHistoryTable.ColDes( imageUrlColumn )); |
443 imageUrl.CreateL(iSongHistoryTable.ColDes( imageUrlColumn )); |
426 imageUrl.CleanupClosePushL(); |
444 imageUrl.CleanupClosePushL(); |
|
445 |
|
446 genreName.CreateL(iSongHistoryTable.ColDes( genreNameColumn )); |
|
447 genreName.CleanupClosePushL(); |
|
448 |
|
449 countryName.CreateL(iSongHistoryTable.ColDes( countryNameColumn )); |
|
450 countryName.CleanupClosePushL(); |
|
451 |
|
452 languageName.CreateL(iSongHistoryTable.ColDes( languageNameColumn )); |
|
453 languageName.CleanupClosePushL(); |
427 |
454 |
428 channelMusicStatus.CreateL(iSongHistoryTable.ColDes( musicStatusColumn )); |
455 channelMusicStatus.CreateL(iSongHistoryTable.ColDes( musicStatusColumn )); |
429 channelMusicStatus.CleanupClosePushL(); |
456 channelMusicStatus.CleanupClosePushL(); |
430 |
457 |
431 aHistoryDataArr[song]->SetHistoryInfo(songName, artistName, channelUrl, |
458 aHistoryDataArr[song]->SetHistoryInfo(songName, artistName, channelUrl, |
432 channelName,channelType,channelId,bitrate,channelDesc , |
459 channelName,channelType,channelId,bitrate,channelDesc , |
433 imageUrl, channelMusicStatus); |
460 imageUrl, genreName, countryName, languageName, channelMusicStatus); |
434 ++song; |
461 ++song; |
435 |
|
436 |
|
437 CleanupStack::PopAndDestroy(&channelMusicStatus); |
462 CleanupStack::PopAndDestroy(&channelMusicStatus); |
|
463 CleanupStack::PopAndDestroy(&languageName); |
|
464 CleanupStack::PopAndDestroy(&countryName); |
|
465 CleanupStack::PopAndDestroy(&genreName); |
438 CleanupStack::PopAndDestroy(&imageUrl); |
466 CleanupStack::PopAndDestroy(&imageUrl); |
439 CleanupStack::PopAndDestroy(&channelDesc); |
467 CleanupStack::PopAndDestroy(&channelDesc); |
440 CleanupStack::PopAndDestroy(&channelUrl); |
468 CleanupStack::PopAndDestroy(&channelUrl); |
441 CleanupStack::PopAndDestroy(&channelName); |
469 CleanupStack::PopAndDestroy(&channelName); |
442 CleanupStack::PopAndDestroy(&artistName); |
470 CleanupStack::PopAndDestroy(&artistName); |
584 iSongHistoryTable.DeleteL(); |
612 iSongHistoryTable.DeleteL(); |
585 IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneHistoryL - exiting" ); |
613 IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneHistoryL - exiting" ); |
586 return KErrNone; |
614 return KErrNone; |
587 } |
615 } |
588 |
616 |
|
617 TInt CIRSongHistoryDb::DeleteOneSongHistory(TInt aIndex) |
|
618 { |
|
619 IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistory - Entering" ); |
|
620 |
|
621 TInt retValue = 0; |
|
622 TRAPD(error,(retValue = DeleteOneSongHistoryL(aIndex))); |
|
623 |
|
624 if( KErrNone != error ) |
|
625 { |
|
626 return error; |
|
627 } |
|
628 |
|
629 if( KErrNone != retValue) |
|
630 { |
|
631 return retValue; |
|
632 } |
|
633 IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistory - exiting" ); |
|
634 return KErrNone; |
|
635 } |
|
636 |
|
637 TInt CIRSongHistoryDb::DeleteOneSongHistoryL(TInt aIndex) |
|
638 { |
|
639 IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistoryL - Entering" ); |
|
640 TInt totalCount = iSongHistoryTable2.CountL(); |
|
641 if (aIndex < 0 || aIndex >= totalCount) |
|
642 { |
|
643 return KErrArgument; |
|
644 } |
|
645 |
|
646 iSongHistoryTable2.LastL(); |
|
647 TInt tempIndex = 0; |
|
648 while (tempIndex < aIndex) |
|
649 { |
|
650 TRAPD(error,iSongHistoryTable2.PreviousL()); |
|
651 if (KErrNone != error) |
|
652 { |
|
653 Compact(); |
|
654 return error; |
|
655 } |
|
656 tempIndex++; |
|
657 } |
|
658 |
|
659 iSongHistoryTable2.GetL(); |
|
660 iSongHistoryTable2.DeleteL(); |
|
661 IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistoryL - exiting" ); |
|
662 return KErrNone; |
|
663 } |
|
664 |
589 // --------------------------------------------------------------------------- |
665 // --------------------------------------------------------------------------- |
590 // Function : ClearAllSongHistoryFromDb2 |
666 // Function : ClearAllSongHistoryFromDb2 |
591 // delete all the entries from the database. |
667 // delete all the entries from the database. |
592 // --------------------------------------------------------------------------- |
668 // --------------------------------------------------------------------------- |
593 // |
669 // |
665 * creates songhistory table with three columns |
741 * creates songhistory table with three columns |
666 * log data |
742 * log data |
667 * --------------------------------------------------------------------------- |
743 * --------------------------------------------------------------------------- |
668 * SongHistoryTable |
744 * SongHistoryTable |
669 *--------------------------- |
745 *--------------------------- |
670 *| SongName | ArtistName | ChannelName | ChannelUrl | ChannelType | ChannelId | Bitrate | ChannelDesc | ImageUrl |
746 *| SongName | ArtistName | ChannelName | ChannelUrl | ChannelType | ChannelId | Bitrate | ChannelDesc | ImageUrl | GenreName | CountryName | LanguageName | MusicStatus |
671 *--------------------------- |
747 *--------------------------- |
672 *|EDbColText| EDbColText | EDbColText | EDbColText | EDbColUint8 | EDbColUint16 | EDbColUint16 | EDbColText | EDbColText |
748 *|EDbColText| EDbColText | EDbColText | EDbColText | EDbColUint8 | EDbColUint16 | EDbColUint16 | EDbColText | EDbColText | EDbColText | EDbColText | EDbColText | EDbColText |
673 *---------------------------------------------------------------------------- |
749 *---------------------------------------------------------------------------- |
674 */ |
750 */ |
675 void CIRSongHistoryDb::CreateSongHistoryTablesL() |
751 void CIRSongHistoryDb::CreateSongHistoryTablesL() |
676 { |
752 { |
677 IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryTablesL" ); |
753 IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryTablesL" ); |
685 columns->AddL( TDbCol( KSongHistoryDBChannelTypeColumn, EDbColUint8 ) ); |
761 columns->AddL( TDbCol( KSongHistoryDBChannelTypeColumn, EDbColUint8 ) ); |
686 columns->AddL( TDbCol( KSongHistoryDBChannelIdColumn, EDbColUint16 ) ); |
762 columns->AddL( TDbCol( KSongHistoryDBChannelIdColumn, EDbColUint16 ) ); |
687 columns->AddL( TDbCol( KSongHistoryDBBitrateColumn, EDbColUint16 ) ); |
763 columns->AddL( TDbCol( KSongHistoryDBBitrateColumn, EDbColUint16 ) ); |
688 columns->AddL( TDbCol( KSongHistoryDBChannelDescColumn, EDbColText, KMaxColumnLength ) ); |
764 columns->AddL( TDbCol( KSongHistoryDBChannelDescColumn, EDbColText, KMaxColumnLength ) ); |
689 columns->AddL( TDbCol( KSongHistoryDBImageUrlColumn, EDbColText, KMaxColumnLength ) ); |
765 columns->AddL( TDbCol( KSongHistoryDBImageUrlColumn, EDbColText, KMaxColumnLength ) ); |
|
766 columns->AddL( TDbCol( KSongHistoryDBGenreNameColumn, EDbColText, KMaxColumnLength ) ); |
|
767 columns->AddL( TDbCol( KSongHistoryDBCountryNameColumn, EDbColText, KMaxColumnLength ) ); |
|
768 columns->AddL( TDbCol( KSongHistoryDBLanguageNameColumn, EDbColText, KMaxColumnLength ) ); |
690 columns->AddL( TDbCol( KSongHistoryDBMusicStatusColumn, EDbColText, KMaxColumnLength ) ); |
769 columns->AddL( TDbCol( KSongHistoryDBMusicStatusColumn, EDbColText, KMaxColumnLength ) ); |
691 ); |
770 ); |
692 User::LeaveIfError( error ); |
771 User::LeaveIfError( error ); |
693 |
772 |
694 User::LeaveIfError( CreateTable( KSongHistoryDBTable, *columns ) ); |
773 User::LeaveIfError( CreateTable( KSongHistoryDBTable, *columns ) ); |
940 TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn ); |
1019 TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn ); |
941 TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn ); |
1020 TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn ); |
942 TInt bitrateColumn = columns->ColNo( KSongHistoryDBBitrateColumn ); |
1021 TInt bitrateColumn = columns->ColNo( KSongHistoryDBBitrateColumn ); |
943 TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn ); |
1022 TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn ); |
944 TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn ); |
1023 TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn ); |
|
1024 TInt genreNameColumn = columns->ColNo( KSongHistoryDBGenreNameColumn ); |
|
1025 TInt countryNameColumn = columns->ColNo( KSongHistoryDBCountryNameColumn ); |
|
1026 TInt languageNameColumn = columns->ColNo( KSongHistoryDBLanguageNameColumn ); |
945 TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn ); |
1027 TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn ); |
946 |
1028 |
947 delete columns; |
1029 delete columns; |
948 columns = NULL; |
1030 columns = NULL; |
949 |
1031 |
951 for ( iSongHistoryTable.LastL(); iSongHistoryTable.AtRow(); iSongHistoryTable.PreviousL() ) |
1033 for ( iSongHistoryTable.LastL(); iSongHistoryTable.AtRow(); iSongHistoryTable.PreviousL() ) |
952 { |
1034 { |
953 iSongHistoryTable.GetL(); |
1035 iSongHistoryTable.GetL(); |
954 // Extracting the values from the database. |
1036 // Extracting the values from the database. |
955 TInt channelId; |
1037 TInt channelId; |
956 RBuf imageUrl; |
1038 RBuf imageUrl, genreName, countryName, languageName; |
957 RBuf channelMusicStatus; |
1039 RBuf channelMusicStatus; |
958 |
1040 |
959 channelId=iSongHistoryTable.ColUint16( channelIdColumn ); |
1041 channelId=iSongHistoryTable.ColUint16( channelIdColumn ); |
960 imageUrl.Create(iSongHistoryTable.ColDes( imageUrlColumn )); |
1042 imageUrl.Create(iSongHistoryTable.ColDes( imageUrlColumn )); |
961 imageUrl.CleanupClosePushL(); |
1043 imageUrl.CleanupClosePushL(); |
|
1044 genreName.Create(iSongHistoryTable.ColDes( genreNameColumn )); |
|
1045 genreName.CleanupClosePushL(); |
|
1046 countryName.Create(iSongHistoryTable.ColDes( countryNameColumn )); |
|
1047 countryName.CleanupClosePushL(); |
|
1048 languageName.Create(iSongHistoryTable.ColDes( languageNameColumn )); |
|
1049 languageName.CleanupClosePushL(); |
962 channelMusicStatus.Create(iSongHistoryTable.ColDes( musicStatusColumn )); |
1050 channelMusicStatus.Create(iSongHistoryTable.ColDes( musicStatusColumn )); |
963 channelMusicStatus.CleanupClosePushL(); |
1051 channelMusicStatus.CleanupClosePushL(); |
964 |
1052 |
965 |
1053 |
966 if(aChannelId == channelId) |
1054 if(aChannelId == channelId) |
967 { |
1055 { |
968 iSongHistoryTable.UpdateL(); |
1056 iSongHistoryTable.UpdateL(); |
969 iSongHistoryTable.SetColL(channelTypeColumn, 0); |
1057 iSongHistoryTable.SetColL(channelTypeColumn, 0); |
970 iSongHistoryTable.SetColL(channelIdColumn, 0); |
1058 iSongHistoryTable.SetColL(channelIdColumn, 0); |
971 iSongHistoryTable.SetColL(imageUrlColumn, KNo); |
1059 iSongHistoryTable.SetColL(imageUrlColumn, KNo); |
|
1060 iSongHistoryTable.SetColL(genreNameColumn, KNo); |
|
1061 iSongHistoryTable.SetColL(countryNameColumn, KNo); |
|
1062 iSongHistoryTable.SetColL(languageNameColumn, KNo); |
972 iSongHistoryTable.SetColL(musicStatusColumn, KNo); |
1063 iSongHistoryTable.SetColL(musicStatusColumn, KNo); |
973 iSongHistoryTable.PutL(); |
1064 iSongHistoryTable.PutL(); |
974 } |
1065 } |
975 CleanupStack::PopAndDestroy(&channelMusicStatus); |
1066 CleanupStack::PopAndDestroy(&channelMusicStatus); |
|
1067 CleanupStack::PopAndDestroy(&languageName); |
|
1068 CleanupStack::PopAndDestroy(&countryName); |
|
1069 CleanupStack::PopAndDestroy(&genreName); |
976 CleanupStack::PopAndDestroy(&imageUrl); |
1070 CleanupStack::PopAndDestroy(&imageUrl); |
977 } |
1071 } |
978 iSongHistoryTable.Reset(); |
1072 iSongHistoryTable.Reset(); |
979 |
1073 |
980 IRLOG_DEBUG( "CIRSongHistoryDb::SyncSongHistoryDbL - Exiting." ); |
1074 IRLOG_DEBUG( "CIRSongHistoryDb::SyncSongHistoryDbL - Exiting." ); |
1032 // |
1126 // |
1033 |
1127 |
1034 TInt CIRSongHistoryDb::UpdateSongHistoryDbL( TInt aChannelId, |
1128 TInt CIRSongHistoryDb::UpdateSongHistoryDbL( TInt aChannelId, |
1035 const TDesC& aChannelName, |
1129 const TDesC& aChannelName, |
1036 const TDesC& aChannelUrl, |
1130 const TDesC& aChannelUrl, |
1037 const TDesC& aImageUrl, |
1131 const TDesC& aImageUrl, |
|
1132 const TDesC& aGenreName, |
|
1133 const TDesC& aCountryName, |
|
1134 const TDesC& aLanguageName, |
1038 const TDesC& aMusicFlag) |
1135 const TDesC& aMusicFlag) |
1039 { |
1136 { |
1040 IRLOG_DEBUG( "CIRSongHistoryDb::UpdateSongHistoryDbL" ); |
1137 IRLOG_DEBUG( "CIRSongHistoryDb::UpdateSongHistoryDbL" ); |
1041 |
1138 |
1042 TBool channelChanged = EFalse ; |
1139 TBool channelChanged = EFalse ; |
1043 TInt compFlagName ; |
1140 TInt compFlagName ; |
1044 TInt compFlagUrl ; |
1141 TInt compFlagUrl ; |
1045 TInt compFlagImageUrl ; |
1142 TInt compFlagImageUrl, compFlagGenreName, compFlagCountryName, compFlagLanguageName; |
1046 TInt compFlagMusic ; |
1143 TInt compFlagMusic ; |
1047 TInt compUrlChange ; |
1144 TInt compUrlChange ; |
1048 |
1145 |
1049 if(iSongHistoryTable.CountL() < 1) |
1146 if(iSongHistoryTable.CountL() < 1) |
1050 { |
1147 { |
1056 TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn ); |
1153 TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn ); |
1057 TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn ); |
1154 TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn ); |
1058 TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn ); |
1155 TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn ); |
1059 TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn ); |
1156 TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn ); |
1060 TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn ); |
1157 TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn ); |
|
1158 TInt genreNameColumn = columns->ColNo( KSongHistoryDBGenreNameColumn ); |
|
1159 TInt countryNameColumn = columns->ColNo( KSongHistoryDBCountryNameColumn ); |
|
1160 TInt languageNameColumn = columns->ColNo( KSongHistoryDBLanguageNameColumn ); |
1061 TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn ); |
1161 TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn ); |
1062 |
1162 |
1063 delete columns; |
1163 delete columns; |
1064 columns = NULL; |
1164 columns = NULL; |
1065 |
1165 |
1069 { |
1169 { |
1070 iSongHistoryTable.GetL(); |
1170 iSongHistoryTable.GetL(); |
1071 // Extracting the values from the database. |
1171 // Extracting the values from the database. |
1072 RBuf channelName; |
1172 RBuf channelName; |
1073 RBuf channelUrl; |
1173 RBuf channelUrl; |
1074 RBuf imageUrl; |
1174 RBuf imageUrl, genreName, countryName, languageName; |
1075 TInt channelId; |
1175 TInt channelId; |
1076 RBuf channelMusicStatus; |
1176 RBuf channelMusicStatus; |
1077 channelName.Create(iSongHistoryTable.ColDes( channelColumn )); |
1177 channelName.Create(iSongHistoryTable.ColDes( channelColumn )); |
1078 channelName.CleanupClosePushL(); |
1178 channelName.CleanupClosePushL(); |
1079 |
1179 |
1080 channelUrl.Create(iSongHistoryTable.ColDes( channelUrlColumn )); |
1180 channelUrl.Create(iSongHistoryTable.ColDes( channelUrlColumn )); |
1081 channelUrl.CleanupClosePushL(); |
1181 channelUrl.CleanupClosePushL(); |
1082 |
1182 |
1083 imageUrl.Create(iSongHistoryTable.ColDes( imageUrlColumn )); |
1183 imageUrl.Create(iSongHistoryTable.ColDes( imageUrlColumn )); |
1084 imageUrl.CleanupClosePushL(); |
1184 imageUrl.CleanupClosePushL(); |
|
1185 genreName.Create(iSongHistoryTable.ColDes( genreNameColumn )); |
|
1186 genreName.CleanupClosePushL(); |
|
1187 countryName.Create(iSongHistoryTable.ColDes( countryNameColumn )); |
|
1188 countryName.CleanupClosePushL(); |
|
1189 languageName.Create(iSongHistoryTable.ColDes( languageNameColumn )); |
|
1190 languageName.CleanupClosePushL(); |
1085 |
1191 |
1086 channelId=iSongHistoryTable.ColUint16( channelIdColumn ); |
1192 channelId=iSongHistoryTable.ColUint16( channelIdColumn ); |
1087 |
1193 |
1088 channelMusicStatus.Create(iSongHistoryTable.ColDes( musicStatusColumn )); |
1194 channelMusicStatus.Create(iSongHistoryTable.ColDes( musicStatusColumn )); |
1089 channelMusicStatus.CleanupClosePushL(); |
1195 channelMusicStatus.CleanupClosePushL(); |
1090 |
1196 |
1091 if(aChannelId == channelId) |
1197 if(aChannelId == channelId) |
1092 { |
1198 { |
1093 compFlagName = (channelName).Compare(aChannelName); |
1199 compFlagName = (channelName).Compare(aChannelName); |
1094 compFlagUrl = (channelUrl).Compare(aChannelUrl); |
1200 compFlagUrl = (channelUrl).Compare(aChannelUrl); |
1095 compFlagImageUrl = (imageUrl).Compare(aImageUrl); |
1201 compFlagImageUrl = (imageUrl).Compare(aImageUrl); |
|
1202 compFlagGenreName = (genreName).Compare(aGenreName); |
|
1203 compFlagCountryName = (countryName).Compare(aCountryName); |
|
1204 compFlagLanguageName = (languageName).Compare(aLanguageName); |
1096 compFlagMusic = (channelMusicStatus).Compare(aMusicFlag); |
1205 compFlagMusic = (channelMusicStatus).Compare(aMusicFlag); |
1097 if(compFlagName) |
1206 if(compFlagName) |
1098 { |
1207 { |
1099 iSongHistoryTable.UpdateL(); |
1208 iSongHistoryTable.UpdateL(); |
1100 iSongHistoryTable.SetColL(channelColumn, aChannelName); |
1209 iSongHistoryTable.SetColL(channelColumn, aChannelName); |
1108 iSongHistoryTable.UpdateL(); |
1217 iSongHistoryTable.UpdateL(); |
1109 iSongHistoryTable.SetColL(channelUrlColumn, aChannelUrl); |
1218 iSongHistoryTable.SetColL(channelUrlColumn, aChannelUrl); |
1110 iSongHistoryTable.PutL(); |
1219 iSongHistoryTable.PutL(); |
1111 channelChanged = ETrue ; |
1220 channelChanged = ETrue ; |
1112 } |
1221 } |
1113 if(compFlagImageUrl) |
1222 if(compFlagImageUrl) |
1114 { |
1223 { |
1115 iSongHistoryTable.UpdateL(); |
1224 iSongHistoryTable.UpdateL(); |
1116 iSongHistoryTable.SetColL(imageUrlColumn, aImageUrl); |
1225 iSongHistoryTable.SetColL(imageUrlColumn, aImageUrl); |
1117 iSongHistoryTable.PutL(); |
1226 iSongHistoryTable.PutL(); |
1118 channelChanged = ETrue ; |
1227 channelChanged = ETrue ; |
1119 } |
1228 } |
|
1229 if(compFlagGenreName) |
|
1230 { |
|
1231 iSongHistoryTable.UpdateL(); |
|
1232 iSongHistoryTable.SetColL(genreNameColumn, aGenreName); |
|
1233 iSongHistoryTable.PutL(); |
|
1234 channelChanged = ETrue ; |
|
1235 } |
|
1236 if(compFlagCountryName) |
|
1237 { |
|
1238 iSongHistoryTable.UpdateL(); |
|
1239 iSongHistoryTable.SetColL(countryNameColumn, aCountryName); |
|
1240 iSongHistoryTable.PutL(); |
|
1241 channelChanged = ETrue ; |
|
1242 } |
|
1243 if(compFlagLanguageName) |
|
1244 { |
|
1245 iSongHistoryTable.UpdateL(); |
|
1246 iSongHistoryTable.SetColL(languageNameColumn, aLanguageName); |
|
1247 iSongHistoryTable.PutL(); |
|
1248 channelChanged = ETrue ; |
|
1249 } |
1120 if(compFlagMusic) |
1250 if(compFlagMusic) |
1121 { |
1251 { |
1122 iSongHistoryTable.UpdateL(); |
1252 iSongHistoryTable.UpdateL(); |
1123 iSongHistoryTable.SetColL(musicStatusColumn, aMusicFlag); |
1253 iSongHistoryTable.SetColL(musicStatusColumn, aMusicFlag); |
1124 iSongHistoryTable.PutL(); |
1254 iSongHistoryTable.PutL(); |
1125 channelChanged = ETrue ; |
1255 channelChanged = ETrue ; |
1126 } |
1256 } |
1127 |
1257 |
1128 } |
1258 } |
1129 CleanupStack::PopAndDestroy(&channelMusicStatus); |
1259 CleanupStack::PopAndDestroy(&channelMusicStatus); |
|
1260 CleanupStack::PopAndDestroy(&languageName); |
|
1261 CleanupStack::PopAndDestroy(&countryName); |
|
1262 CleanupStack::PopAndDestroy(&genreName); |
1130 CleanupStack::PopAndDestroy(&imageUrl); |
1263 CleanupStack::PopAndDestroy(&imageUrl); |
1131 CleanupStack::PopAndDestroy(&channelUrl); |
1264 CleanupStack::PopAndDestroy(&channelUrl); |
1132 CleanupStack::PopAndDestroy(&channelName); |
1265 CleanupStack::PopAndDestroy(&channelName); |
1133 |
1266 |
1134 } |
1267 } |