Binary file internetradio2.0/cenrep/2002ffac.txt has changed
Binary file internetradio2.0/conf/internetradio.confml has changed
--- a/internetradio2.0/inc/iruid3.hrh Fri Sep 17 08:27:59 2010 +0300
+++ b/internetradio2.0/inc/iruid3.hrh Mon Oct 04 00:07:46 2010 +0300
@@ -20,7 +20,7 @@
#define __IRUID3_H__
//Duplicate with :
-//irquid3.hrh \qtinternetradio\irqcommon\inc
+//irquid3.hrh /qtinternetradio/irqcommon/inc
#define UID3_INTERNET_RADIO_10_1_EXE 0x2002FFAC
#define UID3_IRSETTINGS_DLL 0x2002FFAE
--- a/internetradio2.0/install/internetradiostub.pkg Fri Sep 17 08:27:59 2010 +0300
+++ b/internetradio2.0/install/internetradiostub.pkg Mon Oct 04 00:07:46 2010 +0300
@@ -43,8 +43,7 @@
""-"z:\sys\bin\IRCacheMgmt.dll"
""-"z:\sys\bin\IRNetworkController.dll"
""-"z:\sys\bin\irsettings.dll"
-""-"z:\sys\bin\IRSessionLog.dll"
-""-"z:\sys\bin\IRSongHistory.dll"
+""-"z:\sys\bin\IRSessionLog.dll"
""-"z:\sys\bin\IRSettingsView.dll"
""-"z:\sys\bin\irgeneralsettings200.dll"
;""-"z:\sys\bin\mpxequalizerview.dll"
--- a/internetradio2.0/irsonghistory/inc/irsonghistorydb.h Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* Copyright (c) 2006-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Song History database used for stroing song history entries.
-*
-*/
-
-
-/* ---------------------------------------------------------------------------
-* Version history:
-* Template version:
-* <ccm_history>
-*
-* Version: 3, Thu Apr 14 12:00:00 2008 by Rohit
-* Ref:
-* Pc lint fixes
-*
-* Version: 2, Thu Apr 10 20:00:00 2008 by Rohit
-* Ref:
-* Implemented SongHistory changes for channelwise songs
-*
-* </ccm_history>
-* ============================================================================
-*/
-
-#ifndef CIRSONGHISTORYDB_H
-#define CIRSONGHISTORYDB_H
-
-#include <d32dbms.h>
-#include "irsettings.h"
-
-class CIRSongHistoryInfo;
-class CIRSettings;
-
-
-// Maximum no of entries to be stored in the history list.
-const TInt KMaxNoChannelHistoryDbEntries = 30;
-const TInt KMaxNoSongHistoryDbEntries = 100;
-
-// Maximum length of Dbms field string
-const TInt KIRDbMaxStrLen = 255;
-
-const TInt KIRDbMaxChType = 2;
-
-const TInt KMaxColumnLength = 255;
-
-NONSHARABLE_CLASS(CIRSongHistoryDb) : public RDbNamedDatabase
- {
-//member functions
-public:
-
- /**
- * Function : NewL()
- * Two phased construction
- * @return instance of CIRSongHistoryDb
- */
- static CIRSongHistoryDb* NewL();
-
- /**
- * Function : NewLC()
- * Two phased construction
- * @return instance of CIRSongHistoryDb
- */
- static CIRSongHistoryDb* NewLC();
-
- /**
- * Function : ~CIRSongHistoryDb()
- * default destructor
- */
- ~CIRSongHistoryDb();
-
-
-
- /**
- * Function : AddToSongHistoryDbL()
- * adds the song history entry into data base
- * @param various channel information
- */
- TBool AddToSongHistoryDbL( const TDesC& aSongName,
- const TDesC& aArtistName,
- const TDesC& aChannelName,
- const TDesC& aChannelUrl,
- RBuf& aDelSongName,
- RBuf& aDelArtistname,
- RBuf& aDelChannelName,
- RBuf& aDelChannelUrl,
- TInt aChannelType,
- TInt aChannelId,
- TInt aBitrate,
- const TDesC& aChannelDesc,
- const TDesC& aImageUrl,
- const TDesC& aGenreName,
- const TDesC& aCountryName,
- const TDesC& aLanguageName,
- const TDesC& aMusicFlag);
- /**
- * Function : AddToSongHistoryDb2L()
- * adds the song history entry into data base
- * @param various song information
- */
- TBool AddToSongHistoryDb2L( const TDesC& aSongName,
- const TDesC& aArtistName,
- const TDesC& aChannelName,
- const TDesC& aMusicFlag);
-
-
- /**
- * CIRSongHistoryDb::GetAllSongHistoryListL()
- * gets all the song history entries into an array
- * @param aSongHistoryEntries is the array which is to be filled by the SongHistoryDb.
- */
-
- void GetAllSongHistoryListL(RPointerArray<CIRSongHistoryInfo>& aSongHistoryEntries);
- /**
- * CIRSongHistoryDb::GetAllSongHistoryList2L()
- * gets all the song history entries into an array
- * @param aSongEntries is the array which is to be filled by the SongHistoryDb.
- */
- void GetAllSongHistoryList2L(RPointerArray<CIRSongHistoryInfo>& aSongEntries);
- /**
- * Function : ClearAllSongHistoryFromDb
- * delete all the song entries from the database.
- */
-
- TInt ClearAllSongHistoryFromDb();
-
- /**
- * Function : ClearAllSongHistoryFromDb2
- * delete all the song entries from the database.
- */
- TInt ClearAllSongHistoryFromDb2();
-
- /**
- * Function : CountSongHistoryDb()
- * count the database entries
- */
-
- TInt CountSongHistoryDb();
-
- /**
- * Function : CountSongHistoryDb2()
- * count the database entries
- */
- TInt CountSongHistoryDb2();
-
- /**
- * Function : GetLastHistoryItemL()
- * Gives the last added entry in the database
- * @param Channel data to be filled .
- */
- void GetLastHistoryItemL(RBuf& aSongName, RBuf& aArtistName,
- RBuf& aChannelName, RBuf& aChannelUrl);
-
- /**
- * Function : GetChannelSongsCount()
- * Returns SongsCount for given channel
- */
- TUint GetChannelSongsCountL( const RBuf& aChannelName, const RBuf& aChannelUrl );
-
- /**
- * Function : GetChannelSongsCount()
- * Updates the song history DB when there is a channel removed in the isds.
- */
- void SyncSongHistoryDbL(TInt aChannelId) ;
-
- /**
- * Function : GetIdPresentInDb()
- * Gets whether the particular channel ID is present in history DB or not.
- */
- TBool GetIdPresentInDbL(TInt aChannelId) ;
-
- /**
- * Function : UpdateSongHistoryDb()
- * Updates the song history DB when there is a channel change in the isds.
- */
- TInt UpdateSongHistoryDbL( TInt aChannelId,
- const TDesC& aChannelUrl,
- const TDesC& aImageUrl,
- const TDesC& aGenreName,
- const TDesC& aCountryName,
- const TDesC& aLanguageName,
- const TDesC& aMusicFlag);
-
- /*
- * search if a record already exists in database. If yes, delete it.
- */
- void SearchAndDeleteRecordL(const TDesC& aChannelName, const TDesC& aChannelUrl,
- TInt aChannelType, TInt aPresetId);
-
- /*
- * delete a recorder by the index, for station history database
- * */
- TInt DeleteOneHistory(TInt aIndex);
-
- /*
- * delete a recorder by the index, for songhistory database
- * */
- TInt DeleteOneSongHistory(TInt aIndex);
-
-private:
-
- /**
- * Function : ConstructL()
- * two phase construction
- */
- void ConstructL();
-
- /**
- * Function : CloseSongHistoryDb()
- * Closes the database
- */
- void CloseSongHistoryDb();
-
- /**
- * Function : CreateSongHistoryTablesL()
- * creates songhistory table with three columns
- * log data
- * ---------------------------------------------------------------------------
- * SongHistoryTable
- *---------------------------
- *| SongName | ArtistName | ChannelName | ChannelUrl | ChannelType | ChannelId | Bitrate | ChannelDesc | ImageUrl | GenreName | CountryName | LanguageName | MusicStatus
- *---------------------------
- *|EDbColText| EDbColText | EDbColText | EDbColText | EDbColUint8 | EDbColUint16 | EDbColUint16 | EDbColText | EDbColText | EDbColText | EDbColText | EDbColText | EDbColText
- *----------------------------------------------------------------------------
- */
- void CreateSongHistoryTablesL();
-
- /**
- * Function : CreateSongHistoryTables2L()
- * creates songhistory table with three columns
- * log data
- * ---------------------------------------------------------------------------
- * SongHistoryTable
- *---------------------------
- *| SongName | ArtistName | ChannelName | MusicStatusFlag
- *---------------------------
- *|EDbColText| EDbColText | EDbColText | EDbColText |
- *----------------------------------------------------------------------------
- */
- void CreateSongHistoryTables2L();
-
- /**
- * Function : CreateDbCondition()
- * Creates the dbms file conditionally(only if not yet created)
- * @param aSongHistoryDbFile the Database file name
- */
- void CreateDbCondition(const TFileName& aSongHistoryDbFile);
-
-
- /**
- * Function : OpenSongHistoryDbL()
- * @param aSongHistoryDbFile the Database file name
- * opening the data base
- */
- void OpenSongHistoryDbL(const TFileName& aSongHistoryDbFile);
-
- /**
- * Function : CreateSongHistoryDb()
- * creates the dbms files
- * @param aSongHistoryDbFile database filename
- */
- TInt CreateSongHistoryDb(const TFileName& aSongHistoryDbFile);
-
- /**
- * to wrapper the delete leaving
- */
- TInt DeleteOneHistoryL(TInt aIndex);
-
- /**
- * to wrapper the delete leaving
- */
- TInt DeleteOneSongHistoryL(TInt aIndex);
-
- /**
- * Data-structure to hold unique channel info
- */
- class CIRChannelInfo : public CBase
- {
- public:
- ~CIRChannelInfo()
- {
- iChannelUrl.Close();
- iChannelName.Close();
- }
- RBuf iChannelUrl;
- RBuf iChannelName;
- TInt iChannelType;
- };
-
-
-
- /**
- * Comparer function to compare two CIRChannelInfo's
- */
- static TBool CompareChannelInfos(const CIRChannelInfo& aFirst, const CIRChannelInfo& aSecond);
-
-//data members
-
-private:
-
- // File session
-
- RFs iFsSession;
-
-
- // Table which stores History information
-
- RDbTable iSongHistoryTable;
-
- // only save the song info for the song history view.
- RDbTable iSongHistoryTable2;
-
- };
-
-#endif //CIRSONGHISTORYDB_H
-
-
-
-
-
-
-
-
--- a/internetradio2.0/irsonghistory/inc/irsonghistoryinfo.h Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,311 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: header for the songhistory information class
-*
-*/
-
-
-#ifndef C_CIRSONGHISTORYINFO_H
-#define C_CIRSONGHISTORYINFO_H
-
-#include <s32mem.h>
-
-/**
- * SongHistory meta data information wrapper.
- */
-NONSHARABLE_CLASS( CIRSongHistoryInfo ) : public CBase
- {
-
-public:
-
- /**
- *Function : NewL
- *Function returns an instance of CIRSongHistoryInfo
- *Two phase constructor
- *@return instance of CIRSongHistoryInfo
- */
- IMPORT_C static CIRSongHistoryInfo * NewL();
-
- /**
- *CIRSongHistoryInfo::NewLC()
- *Static function
- *standard two phased constructor
- *@return *CIRSongHistoryInfo
- */
- IMPORT_C static CIRSongHistoryInfo* NewLC();
-
- /**
- *CIRSongHistoryInfo::~CIRSongHistoryInfo()
- *standard C++ destructor
- */
- IMPORT_C ~CIRSongHistoryInfo();
-
- /**
- *CIRSongHistoryInfo::SetHistoryInfoL()
- *Function to set songhistory ingo from a RBuf
- */
-
- IMPORT_C void SetHistoryInfoL(RBuf& aSongName,
- RBuf& aArtist,
- RBuf& aStreamUrl,
- RBuf& aChannelName,
- TInt aChannelType ,
- TInt aChannelId,
- TInt aBitrate,
- RBuf& aChannelDesc,
- RBuf& aImageUrl,
- RBuf& aGenreName,
- RBuf& aCountryName,
- RBuf& aLanguageName,
- RBuf& aMusicStoreStatus );
-
- /**
- *CIRSongHistoryInfo::SetChannelNameL()
- *Function to set channel name from a RBuf
- *@param RBuf aChannelName
- */
-
- void SetChannelNameL(RBuf& aChannelName);
-
- /**
- *CIRSongHistoryInfo::SetArtistL()
- *Function to set artist name from a RBuf
- *@param RBuf aArtist
- */
-
- void SetArtistL(RBuf& aArtist);
-
- /**
- *CIRSongHistoryInfo::SetSongNameL()
- *Function to set song name from a RBuf
- *@param RBuf aSongName
- */
-
- void SetSongNameL (RBuf& aSongName);
-
- /**
- *CIRSongHistoryInfo::SetStreamUrlL()
- *Function to set stream url from a RBuf
- *@param RBuf aStreamUrl
- */
-
- void SetStreamUrlL(RBuf& aStreamUrl);
-
- /**
- *CIRSongHistoryInfo::GetSongInfo()
- *Function to get song name from a TDesC
- *@return RBuf& instance
- */
-
- IMPORT_C const RBuf& GetSongInfo() const;
-
- /**
- *CIRSongHistoryInfo::GetArtistName()
- *Function to get artist name from a TDesC
- *@return RBuf& instance
- */
-
- IMPORT_C const RBuf& GetArtistInfo() const;
-
- /**
- *CIRSongHistoryInfo::GetStreamUrl()
- *Function to get url name from a TDesC
- *@return RBuf& instance
- */
-
- IMPORT_C const RBuf& GetStreamUrl() const;
-
- /**
- *CIRSongHistoryInfo::GetChannelName()
- *Function to get channel name from a TDesC
- *@return RBuf& instance
- */
-
- IMPORT_C const RBuf& GetChannelName() const;
-
- /**
- *CIRSongHistoryInfo::GetChannelType()
- *Function to get channel Type
- *@return TInt channeltype
- */
- IMPORT_C TInt GetChannelType() const;
-
- /**
- *CIRSongHistoryInfo::SetChannelType()
- *Function to set channel Type
- *@param TInt aChannelImgUrl
- */
- void SetChannelType(TInt aChannelImgUrl);
- /**
- *CIRSongHistoryInfo::SetChannelId()
- *Function to set channel Id
- *@param TInt aChannelId
- */
- void SetChannelId(TInt aChannelId);
- /**
- *CIRSongHistoryInfo::GetChannelId()
- *Function to get channel Id
- *@return TInt channelId
- */
- IMPORT_C TInt GetChannelId() const;
- /**
- *CIRSongHistoryInfo::SetBitrate()
- *Function to set bitrate
- *@param TInt aBitrate
- */
- void SetBitrate(TInt aBitrate);
- /**
- *CIRSongHistoryInfo::GetBitrate()
- *Function to get bitrate
- *@return TInt aBitrate
- */
- IMPORT_C TInt GetBitrate() const;
- /**
- *CIRSongHistoryInfo::GetChannelDesc()
- *Function to get channel Description
- *@return RBuf& instance
- */
- IMPORT_C const RBuf& GetChannelDesc() const ;
- /**
- *CIRSongHistoryInfo::SetChannelDescL()
- *Function to set channel Description
- * @param RBuf aChannelDesc
- */
- void SetChannelDescL(RBuf& aChannelDesc) ;
- /**
- *CIRSongHistoryInfo::GetImageUrl()
- *Function to get channel image Url
- *@return RBuf& instance
- */
- IMPORT_C const RBuf& GetImageUrl() const ;
- /**
- *CIRSongHistoryInfo::SetImageUrlL()
- *Function to set channel image Url
- * @param RBuf aImageUrl
- */
- void SetImageUrlL(RBuf& aImageUrl) ;
- /**
- *IRQSongHistoryInfo::GetGenreName()
- *Function to get channel genre name
- *@return RBuf& instance
- */
- IMPORT_C const RBuf& GetGenreName() const;
- /**
- *CIRSongHistoryInfo::SetGenreNameL()
- *Function to set channel genre name
- * @param RBuf aGenreName
- */
- void SetGenreNameL(const RBuf& aGenreName);
- /**
- *IRQSongHistoryInfo::GetCountryName()
- *Function to get channel country name
- *@return RBuf& instance
- */
- IMPORT_C const RBuf& GetCountryName() const;
- /**
- *CIRSongHistoryInfo::SetCountryNameL()
- *Function to set channel country name
- * @param RBuf& aCountryName
- */
- void SetCountryNameL(const RBuf& aCountryName);
- /**
- *IRQSongHistoryInfo::getLanguageName()
- *Function to get channel language name
- *@return RBuf& instance
- */
- IMPORT_C const RBuf& GetLanguageName() const;
- /**
- *CIRSongHistoryInfo::SetLanguageNameL()
- *Function to set channel language name
- * @param RBuf aLanguageName
- */
- void SetLanguageNameL(const RBuf& aLanguageName);
- /**
- *CIRSongHistoryInfo::SetChannelMusicStatusL()
- *Function to set Channel MusicStoreStatus
- *@param RBuf aChannelMusicStatus
- */
- void SetChannelMusicStatusL(RBuf& aChannelMusicStatus) ;
- /**
- *CIRSongHistoryInfo::GetChannelMusicStatus()
- *Function to get channel MusicStoreStatus
- *@return RBuf& instance
- */
- IMPORT_C const RBuf& GetChannelMusicStatus() const ;
-private:
-
- /**
- * Default constructor.
- */
-
- CIRSongHistoryInfo();
-
-
-private: //data
-
- /**
- * The name of the artist.
- */
- RBuf iArtistInfo;
-
- /**
- * The name of the song.
- */
- RBuf iSongInfo;
-
- /**
- * The stream URL.
- */
- RBuf iStreamUrlInfo;
-
- /**
- * Channel Name.
- */
- RBuf iChannelInfo;
-
- /**
- * Channel Type.
- */
- TInt iChannelType;
-
-
- /**
- * Channel Description.
- */
- RBuf iChannelDescription;
- /**
- * Channel Description.
- */
- RBuf iImageUrl;
- RBuf iGenreName;
- RBuf iCountryName;
- RBuf iLanguageName;
- /**
- * Channel Id.
- */
- TInt iChannelId;
-
- /**
- * Channel bitrate.
- */
- TInt iBitrate;
-
- /**
- * Channel's MusicStoreStatus.
- */
- RBuf iMusicStoreStatus;
-
- };
-
-#endif // C_CIRSONGHISTORYINFO_H
--- a/internetradio2.0/irsonghistory/src/irsonghistorydb.cpp Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1293 +0,0 @@
-/*
-* Copyright (c) 2006-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of the songhistory database
-*
-*/
-
-
-/* ---------------------------------------------------------------------------
-* Version history:
-* Template version:
-* <ccm_history>
-*
-*
-* Version: 3, Thu Apr 14 12:00:00 2008 by Rohit
-* Ref:
-* Pc lint fixes
-*
-* Version: 2, Thu Apr 10 20:00:00 2008 by Rohit
-* Ref:
-* Implemented SongHistory changes for channelwise songs
-*
-* </ccm_history>
-* ============================================================================
-*/
-
-#include <bautils.h>
-#include <badesca.h> // CDesCArrayFlat
-#include <s32file.h> // CFileStore & CPermanentFileStore
-#include <bautils.h> // file helpers
-#include <eikenv.h>
-
-#include "irsonghistorydb.h"
-#include "irsonghistoryinfo.h"
-#include "irdebug.h"
-#include "irsettings.h"
-
-
-
-_LIT( KSongHistoryDBTable, "ChannelHistoryTable" );
-_LIT( KSongHistoryDBTable2, "SongHistoryTable" );
-_LIT( KSongHistoryDBSongNameColumn, "SongName" );
-_LIT( KSongHistoryDBArtistNameColumn, "ArtistName" );
-_LIT( KSongHistoryDBChannelNameColumn, "ChannelName" );
-_LIT( KSongHistoryDBChannelUrlColumn, "ChannelUrl" );
-_LIT( KSongHistoryDBChannelTypeColumn, "ChannelType" );
-_LIT( KSongHistoryDBChannelIdColumn, "ChannelId" );
-_LIT( KSongHistoryDBBitrateColumn, "Bitrate" );
-_LIT( KSongHistoryDBChannelDescColumn, "ChannelDescription" );
-_LIT( KSongHistoryDBImageUrlColumn, "ImageUrl" );
-_LIT( KSongHistoryDBGenreNameColumn, "GenreName" );
-_LIT( KSongHistoryDBCountryNameColumn, "CountryName" );
-_LIT( KSongHistoryDBLanguageNameColumn, "LanguageName" );
-_LIT( KSongHistoryDBMusicStatusColumn, "MusicStoreStatus" );
-
-_LIT(KSongHistoryDbFile,"songhistoryDb.db");
-_LIT(KNo , "No") ;
-
-const TInt KMaxSize = 255;
-
-TBool CIRSongHistoryDb::CompareChannelInfos(const CIRChannelInfo& aFirst,
- const CIRChannelInfo& aSecond)
-{
- return ( aFirst.iChannelName == aSecond.iChannelName &&
- aFirst.iChannelUrl == aSecond.iChannelUrl &&
- aFirst.iChannelType == aSecond.iChannelType);
-}
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Function : NewL()
-// two phased construction
-// ---------------------------------------------------------------------------
-//
-CIRSongHistoryDb* CIRSongHistoryDb::NewL()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::NewL" );
- CIRSongHistoryDb* self=CIRSongHistoryDb::NewLC();
- CleanupStack::Pop(self);
- IRLOG_DEBUG( "CIRSongHistoryDb::NewL - Exiting." );
- return self;
-}
-
-
-// ---------------------------------------------------------------------------
-// Function : NewLC()
-// Two phased construction
-// ---------------------------------------------------------------------------
-//
-CIRSongHistoryDb* CIRSongHistoryDb::NewLC()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::NewLC" );
- CIRSongHistoryDb *self=new(ELeave)CIRSongHistoryDb;
- CleanupStack::PushL(self);
- self->ConstructL();
- IRLOG_DEBUG( "CIRSongHistoryDb::NewLC - Exiting." );
- return self;
-}
-
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::~CIRSongHistoryDb()
-// default destructor
-// ---------------------------------------------------------------------------
-//
-CIRSongHistoryDb::~CIRSongHistoryDb()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::~CIRSongHistoryDb" );
-
- CloseSongHistoryDb();
- iFsSession.Close();
- IRLOG_DEBUG( "CIRSongHistoryDb::~CIRSongHistoryDb - Exiting." );
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::CreateDbCondition()
-// Creates both the dbms files conditionally(only if not yet created)
-// calls CreateSongHistoryDb()
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryDb::CreateDbCondition(const TFileName& aSongHistoryDbFile)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateDbCondition" );
-
-
- if( !BaflUtils::FileExists(iFsSession, aSongHistoryDbFile) )
- {
- TInt error = CreateSongHistoryDb(aSongHistoryDbFile);
- if( error )
- {
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateDbCondition - Exiting (1)." );
-
- }
- }
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateDbCondition - Exiting (2)." );
-
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb:AddToSongHistoryDbL()
-// adds the session log entry into data base
-// Returns ETure if songHistory count exceeds 30, else EFalse
-// ---------------------------------------------------------------------------
-//
-TBool CIRSongHistoryDb::AddToSongHistoryDbL(const TDesC& aSongName,
- const TDesC& aArtistName,
- const TDesC& aChannelName,
- const TDesC& aChannelUrl,
- RBuf& aDelSongName,
- RBuf& aDelArtistName,
- RBuf& aDelChannelName,
- RBuf& aDelChannelUrl,
- TInt aChannelType,
- TInt aChannelId,
- TInt aBitrate,
- const TDesC& aChannelDesc,
- const TDesC& aImageUrl,
- const TDesC& aGenreName,
- const TDesC& aCountryName,
- const TDesC& aLanguageName,
- const TDesC& aMusicFlag
- )
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::AddSongHistoryStartL" );
-
- TBool bRetval = EFalse;
- TInt error= 0;
-
- iSongHistoryTable.Reset();
-
- //if song history entries are greater than or equal to 30
- if( iSongHistoryTable.CountL() >= KMaxNoChannelHistoryDbEntries )
- {
- //first row is selected
- iSongHistoryTable.FirstL();
-
- //the current row is selected
- iSongHistoryTable.GetL();
-
- //delete that entry
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- TInt songColumn = columns->ColNo( KSongHistoryDBSongNameColumn );
- TInt artistColumn = columns->ColNo( KSongHistoryDBArtistNameColumn );
- TInt channelColumn = columns->ColNo( KSongHistoryDBChannelNameColumn );
- TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn );
-
- delete columns;
- columns = NULL;
-
- aDelSongName.CreateL(iSongHistoryTable.ColDes( songColumn ));
- aDelArtistName.CreateL(iSongHistoryTable.ColDes( artistColumn ));
- aDelChannelName.CreateL(iSongHistoryTable.ColDes( channelColumn ));
- aDelChannelUrl.CreateL(iSongHistoryTable.ColDes( channelUrlColumn ));
-
- iSongHistoryTable.DeleteL();
- Compact();
-
- bRetval = ETrue;
- }
-
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- CleanupStack::PushL(columns);
-
- const TPtrC &songName = aSongName.Left(KIRDbMaxStrLen);
- const TPtrC &artistName = aArtistName.Left(KIRDbMaxStrLen);
- const TPtrC &channelName = aChannelName.Left(KIRDbMaxStrLen);
- const TPtrC &channelUrl = aChannelUrl.Left(KIRDbMaxStrLen);
- const TPtrC &channelDesc = aChannelDesc.Left(KIRDbMaxStrLen);
- const TPtrC &imageUrl = aImageUrl.Left(KIRDbMaxStrLen);
- const TPtrC &genreName = aGenreName.Left(KIRDbMaxStrLen);
- const TPtrC &countryName = aCountryName.Left(KIRDbMaxStrLen);
- const TPtrC &languageName = aLanguageName.Left(KIRDbMaxStrLen);
-
- TInt songLen = aSongName.Length();
- TInt artistLen = aArtistName.Length();
- if( songLen + artistLen > KMaxSize )
- {
- IRLOG_DEBUG3( "CIRSongHistoryDb::AddSongHistoryStartL - LONG METADATA %d, %d", songLen, artistLen );
- }
-
- TRAP(error,//trap start
-
- iSongHistoryTable.InsertL();
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBSongNameColumn ), songName);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBArtistNameColumn ), artistName);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelNameColumn ), channelName);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelUrlColumn ), channelUrl);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelTypeColumn ), aChannelType);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelIdColumn ), aChannelId);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBBitrateColumn ), aBitrate);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBChannelDescColumn ), channelDesc);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBImageUrlColumn ), imageUrl);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBGenreNameColumn ), genreName);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBCountryNameColumn ), countryName);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBLanguageNameColumn ), languageName);
- iSongHistoryTable.SetColL(columns->ColNo( KSongHistoryDBMusicStatusColumn ), aMusicFlag);
- iSongHistoryTable.PutL();
- );
-
- CleanupStack::PopAndDestroy(columns);
- if( error!=KErrNone )
- {
- User::LeaveIfError(error);
- }
-
- iSongHistoryTable.Reset();
- IRLOG_DEBUG( "CIRSongHistoryDb::AddSongHistoryStartL - Exiting." );
-
- return bRetval;
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb:AddToSongHistoryDb2L()
-// adds the history song into the db
-// Returns ETure if songHistory count exceeds 100, else EFalse
-// ---------------------------------------------------------------------------
-
-TBool CIRSongHistoryDb::AddToSongHistoryDb2L( const TDesC& aSongName,
- const TDesC& aArtistName,
- const TDesC& aChannelName,
- const TDesC& aMusicFlag)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::AddToSongHistoryDb2L" );
-
- TBool bRetval = EFalse;
- TInt error= 0;
- TInt songCompareFlag = 0;
- TInt artistCompareFlag = 0;
-
-
- iSongHistoryTable2.Reset();
-
- CDbColSet* columns = iSongHistoryTable2.ColSetL();
- CleanupStack::PushL(columns);
-
- /* the following is to judge wether the song is already in the db */
- if ( iSongHistoryTable2.CountL() >= 1 )
- {
- TInt songNameColumn = columns->ColNo( KSongHistoryDBSongNameColumn );
- TInt artistNameColumn = columns->ColNo( KSongHistoryDBArtistNameColumn );
-
- for ( iSongHistoryTable2.LastL(); iSongHistoryTable2.AtRow(); iSongHistoryTable2.PreviousL() )
- {
- iSongHistoryTable2.GetL();
- RBuf songName;
- RBuf artistName;
-
- CleanupClosePushL(songName);
- CleanupClosePushL(artistName);
-
- songName.CreateL(iSongHistoryTable2.ColDes( songNameColumn ));
- artistName.CreateL(iSongHistoryTable2.ColDes( artistNameColumn ));
-
- songCompareFlag = (songName).Compare(aSongName);
- artistCompareFlag = (artistName).Compare(aArtistName);
-
- CleanupStack::PopAndDestroy(2);
-
- if( 0 == songCompareFlag && 0 == artistCompareFlag )
- {
- CleanupStack::PopAndDestroy(columns);
- iSongHistoryTable2.Reset();
- return bRetval;
- }
- }
- }
- /* end */
-
- //if song history entries are greater than or equal to 100
- if( iSongHistoryTable2.CountL() >= KMaxNoSongHistoryDbEntries )
- {
- //first row is selected
- iSongHistoryTable2.FirstL();
- //the current row is selected
- iSongHistoryTable2.GetL();
- //delete the current row
- iSongHistoryTable2.DeleteL();
- Compact();
- bRetval = ETrue;
- }
-
- const TPtrC &songName = aSongName.Left(KIRDbMaxStrLen);
- const TPtrC &artistName = aArtistName.Left(KIRDbMaxStrLen);
- const TPtrC &channelName = aChannelName.Left(KIRDbMaxStrLen);
- const TPtrC &musicFlag = aMusicFlag.Left(KIRDbMaxStrLen);
-
-
- TInt songLen = aSongName.Length();
- TInt artistLen = aArtistName.Length();
- if( songLen + artistLen > KMaxSize || aChannelName.Length() > KMaxSize)
- {
- IRLOG_DEBUG3( "CIRSongHistoryDb::AddToSongHistoryDb2L - too long song info: %d or channel info: %d", songLen+artistLen, aChannelName.Length() );
- }
-
- TRAP(error,//trap start
-
- iSongHistoryTable2.InsertL();
- iSongHistoryTable2.SetColL(columns->ColNo( KSongHistoryDBSongNameColumn ), songName);
- iSongHistoryTable2.SetColL(columns->ColNo( KSongHistoryDBArtistNameColumn ), artistName);
- iSongHistoryTable2.SetColL(columns->ColNo( KSongHistoryDBChannelNameColumn ), channelName);
- iSongHistoryTable2.SetColL(columns->ColNo( KSongHistoryDBMusicStatusColumn ), musicFlag);
- iSongHistoryTable2.PutL();
- );
-
- CleanupStack::PopAndDestroy(columns);
- if( error!=KErrNone )
- {
- User::LeaveIfError(error);
- }
-
- iSongHistoryTable2.Reset();
- IRLOG_DEBUG( "CIRSongHistoryDb::AddSongHistoryStartL - Exiting." );
-
- return bRetval;
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::GetAllSongHistoryListL()
-// gets all the song history entries into an array
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryDb::GetAllSongHistoryListL(RPointerArray<CIRSongHistoryInfo>& aHistoryDataArr)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::GetAllSongHistoryListL" );
-
- if(iSongHistoryTable.CountL() < 1)
- {
- return;
- }
-
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- TInt songColumn = columns->ColNo( KSongHistoryDBSongNameColumn );
- TInt artistColumn = columns->ColNo( KSongHistoryDBArtistNameColumn );
- TInt channelColumn = columns->ColNo( KSongHistoryDBChannelNameColumn );
- TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn );
- TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn );
- TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn );
- TInt bitrateColumn = columns->ColNo( KSongHistoryDBBitrateColumn );
- TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn );
- TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn );
- TInt genreNameColumn = columns->ColNo( KSongHistoryDBGenreNameColumn );
- TInt countryNameColumn = columns->ColNo( KSongHistoryDBCountryNameColumn );
- TInt languageNameColumn = columns->ColNo( KSongHistoryDBLanguageNameColumn );
- TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn );
-
- delete columns;
- columns = NULL;
-
- TInt song = 0;
-
-
- for ( iSongHistoryTable.LastL(); iSongHistoryTable.AtRow(); iSongHistoryTable.PreviousL() )
- {
- iSongHistoryTable.GetL();
-
- RBuf songName;
- RBuf artistName;
- RBuf channelName;
- RBuf channelUrl;
- TInt channelType;
- TInt channelId;
- TInt bitrate;
- RBuf channelDesc;
- RBuf imageUrl;
- RBuf genreName;
- RBuf countryName;
- RBuf languageName;
- RBuf channelMusicStatus;
-
- songName.CreateL(iSongHistoryTable.ColDes( songColumn ));
- songName.CleanupClosePushL();
-
- artistName.CreateL(iSongHistoryTable.ColDes( artistColumn ));
- artistName.CleanupClosePushL();
-
- channelName.CreateL(iSongHistoryTable.ColDes( channelColumn ));
- channelName.CleanupClosePushL();
-
- channelUrl.CreateL(iSongHistoryTable.ColDes( channelUrlColumn ));
- channelUrl.CleanupClosePushL();
-
- channelType=iSongHistoryTable.ColUint8( channelTypeColumn );
-
- channelId=iSongHistoryTable.ColUint16( channelIdColumn );
-
- bitrate=iSongHistoryTable.ColUint16( bitrateColumn );
-
- channelDesc.CreateL(iSongHistoryTable.ColDes( channelDescColumn ));
- channelDesc.CleanupClosePushL();
-
- imageUrl.CreateL(iSongHistoryTable.ColDes( imageUrlColumn ));
- imageUrl.CleanupClosePushL();
-
- genreName.CreateL(iSongHistoryTable.ColDes( genreNameColumn ));
- genreName.CleanupClosePushL();
-
- countryName.CreateL(iSongHistoryTable.ColDes( countryNameColumn ));
- countryName.CleanupClosePushL();
-
- languageName.CreateL(iSongHistoryTable.ColDes( languageNameColumn ));
- languageName.CleanupClosePushL();
-
- channelMusicStatus.CreateL(iSongHistoryTable.ColDes( musicStatusColumn ));
- channelMusicStatus.CleanupClosePushL();
-
- aHistoryDataArr[song]->SetHistoryInfoL(songName, artistName, channelUrl,
- channelName,channelType,channelId,bitrate,channelDesc ,
- imageUrl, genreName, countryName, languageName, channelMusicStatus);
- ++song;
- CleanupStack::PopAndDestroy(&channelMusicStatus);
- CleanupStack::PopAndDestroy(&languageName);
- CleanupStack::PopAndDestroy(&countryName);
- CleanupStack::PopAndDestroy(&genreName);
- CleanupStack::PopAndDestroy(&imageUrl);
- CleanupStack::PopAndDestroy(&channelDesc);
- CleanupStack::PopAndDestroy(&channelUrl);
- CleanupStack::PopAndDestroy(&channelName);
- CleanupStack::PopAndDestroy(&artistName);
- CleanupStack::PopAndDestroy(&songName);
- }
-
-
- IRLOG_DEBUG( "CIRSongHistoryDb::GetAllSongHistoryListL - Exiting." );
-}
-
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::GetAllSongHistoryList2L()
-// gets all the song history entries into an array
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryDb::GetAllSongHistoryList2L(RPointerArray<CIRSongHistoryInfo>& aSongEntries)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::GetAllSongHistoryList2L" );
-
- if(iSongHistoryTable2.CountL() < 1)
- {
- return;
- }
-
- CDbColSet* columns = iSongHistoryTable2.ColSetL();
- TInt songColumn = columns->ColNo( KSongHistoryDBSongNameColumn );
- TInt artistColumn = columns->ColNo( KSongHistoryDBArtistNameColumn );
- TInt channelNameColumn = columns->ColNo( KSongHistoryDBChannelNameColumn );
- TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn );
-
- delete columns;
- columns = NULL;
-
- TInt song = 0;
-
- for ( iSongHistoryTable2.LastL(); iSongHistoryTable2.AtRow(); iSongHistoryTable2.PreviousL() )
- {
- iSongHistoryTable2.GetL();
-
- RBuf songName;
- RBuf artistInfo, channelName;
- RBuf musicStatus;
-
- CleanupClosePushL(songName);
- CleanupClosePushL(artistInfo);
- CleanupClosePushL(channelName);
- CleanupClosePushL(musicStatus);
-
- songName.CreateL(iSongHistoryTable2.ColDes( songColumn ));
- artistInfo.CreateL(iSongHistoryTable2.ColDes( artistColumn ));
- channelName.CreateL(iSongHistoryTable2.ColDes( channelNameColumn ));
- musicStatus.CreateL(iSongHistoryTable2.ColDes(musicStatusColumn));
-
- aSongEntries[song]->SetSongNameL(songName);
- aSongEntries[song]->SetArtistL(artistInfo);
- aSongEntries[song]->SetChannelNameL(channelName);
- aSongEntries[song]->SetChannelMusicStatusL(musicStatus);
- ++song;
-
- CleanupStack::PopAndDestroy(4);
- }
-
- IRLOG_DEBUG( "CIRSongHistoryDb::GetAllSongHistoryListL - Exiting." );
-}
-
-// ---------------------------------------------------------------------------
-// Function : ClearAllSongHistoryFromDb
-// delete all the entries from the database.
-// ---------------------------------------------------------------------------
-//
-TInt CIRSongHistoryDb::ClearAllSongHistoryFromDb(/*RPointerArray<CIRSongHistoryInfo>& aSongHistoryInfoArr*/)
-{
-
- TInt error = KErrNone;
-
- IRLOG_DEBUG( "CIRSongHistoryDb::ClearAllSongHistoryFromDb - Entering" );
- TRAP(error, iSongHistoryTable.FirstL());
- if(error != KErrNone)
- {
- return error;
- }
-
- while (iSongHistoryTable.AtRow())
- {
- TRAPD(error,
- iSongHistoryTable.GetL();
- iSongHistoryTable.DeleteL();
- iSongHistoryTable.NextL(););
- if(error)
- {
- Compact();
- return error;
- }
- }
-
- Compact();
- IRLOG_DEBUG( "CIRSongHistoryDb::ClearAllSongHistoryFromDb - Exiting." );
- return KErrNone;
-
-}
-
-TInt CIRSongHistoryDb::DeleteOneHistory(TInt aIndex)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneHistory - Entering" );
-
- TInt retValue = 0;
- TRAPD(error,(retValue = DeleteOneHistoryL(aIndex)));
-
- if( KErrNone != error )
- {
- return error;
- }
-
- if( KErrNone != retValue)
- {
- return retValue;
- }
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneHistory - exiting" );
- return KErrNone;
-}
-
-TInt CIRSongHistoryDb::DeleteOneHistoryL(TInt aIndex)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneHistoryL - Entering" );
- TInt totalCount = iSongHistoryTable.CountL();
- if (aIndex < 0 || aIndex >= totalCount)
- {
- return KErrArgument;
- }
-
- iSongHistoryTable.LastL();
- TInt tempIndex = 0;
- while (tempIndex < aIndex)
- {
- TRAPD(error,iSongHistoryTable.PreviousL());
- if (KErrNone != error)
- {
- Compact();
- return error;
- }
- tempIndex++;
- }
-
- iSongHistoryTable.GetL();
- iSongHistoryTable.DeleteL();
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneHistoryL - exiting" );
- return KErrNone;
-}
-
-TInt CIRSongHistoryDb::DeleteOneSongHistory(TInt aIndex)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistory - Entering" );
-
- TInt retValue = 0;
- TRAPD(error,(retValue = DeleteOneSongHistoryL(aIndex)));
-
- if( KErrNone != error )
- {
- return error;
- }
-
- if( KErrNone != retValue)
- {
- return retValue;
- }
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistory - exiting" );
- return KErrNone;
-}
-
-TInt CIRSongHistoryDb::DeleteOneSongHistoryL(TInt aIndex)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistoryL - Entering" );
- TInt totalCount = iSongHistoryTable2.CountL();
- if (aIndex < 0 || aIndex >= totalCount)
- {
- return KErrArgument;
- }
-
- iSongHistoryTable2.LastL();
- TInt tempIndex = 0;
- while (tempIndex < aIndex)
- {
- TRAPD(error,iSongHistoryTable2.PreviousL());
- if (KErrNone != error)
- {
- Compact();
- return error;
- }
- tempIndex++;
- }
-
- iSongHistoryTable2.GetL();
- iSongHistoryTable2.DeleteL();
- IRLOG_DEBUG( "CIRSongHistoryDb::DeleteOneSongHistoryL - exiting" );
- return KErrNone;
-}
-
-// ---------------------------------------------------------------------------
-// Function : ClearAllSongHistoryFromDb2
-// delete all the entries from the database.
-// ---------------------------------------------------------------------------
-//
-TInt CIRSongHistoryDb::ClearAllSongHistoryFromDb2()
-{
-
- TInt error = KErrNone;
-
- IRLOG_DEBUG( "CIRSongHistoryDb::ClearAllSongHistoryFromDb2 - Entering" );
- TRAP(error, iSongHistoryTable2.FirstL());
- if(error != KErrNone)
- {
- return error;
- }
-
- while (iSongHistoryTable2.AtRow())
- {
- TRAPD(error,
- iSongHistoryTable2.GetL();
- iSongHistoryTable2.DeleteL();
- iSongHistoryTable2.NextL(););
- if(error)
- {
- Compact();
- return error;
- }
-
- }
- Compact();
- IRLOG_DEBUG( "CIRSongHistoryDb::ClearAllSongHistoryFromDb - Exiting." );
- return KErrNone;
-
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::ConstructL()
-// Standard 2nd phase construction
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryDb::ConstructL()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::ConstructL" );
- User::LeaveIfError(iFsSession.Connect());
-
- CIRSettings* settings = CIRSettings::OpenL();
-
- TFileName songHistoryDbFile = settings->PrivatePath();
- songHistoryDbFile.Append(KSongHistoryDbFile);
-
- CreateDbCondition(songHistoryDbFile);
- OpenSongHistoryDbL(songHistoryDbFile);
-
- settings->Close();
-
- IRLOG_DEBUG( "CIRSongHistoryDb::ConstructL- Exiting." );
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::CloseSongHistoryDb()
-// Closes the database
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryDb::CloseSongHistoryDb()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::CloseSongHistoryDb" );
- iSongHistoryTable.Close();
- iSongHistoryTable2.Close();
- Close();
- IRLOG_DEBUG( "CIRSongHistoryDb::CloseSongHistoryDb - Exiting." );
-}
-
-
-/**
-* Function : CreateSongHistoryTablesL()
-* creates songhistory table with three columns
-* log data
-* ---------------------------------------------------------------------------
-* SongHistoryTable
-*---------------------------
-*| SongName | ArtistName | ChannelName | ChannelUrl | ChannelType | ChannelId | Bitrate | ChannelDesc | ImageUrl | GenreName | CountryName | LanguageName | MusicStatus
-*---------------------------
-*|EDbColText| EDbColText | EDbColText | EDbColText | EDbColUint8 | EDbColUint16 | EDbColUint16 | EDbColText | EDbColText | EDbColText | EDbColText | EDbColText | EDbColText
-*----------------------------------------------------------------------------
-*/
-void CIRSongHistoryDb::CreateSongHistoryTablesL()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryTablesL" );
- CDbColSet* columns = CDbColSet::NewLC();
-
- TRAPD( error,
- columns->AddL( TDbCol( KSongHistoryDBSongNameColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBArtistNameColumn, EDbColText, KMaxColumnLength) );
- columns->AddL( TDbCol( KSongHistoryDBChannelNameColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBChannelUrlColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBChannelTypeColumn, EDbColUint8 ) );
- columns->AddL( TDbCol( KSongHistoryDBChannelIdColumn, EDbColUint16 ) );
- columns->AddL( TDbCol( KSongHistoryDBBitrateColumn, EDbColUint16 ) );
- columns->AddL( TDbCol( KSongHistoryDBChannelDescColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBImageUrlColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBGenreNameColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBCountryNameColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBLanguageNameColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBMusicStatusColumn, EDbColText, KMaxColumnLength ) );
- );
- User::LeaveIfError( error );
-
- User::LeaveIfError( CreateTable( KSongHistoryDBTable, *columns ) );
-
- CleanupStack::PopAndDestroy( columns );
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryTablesL - Exiting." );
-}
-
-/**
-* Function : CreateSongHistoryTables2L()
-* creates songhistory table with three columns
-* log data
-* ---------------------------------------------------------------------------
-* SongHistoryTable
-*---------------------------
-*| SongName | ArtistName | ChannelName | MusicStatusFlag
-*---------------------------
-*|EDbColText| EDbColText | EDbColText | EDbColText
-*----------------------------------------------------------------------------
-*/
-void CIRSongHistoryDb::CreateSongHistoryTables2L()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryTablesL" );
- CDbColSet* columns = CDbColSet::NewLC();
-
- TRAPD( error,
- columns->AddL( TDbCol( KSongHistoryDBSongNameColumn, EDbColText, KMaxColumnLength ) );
- columns->AddL( TDbCol( KSongHistoryDBArtistNameColumn, EDbColText, KMaxColumnLength) );
- columns->AddL( TDbCol( KSongHistoryDBChannelNameColumn, EDbColText, KMaxColumnLength) );
- columns->AddL( TDbCol( KSongHistoryDBMusicStatusColumn, EDbColText, KMaxColumnLength ) );
- );
- User::LeaveIfError( error );
-
- User::LeaveIfError( CreateTable( KSongHistoryDBTable2, *columns ) );
-
- CleanupStack::PopAndDestroy( columns );
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryTablesL - Exiting." );
-}
-
-
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::OpenSongHistoryDbL()
-// opening the data base
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryDb::OpenSongHistoryDbL(const TFileName& aSongHistoryDbFile)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::OpenSongHistoryDbL" );
- CloseSongHistoryDb(); //Ensure that the database is closed before trying to open it.
-
-
- TInt error = KErrNone;
-
- error = Open(iFsSession,aSongHistoryDbFile);
- if( error!=KErrNone )
- {
- //if database is failed to open then
- //function leaves
- IRLOG_ERROR2( "CIRSongHistoryDb::OpenSongHistoryDbL - Opening session database failed (%d)", error );
- User::LeaveIfError(error);
- }
- if( IsDamaged() || !InTransaction() )
- {
- //if data base is damaged then
- //it tried to recover
- //if recovery is not possible function leaves
- error = Recover();
- if ( KErrNone == error)
- {
- //if recovered data base is compacted
- error = Compact();
- }
- User::LeaveIfError(error);
- }
-
- //open the table
- error = iSongHistoryTable.Open(*this, KSongHistoryDBTable, iSongHistoryTable.EUpdatable);
- if( error )
- {
- User::LeaveIfError(error);
- }
-
- error = iSongHistoryTable2.Open(*this, KSongHistoryDBTable2, iSongHistoryTable2.EUpdatable);
- if( error )
- {
- iSongHistoryTable.Close();
- User::LeaveIfError(error);
- }
-
- IRLOG_DEBUG( "CIRSongHistoryDb::OpenSongHistoryDbL - Exiting." );
-}
-
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::CreateSongHistoryDb()
-// @database filename
-// ---------------------------------------------------------------------------
-//
-TInt CIRSongHistoryDb::CreateSongHistoryDb(const TFileName& aSongHistoryDbFile )
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryDb" );
-
-
- TInt error = Replace(iFsSession,aSongHistoryDbFile);
- if ( error != KErrNone )
- {
- IRLOG_ERROR2( "CIRSongHistoryDb::CreateSongHistoryDb - Creating history database failed (%d)", error );
- return error;
- }
-
- TRAPD(err1,CreateSongHistoryTablesL());
- if(err1)
- {
- return err1;
- }
-
- //if error, no handling
- TRAPD(err2, CreateSongHistoryTables2L());
- if( err2 )
- {
- return err2;
- }
- IRLOG_DEBUG( "CIRSongHistoryDb::CreateSongHistoryDb - Exiting." );
- return KErrNone;
-}
-
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::CountSongHistoryDb()
-// count the database entries
-// ---------------------------------------------------------------------------
-//
-
-TInt CIRSongHistoryDb::CountSongHistoryDb()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::CountSongHistoryDb" );
- TInt historyCount = 0;
- iSongHistoryTable.Reset();
- TRAPD(error,historyCount= iSongHistoryTable.CountL());
- if(error)
- {
-
- }
- IRLOG_DEBUG( "CIRSongHistoryDb::CountSongHistoryDb - Exiting." );
- return historyCount;
-
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::CountSongHistoryDb2()
-// count the database entries
-// ---------------------------------------------------------------------------
-//
-TInt CIRSongHistoryDb::CountSongHistoryDb2()
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::CountSongHistoryDb" );
- TInt historyCount = 0;
- iSongHistoryTable2.Reset();
- TRAPD(error,historyCount= iSongHistoryTable2.CountL());
- if(error)
- {
- historyCount = -1;
- }
- IRLOG_DEBUG( "CIRSongHistoryDb::CountSongHistoryDb - Exiting." );
- return historyCount;
-}
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::GetLastHistoryItemL()
-// Gets the last song history item
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryDb::GetLastHistoryItemL(RBuf& aSongName, RBuf& aArtistName,
- RBuf& aChannelName, RBuf& aChannelUrl)
-{
- if( iSongHistoryTable.IsEmptyL() || iSongHistoryTable.LastL() == EFalse)
- {
- return;
- }
-
- iSongHistoryTable.GetL();
-
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- TInt songColumn = columns->ColNo( KSongHistoryDBSongNameColumn );
- TInt artistColumn = columns->ColNo( KSongHistoryDBArtistNameColumn );
- TInt channelColumn = columns->ColNo( KSongHistoryDBChannelNameColumn );
- TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn );
-
- delete columns;
- columns = NULL;
-
- aSongName.CreateL(iSongHistoryTable.ColDes( songColumn ));
- aArtistName.CreateL(iSongHistoryTable.ColDes( artistColumn ));
- aChannelName.CreateL(iSongHistoryTable.ColDes( channelColumn ));
- aChannelUrl.CreateL(iSongHistoryTable.ColDes( channelUrlColumn ));
-
-
- iSongHistoryTable.Reset();
-}
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::GetChannelSongsCountL()
-// Gets the channel's song count.
-// ---------------------------------------------------------------------------
-//
-
-TUint CIRSongHistoryDb::GetChannelSongsCountL( const RBuf& aChannelName, const RBuf& aChannelUrl )
-{
- _LIT( strQuery, "Select SongName from SongHistoryTable where ChannelName='%S' AND ChannelUrl='%S'");
-
- TBuf<KMaxSize> bufQuery;
- bufQuery.Format( strQuery, &aChannelName, &aChannelUrl );
-
- TDbQuery querySearchChannel( bufQuery );
- RDbView dbView;
-
- TInt error = dbView.Prepare( *this, querySearchChannel );
- User::LeaveIfError(error);
-
- error = dbView.Evaluate(); // 0, evaluation is complete
- User::LeaveIfError(error);
-
- TInt cRows = dbView.CountL();
-
- dbView.Close();
-
- return cRows;
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::SyncSongHistoryDb()
-// Synchronises the History DB with removed channel entry in the ISDS
-// ---------------------------------------------------------------------------
-//
-
-void CIRSongHistoryDb::SyncSongHistoryDbL(TInt aChannelId)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::SyncSongHistoryDbL" );
-
-
- if(iSongHistoryTable.CountL() < 1)
- {
- return;
- }
-
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- TInt songColumn = columns->ColNo( KSongHistoryDBSongNameColumn );
- TInt artistColumn = columns->ColNo( KSongHistoryDBArtistNameColumn );
- TInt channelColumn = columns->ColNo( KSongHistoryDBChannelNameColumn );
- TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn );
- TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn );
- TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn );
- TInt bitrateColumn = columns->ColNo( KSongHistoryDBBitrateColumn );
- TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn );
- TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn );
- TInt genreNameColumn = columns->ColNo( KSongHistoryDBGenreNameColumn );
- TInt countryNameColumn = columns->ColNo( KSongHistoryDBCountryNameColumn );
- TInt languageNameColumn = columns->ColNo( KSongHistoryDBLanguageNameColumn );
- TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn );
-
- delete columns;
- columns = NULL;
-
- // Find out the channel to be changed
- for ( iSongHistoryTable.LastL(); iSongHistoryTable.AtRow(); iSongHistoryTable.PreviousL() )
- {
- iSongHistoryTable.GetL();
- // Extracting the values from the database.
- TInt channelId;
- RBuf imageUrl, genreName, countryName, languageName;
- RBuf channelMusicStatus;
-
- CleanupClosePushL(imageUrl);
- CleanupClosePushL(genreName);
- CleanupClosePushL(countryName);
- CleanupClosePushL(languageName);
- CleanupClosePushL(channelMusicStatus);
-
- channelId=iSongHistoryTable.ColUint16( channelIdColumn );
- imageUrl.CreateL(iSongHistoryTable.ColDes( imageUrlColumn ));
- genreName.CreateL(iSongHistoryTable.ColDes( genreNameColumn ));
- countryName.CreateL(iSongHistoryTable.ColDes( countryNameColumn ));
- languageName.CreateL(iSongHistoryTable.ColDes( languageNameColumn ));
- channelMusicStatus.CreateL(iSongHistoryTable.ColDes( musicStatusColumn ));
-
-
- if(aChannelId == channelId)
- {
- iSongHistoryTable.UpdateL();
- iSongHistoryTable.SetColL(channelTypeColumn, 0);
- iSongHistoryTable.SetColL(channelIdColumn, 0);
- iSongHistoryTable.SetColL(imageUrlColumn, KNo);
- iSongHistoryTable.SetColL(genreNameColumn, KNo);
- iSongHistoryTable.SetColL(countryNameColumn, KNo);
- iSongHistoryTable.SetColL(languageNameColumn, KNo);
- iSongHistoryTable.SetColL(musicStatusColumn, KNo);
- iSongHistoryTable.PutL();
- }
- CleanupStack::PopAndDestroy(5);
- }
- iSongHistoryTable.Reset();
-
- IRLOG_DEBUG( "CIRSongHistoryDb::SyncSongHistoryDbL - Exiting." );
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::GetIdPresentInDb()
-// Gets whether that particular channel id is present in Db or not.
-// ---------------------------------------------------------------------------
-//
-
-TBool CIRSongHistoryDb::GetIdPresentInDbL(TInt aChannelId)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::GetIdPresentInDbL" );
-
- TBool value = EFalse;
-
- if(iSongHistoryTable.CountL() < 1)
- {
- return value;
- }
-
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn );
-
- delete columns;
- columns = NULL;
-
- // Find out the channel to be changed
- for ( iSongHistoryTable.LastL(); iSongHistoryTable.AtRow(); iSongHistoryTable.PreviousL() )
- {
- iSongHistoryTable.GetL();
- TInt channelId;
-
- channelId=iSongHistoryTable.ColUint16( channelIdColumn );
- if(aChannelId == channelId)
- {
- value = ETrue;
- }
-
- }
-
- iSongHistoryTable.Reset();
-
- IRLOG_DEBUG( "CIRSongHistoryDb::GetIdPresentInDbL - Exiting." );
- return value ;
-}
-
-
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryDb::UpdateSongHistoryDb()
-// Updates the song history DB when there is a channel change in the isds.
-// ---------------------------------------------------------------------------
-//
-
-TInt CIRSongHistoryDb::UpdateSongHistoryDbL( TInt aChannelId,
- const TDesC& aChannelUrl,
- const TDesC& aImageUrl,
- const TDesC& aGenreName,
- const TDesC& aCountryName,
- const TDesC& aLanguageName,
- const TDesC& aMusicFlag)
-{
- IRLOG_DEBUG( "CIRSongHistoryDb::UpdateSongHistoryDbL" );
-
- TBool channelChanged = EFalse ;
- TInt compFlagUrl ;
- TInt compFlagImageUrl, compFlagGenreName, compFlagCountryName, compFlagLanguageName;
- TInt compFlagMusic ;
- TInt compUrlChange ;
-
- if(iSongHistoryTable.CountL() < 1)
- {
- return EFalse;
- }
-
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn );
- TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn );
- TInt channelIdColumn = columns->ColNo( KSongHistoryDBChannelIdColumn );
- TInt channelDescColumn = columns->ColNo( KSongHistoryDBChannelDescColumn );
- TInt imageUrlColumn = columns->ColNo( KSongHistoryDBImageUrlColumn );
- TInt genreNameColumn = columns->ColNo( KSongHistoryDBGenreNameColumn );
- TInt countryNameColumn = columns->ColNo( KSongHistoryDBCountryNameColumn );
- TInt languageNameColumn = columns->ColNo( KSongHistoryDBLanguageNameColumn );
- TInt musicStatusColumn = columns->ColNo( KSongHistoryDBMusicStatusColumn );
-
- delete columns;
- columns = NULL;
-
- // Find out the channel to be changed
-
- for ( iSongHistoryTable.LastL(); iSongHistoryTable.AtRow(); iSongHistoryTable.PreviousL() )
- {
- iSongHistoryTable.GetL();
- // Extracting the values from the database.
- RBuf channelUrl;
- RBuf imageUrl, genreName, countryName, languageName;
- TInt channelId;
- RBuf channelMusicStatus;
-
- CleanupClosePushL(channelUrl);
- CleanupClosePushL(imageUrl);
- CleanupClosePushL(genreName);
- CleanupClosePushL(countryName);
- CleanupClosePushL(languageName);
- CleanupClosePushL(channelMusicStatus);
-
- channelUrl.CreateL(iSongHistoryTable.ColDes( channelUrlColumn ));
- imageUrl.CreateL(iSongHistoryTable.ColDes( imageUrlColumn ));
- genreName.CreateL(iSongHistoryTable.ColDes( genreNameColumn ));
- countryName.CreateL(iSongHistoryTable.ColDes( countryNameColumn ));
- languageName.CreateL(iSongHistoryTable.ColDes( languageNameColumn ));
-
- channelId=iSongHistoryTable.ColUint16( channelIdColumn );
-
- channelMusicStatus.CreateL(iSongHistoryTable.ColDes( musicStatusColumn ));
-
- if(aChannelId == channelId)
- {
- compFlagUrl = (channelUrl).Compare(aChannelUrl);
- compFlagImageUrl = (imageUrl).Compare(aImageUrl);
- compFlagGenreName = (genreName).Compare(aGenreName);
- compFlagCountryName = (countryName).Compare(aCountryName);
- compFlagLanguageName = (languageName).Compare(aLanguageName);
- compFlagMusic = (channelMusicStatus).Compare(aMusicFlag);
- compUrlChange = (aChannelUrl).Compare(KNo);
-
- if(compFlagUrl && compUrlChange)
- {
- iSongHistoryTable.UpdateL();
- iSongHistoryTable.SetColL(channelUrlColumn, aChannelUrl);
- iSongHistoryTable.PutL();
- channelChanged = ETrue ;
- }
- if(compFlagImageUrl)
- {
- iSongHistoryTable.UpdateL();
- iSongHistoryTable.SetColL(imageUrlColumn, aImageUrl);
- iSongHistoryTable.PutL();
- channelChanged = ETrue ;
- }
- if(compFlagGenreName)
- {
- iSongHistoryTable.UpdateL();
- iSongHistoryTable.SetColL(genreNameColumn, aGenreName);
- iSongHistoryTable.PutL();
- channelChanged = ETrue ;
- }
- if(compFlagCountryName)
- {
- iSongHistoryTable.UpdateL();
- iSongHistoryTable.SetColL(countryNameColumn, aCountryName);
- iSongHistoryTable.PutL();
- channelChanged = ETrue ;
- }
- if(compFlagLanguageName)
- {
- iSongHistoryTable.UpdateL();
- iSongHistoryTable.SetColL(languageNameColumn, aLanguageName);
- iSongHistoryTable.PutL();
- channelChanged = ETrue ;
- }
- if(compFlagMusic)
- {
- iSongHistoryTable.UpdateL();
- iSongHistoryTable.SetColL(musicStatusColumn, aMusicFlag);
- iSongHistoryTable.PutL();
- channelChanged = ETrue ;
- }
-
- }
- CleanupStack::PopAndDestroy(6);
- }
- iSongHistoryTable.Reset();
- IRLOG_DEBUG( "CIRSongHistoryDb::UpdateSongHistoryDbL - Exiting." );
- return channelChanged;
-}
-
-void CIRSongHistoryDb::SearchAndDeleteRecordL(const TDesC& aChannelName, const TDesC& aChannelUrl,
- TInt aChannelType, TInt aPresetId)
-{
- CDbColSet* columns = iSongHistoryTable.ColSetL();
- TInt channelNameColumn = columns->ColNo( KSongHistoryDBChannelNameColumn );
- TInt channelUrlColumn = columns->ColNo( KSongHistoryDBChannelUrlColumn );
- TInt channelTypeColumn = columns->ColNo( KSongHistoryDBChannelTypeColumn );
- TInt channelIdColumn = columns->ColNo(KSongHistoryDBChannelIdColumn);
-
- delete columns;
- columns = NULL;
-
- for (iSongHistoryTable.LastL(); iSongHistoryTable.AtRow(); iSongHistoryTable.PreviousL())
- {
- iSongHistoryTable.GetL();
- TPtrC channelName = iSongHistoryTable.ColDes(channelNameColumn);
- TPtrC channelUrl = iSongHistoryTable.ColDes(channelUrlColumn);
- TInt channelType = iSongHistoryTable.ColInt(channelTypeColumn);
- TInt channelId = iSongHistoryTable.ColInt(channelIdColumn);
-
- if (0 == aChannelType)
- {
- //user-defined channel
- if (aChannelName == channelName && aChannelUrl == channelUrl)
- {
- iSongHistoryTable.DeleteL();
- break;
- }
- }
- else
- {
- //channel from ISDS server
- if (aChannelName == channelName && aPresetId == channelId)
- {
- iSongHistoryTable.DeleteL();
- break;
- }
- }
- }
-
- iSongHistoryTable.Reset();
-}
--- a/internetradio2.0/irsonghistory/src/irsonghistoryinfo.cpp Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,367 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: class for the songhistory information.
-*
-*/
-
-#include "irsonghistoryinfo.h"
-
-// ---------------------------------------------------------------------------
-// Function : NewL
-// Function returns an instance of CIRSongHistoryInfo
-// Two phase constructor
-// ---------------------------------------------------------------------------
-//
- EXPORT_C CIRSongHistoryInfo * CIRSongHistoryInfo::NewL()
- {
- CIRSongHistoryInfo* self = CIRSongHistoryInfo :: NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-//CIRLastPlayedSongs::NewLC()
-//Static function
-//standard two phased constructor
-// ---------------------------------------------------------------------------
-//
- EXPORT_C CIRSongHistoryInfo * CIRSongHistoryInfo::NewLC()
- {
- CIRSongHistoryInfo* self = new( ELeave ) CIRSongHistoryInfo();
- CleanupStack::PushL( self );
- return self;
- }
-// ---------------------------------------------------------------------------
-//CIRSongHistoryInfo::~CIRSongHistoryInfo()
-//standard C++ destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CIRSongHistoryInfo::~CIRSongHistoryInfo()
- {
- iArtistInfo.Close();
-
- iSongInfo.Close();
-
- iStreamUrlInfo.Close();
-
- iChannelInfo.Close();
-
- iChannelDescription.Close();
-
- iImageUrl.Close();
- iGenreName.Close();
- iCountryName.Close();
- iLanguageName.Close();
-
- iMusicStoreStatus.Close();
-
- }
-
-// ---------------------------------------------------------------------------
-//CIRSongHistoryInfo::~CIRSongHistoryInfo()
-//standard C++ constructor
-// ---------------------------------------------------------------------------
-//
-CIRSongHistoryInfo::CIRSongHistoryInfo()
- {
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetArtistL
-// Sets Artist name
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetArtistL(RBuf& aArtist)
- {
- iArtistInfo.CreateL(aArtist);
- }
-
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetSongNameL
-// Sets Song name
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetSongNameL (RBuf& aSongName)
- {
- iSongInfo.CreateL(aSongName);
- }
-
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetStreamUrlL
-// Sets Stream url name
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetStreamUrlL(RBuf& aStreamUrl)
- {
- iStreamUrlInfo.CreateL(aStreamUrl);
- }
-
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetChannelNameL
-// Sets Channel name
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetChannelNameL(RBuf& aChannelName)
- {
- iChannelInfo.CreateL(aChannelName);
- }
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetChannelDescL
-// Sets Channel name
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetChannelDescL(RBuf& aChannelDesc)
- {
- iChannelDescription.CreateL(aChannelDesc);
- }
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetImageUrlL
-// Sets Channel image Url
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetImageUrlL(RBuf& aImageUrl)
- {
- iImageUrl.CreateL(aImageUrl);
- }
-
- // ---------------------------------------------------------------------------
- // CIRSongHistoryInfo::SetGenreNameL
- // Set channel genre name
- // ---------------------------------------------------------------------------
- //
-void CIRSongHistoryInfo::SetGenreNameL(const RBuf& aGenreName)
-{
- iGenreName.CreateL(aGenreName);
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetCountryNameL
-// Set channel country name
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryInfo::SetCountryNameL(const RBuf& aCountryName)
-{
- iCountryName.CreateL(aCountryName);
-}
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetLanguageNameL
-// Set channel language name
-// ---------------------------------------------------------------------------
-//
-void CIRSongHistoryInfo::SetLanguageNameL(const RBuf& aLanguageName)
-{
- iLanguageName.CreateL(aLanguageName);
-}
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetChannelMusicStatusL
-// Sets Channel's MusicStoreStatus
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetChannelMusicStatusL(RBuf& aChannelMusicStatus)
- {
- iMusicStoreStatus.CreateL(aChannelMusicStatus);
- }
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetChannelType
-// Sets Channel TYpe
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetChannelType(TInt aChannelType)
- {
- iChannelType=aChannelType;
- }
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetChannelId
-// Sets Channel Id
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetChannelId(TInt aChannelId)
- {
- iChannelId=aChannelId;
- }
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetBitrate
-// Sets bitrate
-// ---------------------------------------------------------------------------
-//
- void CIRSongHistoryInfo::SetBitrate(TInt aBitrate)
- {
- iBitrate=aBitrate;
- }
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::SetHistoryInfo
-// Sets Song History Information.
-// ---------------------------------------------------------------------------
-//
-
- EXPORT_C void CIRSongHistoryInfo::SetHistoryInfoL(RBuf& aSongName,
- RBuf& aArtist,
- RBuf& aStreamUrl,
- RBuf& aChannelName ,
- TInt aChannelType,
- TInt aChannelId,
- TInt aBitrate,
- RBuf& aChannelDesc,
- RBuf& aImageUrl,
- RBuf& aGenreName,
- RBuf& aCountryName,
- RBuf& aLanguageName,
- RBuf& aMusicStoreStatus
- )
- {
- SetSongNameL(aSongName);
- SetArtistL(aArtist);
- SetStreamUrlL(aStreamUrl);
- SetChannelNameL(aChannelName);
- SetChannelType(aChannelType);
- SetChannelId(aChannelId);
- SetBitrate(aBitrate);
- SetChannelDescL(aChannelDesc);
- SetImageUrlL(aImageUrl);
- SetGenreNameL(aGenreName);
- SetCountryNameL(aCountryName);
- SetLanguageNameL(aLanguageName);
- SetChannelMusicStatusL(aMusicStoreStatus);
-
- }
-
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetSongInfo
-// Gets the song information
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetSongInfo() const
- {
- return iSongInfo;
- }
-
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetArtistInfo
-// Gets Artist name
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetArtistInfo() const
- {
- return iArtistInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetStreamUrl
-// Gets StreamUrl name
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetStreamUrl() const
- {
- return iStreamUrlInfo;
- }
-
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetChannelName
-// Gets Channel name
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetChannelName() const
- {
- return iChannelInfo;
- }
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetChannelDesc
-// Gets Channel name
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetChannelDesc() const
- {
- return iChannelDescription;
- }
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetImageUrl
-// Gets Channel image Url
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetImageUrl() const
- {
- return iImageUrl;
- }
- // ---------------------------------------------------------------------------
- // CIRSongHistoryInfo::GetGenreName
- // Get channel genre name
- // ---------------------------------------------------------------------------
- //
-
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetGenreName() const
- {
- return iGenreName;
- }
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetCountryName
-// Get channel country name
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetCountryName() const
- {
- return iCountryName;
- }
-
-// ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetLanguageName
-// Get channel language name
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetLanguageName() const
- {
- return iLanguageName;
- }
-
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetChannelType
-// Gets Channel Type
-// ---------------------------------------------------------------------------
-//
- EXPORT_C TInt CIRSongHistoryInfo::GetChannelType() const
- {
- return iChannelType;
- }
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetChannelId
-// Gets Channel Id
-// ---------------------------------------------------------------------------
-//
- EXPORT_C TInt CIRSongHistoryInfo::GetChannelId() const
- {
- return iChannelId;
- }
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetBitrate
-// Gets bitrate
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CIRSongHistoryInfo::GetBitrate() const
-{
- return iBitrate;
-}
- // ---------------------------------------------------------------------------
-// CIRSongHistoryInfo::GetChannelMusicStatus
-// Gets Channel MusicStoreStatus
-// ---------------------------------------------------------------------------
-//
- EXPORT_C const RBuf& CIRSongHistoryInfo::GetChannelMusicStatus() const
- {
- return iMusicStoreStatus;
- }
--- a/package_definition.xml Fri Sep 17 08:27:59 2010 +0300
+++ b/package_definition.xml Mon Oct 04 00:07:46 2010 +0300
@@ -54,10 +54,6 @@
<!-- Move down a dir or break into components-->
<unit bldFile="qtinternetradio" qt:proFile="all.pro" qt:qmakeArgs="-r -config rom"/>
</component>
- <component id="qtinternetradio_internal" name="Qt Internet Radio Internal" filter="s60,test,qt_unit_test">
- <!-- appears to be missing. Remove?
- <unit bldFile="qtinternetradio/internal/tsrc" qt:proFile="tsrc.pro" filter="TA_InternetRadio"/> -->
- </component>
</collection>
</package>
</SystemDefinition>
--- a/qtinternetradio/all.pro Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/all.pro Mon Oct 04 00:07:46 2010 +0300
@@ -17,7 +17,8 @@
TEMPLATE = subdirs
BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
"rom/qtinternetradio.iby CORE_APP_LAYER_IBY_EXPORT_PATH(qtinternetradio.iby)"
-
+# stub sis
+BLD_INF_RULES.prj_exports += "./rom/ir3_qtinternetradio_stub.sis /epoc32/data/z/system/install/ir3_qtinternetradio_stub.sis"
exists($${OS_LAYER_PLATFORM_EXPORT_PATH(qt/translations/internet_radio_10_1*.ts)}) {
BLD_INF_RULES.prj_exports += "rom/qtinternetradio_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(qtinternetradio_resources.iby)"
@@ -35,8 +36,7 @@
irqfavoritesdb \
irqisdsclient \
irqmediaplayer \
- irqnetworkcontroller \
- irqsonghistory \
+ irqnetworkcontroller \
irqnwkinfoobserver \
irqstatisticsreporter \
irhswidgetplugin \
--- a/qtinternetradio/bwins/irdbu.def Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/bwins/irdbu.def Mon Oct 04 00:07:46 2010 +0300
@@ -1,57 +1,60 @@
EXPORTS
?getChannelId@IRDBWrapper@@QAEPAV?$QList@I@@PBV?$QMap@IVQString@@@@0@Z @ 1 NONAME ; class QList<unsigned int> * IRDBWrapper::getChannelId(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ??_EIRDBWrapper@@UAE@I@Z @ 2 NONAME ; IRDBWrapper::~IRDBWrapper(unsigned int)
- ??_EsearchRltWrapper@@UAE@I@Z @ 3 NONAME ; searchRltWrapper::~searchRltWrapper(unsigned int)
- ?combineDeleteStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@0PBVQString@@AAV3@@Z @ 4 NONAME ; void IRDBWrapper::combineDeleteStr(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QString const *, class QString &)
- ?srhChannelId@searchRltWrapper@@AAEIAAVQString@@PBV?$QMap@IVQString@@@@1@Z @ 5 NONAME ; unsigned int searchRltWrapper::srhChannelId(class QString &, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ??0urlInfoWrapper@@QAE@XZ @ 6 NONAME ; urlInfoWrapper::urlInfoWrapper(void)
- ??1imgWrapper@@UAE@XZ @ 7 NONAME ; imgWrapper::~imgWrapper(void)
- ??0channelHistoryWrapper@@QAE@XZ @ 8 NONAME ; channelHistoryWrapper::channelHistoryWrapper(void)
- ??0IRDBWrapper@@QAE@XZ @ 9 NONAME ; IRDBWrapper::IRDBWrapper(void)
- ?getImg@imgWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 10 NONAME ; class QList<class QVariant *> * imgWrapper::getImg(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?loadDataOfChannelIdCB@IRDBWrapper@@AAE_NAAVQSqlQuery@@PAV?$QList@I@@@Z @ 11 NONAME ; bool IRDBWrapper::loadDataOfChannelIdCB(class QSqlQuery &, class QList<unsigned int> *)
- ?getIRDB@IRDBWrapper@@IAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 12 NONAME ; class QList<class QVariant *> * IRDBWrapper::getIRDB(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?combinePutStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@PBVQString@@AAV3@2PBV?$QMap@IVQByteArray@@@@PAV?$QList@VQByteArray@@@@@Z @ 13 NONAME ; void IRDBWrapper::combinePutStr(class QMap<unsigned int, class QString> const *, class QString const *, class QString &, class QString &, class QMap<unsigned int, class QByteArray> const *, class QList<class QByteArray> *)
- ??1searchRltWrapper@@UAE@XZ @ 14 NONAME ; searchRltWrapper::~searchRltWrapper(void)
- ?putChannelHistory@channelHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@PAIPBV?$QMap@IVQByteArray@@@@00@Z @ 15 NONAME ; bool channelHistoryWrapper::putChannelHistory(class QMap<unsigned int, class QString> const *, unsigned int *, class QMap<unsigned int, class QByteArray> const *, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ??1urlInfoWrapper@@UAE@XZ @ 16 NONAME ; urlInfoWrapper::~urlInfoWrapper(void)
- ?getIRTableCB@songHistoryWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 17 NONAME ; bool songHistoryWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
- ?deleteSongHistory@songHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 18 NONAME ; bool songHistoryWrapper::deleteSongHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?resetUrlInfo@urlInfoWrapper@@QAE_NPBV?$QMap@VQString@@I@@ABI@Z @ 19 NONAME ; bool urlInfoWrapper::resetUrlInfo(class QMap<class QString, unsigned int> const *, unsigned int const &)
- ?getIRTableCB@searchRltWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 20 NONAME ; bool searchRltWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
- ?getIRTableCB@imgWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 21 NONAME ; bool imgWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
- ?combineGetStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@0PBVQString@@AAV3@@Z @ 22 NONAME ; void IRDBWrapper::combineGetStr(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QString const *, class QString &)
- ??1channelHistoryWrapper@@UAE@XZ @ 23 NONAME ; channelHistoryWrapper::~channelHistoryWrapper(void)
- ?deleteFavorites@favoritesWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 24 NONAME ; bool favoritesWrapper::deleteFavorites(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?combineCondStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@0PBVQString@@AAV3@@Z @ 25 NONAME ; void IRDBWrapper::combineCondStr(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QString const *, class QString &)
- ??0searchRltWrapper@@QAE@XZ @ 26 NONAME ; searchRltWrapper::searchRltWrapper(void)
- ??0songHistoryWrapper@@QAE@XZ @ 27 NONAME ; songHistoryWrapper::songHistoryWrapper(void)
- ?putFavorites@favoritesWrapper@@QAE_NPAV?$QMap@IVQString@@@@AA_N@Z @ 28 NONAME ; bool favoritesWrapper::putFavorites(class QMap<unsigned int, class QString> *, bool &)
- ??_EfavoritesWrapper@@UAE@I@Z @ 29 NONAME ; favoritesWrapper::~favoritesWrapper(unsigned int)
- ?getIRTableCB@IRDBWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 30 NONAME ; bool IRDBWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
- ?getChannelHistory@channelHistoryWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 31 NONAME ; class QList<class QVariant *> * channelHistoryWrapper::getChannelHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?srhChannelId@channelHistoryWrapper@@AAEIAAVQString@@PBV?$QMap@IVQString@@@@1@Z @ 32 NONAME ; unsigned int channelHistoryWrapper::srhChannelId(class QString &, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ??_EsongHistoryWrapper@@UAE@I@Z @ 33 NONAME ; songHistoryWrapper::~songHistoryWrapper(unsigned int)
- ??1favoritesWrapper@@UAE@XZ @ 34 NONAME ; favoritesWrapper::~favoritesWrapper(void)
- ??_EchannelHistoryWrapper@@UAE@I@Z @ 35 NONAME ; channelHistoryWrapper::~channelHistoryWrapper(unsigned int)
- ?putSongHistory@songHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@00@Z @ 36 NONAME ; bool songHistoryWrapper::putSongHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?getFavorites@favoritesWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 37 NONAME ; class QList<class QVariant *> * favoritesWrapper::getFavorites(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?putSearchRlt@searchRltWrapper@@QAE_NPBV?$QMap@IVQString@@@@PBV?$QMap@IVQByteArray@@@@00@Z @ 38 NONAME ; bool searchRltWrapper::putSearchRlt(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QByteArray> const *, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?loadDataOfIRDBCB@IRDBWrapper@@AAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 39 NONAME ; bool IRDBWrapper::loadDataOfIRDBCB(class QSqlQuery &, class QList<class QVariant *> *)
- ?getUrlInfo@urlInfoWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 40 NONAME ; class QList<class QVariant *> * urlInfoWrapper::getUrlInfo(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ??_EurlInfoWrapper@@UAE@I@Z @ 41 NONAME ; urlInfoWrapper::~urlInfoWrapper(unsigned int)
- ??1songHistoryWrapper@@UAE@XZ @ 42 NONAME ; songHistoryWrapper::~songHistoryWrapper(void)
- ?getIRTableCB@favoritesWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 43 NONAME ; bool favoritesWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
- ??_EimgWrapper@@UAE@I@Z @ 44 NONAME ; imgWrapper::~imgWrapper(unsigned int)
- ?combineInsertStr@urlInfoWrapper@@AAEXPBV?$QMap@VQString@@I@@ABIAAVQStringList@@@Z @ 45 NONAME ; void urlInfoWrapper::combineInsertStr(class QMap<class QString, unsigned int> const *, unsigned int const &, class QStringList &)
- ?deleteChannelHistory@channelHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 46 NONAME ; bool channelHistoryWrapper::deleteChannelHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?getIRTableCB@channelHistoryWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 47 NONAME ; bool channelHistoryWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
- ??1IRDBWrapper@@UAE@XZ @ 48 NONAME ; IRDBWrapper::~IRDBWrapper(void)
- ?getSearchRlt@searchRltWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 49 NONAME ; class QList<class QVariant *> * searchRltWrapper::getSearchRlt(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?deleteSearchRlt@searchRltWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 50 NONAME ; bool searchRltWrapper::deleteSearchRlt(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?updateImg@imgWrapper@@QAE_NPBV?$QMap@IVQString@@@@ABIPBV?$QMap@IVQByteArray@@@@@Z @ 51 NONAME ; bool imgWrapper::updateImg(class QMap<unsigned int, class QString> const *, unsigned int const &, class QMap<unsigned int, class QByteArray> const *)
- ??0favoritesWrapper@@QAE@XZ @ 52 NONAME ; favoritesWrapper::favoritesWrapper(void)
- ??0imgWrapper@@QAE@XZ @ 53 NONAME ; imgWrapper::imgWrapper(void)
- ?getSongHistory@songHistoryWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 54 NONAME ; class QList<class QVariant *> * songHistoryWrapper::getSongHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
- ?getIRTableCB@urlInfoWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 55 NONAME ; bool urlInfoWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ?combinePutStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@PBVQString@@AAV3@2PBV?$QMap@IVQByteArray@@@@PAV?$QList@VQByteArray@@@@PAH@Z @ 2 NONAME ; void IRDBWrapper::combinePutStr(class QMap<unsigned int, class QString> const *, class QString const *, class QString &, class QString &, class QMap<unsigned int, class QByteArray> const *, class QList<class QByteArray> *, int *)
+ ??_EIRDBWrapper@@UAE@I@Z @ 3 NONAME ; IRDBWrapper::~IRDBWrapper(unsigned int)
+ ??_EsearchRltWrapper@@UAE@I@Z @ 4 NONAME ; searchRltWrapper::~searchRltWrapper(unsigned int)
+ ?getUrlInfo@urlInfoWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0HH@Z @ 5 NONAME ; class QList<class QVariant *> * urlInfoWrapper::getUrlInfo(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, int, int)
+ ?combineDeleteStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@0PBVQString@@AAV3@@Z @ 6 NONAME ; void IRDBWrapper::combineDeleteStr(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QString const *, class QString &)
+ ??0urlInfoWrapper@@QAE@XZ @ 7 NONAME ; urlInfoWrapper::urlInfoWrapper(void)
+ ??1imgWrapper@@UAE@XZ @ 8 NONAME ; imgWrapper::~imgWrapper(void)
+ ?srhChannelId@searchRltWrapper@@AAEIPBV?$QMap@IVQString@@@@0@Z @ 9 NONAME ; unsigned int searchRltWrapper::srhChannelId(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?srhChannelId@channelHistoryWrapper@@AAEIPBV?$QMap@IVQString@@@@0@Z @ 10 NONAME ; unsigned int channelHistoryWrapper::srhChannelId(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ??0channelHistoryWrapper@@QAE@XZ @ 11 NONAME ; channelHistoryWrapper::channelHistoryWrapper(void)
+ ?getIRDB@IRDBWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 12 NONAME ; class QList<class QVariant *> * IRDBWrapper::getIRDB(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ??0IRDBWrapper@@QAE@XZ @ 13 NONAME ; IRDBWrapper::IRDBWrapper(void)
+ ?getImg@imgWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 14 NONAME ; class QList<class QVariant *> * imgWrapper::getImg(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?combineSqlStr@searchRltWrapper@@AAEXABIPBV?$QMap@IVQString@@@@AAVQStringList@@@Z @ 15 NONAME ; void searchRltWrapper::combineSqlStr(unsigned int const &, class QMap<unsigned int, class QString> const *, class QStringList &)
+ ?loadDataOfChannelIdCB@IRDBWrapper@@AAE_NAAVQSqlQuery@@PAV?$QList@I@@@Z @ 16 NONAME ; bool IRDBWrapper::loadDataOfChannelIdCB(class QSqlQuery &, class QList<unsigned int> *)
+ ??1searchRltWrapper@@UAE@XZ @ 17 NONAME ; searchRltWrapper::~searchRltWrapper(void)
+ ?putChannelHistory@channelHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@PAIPBV?$QMap@IVQByteArray@@@@00@Z @ 18 NONAME ; bool channelHistoryWrapper::putChannelHistory(class QMap<unsigned int, class QString> const *, unsigned int *, class QMap<unsigned int, class QByteArray> const *, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ??1urlInfoWrapper@@UAE@XZ @ 19 NONAME ; urlInfoWrapper::~urlInfoWrapper(void)
+ ?getIRTableCB@songHistoryWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 20 NONAME ; bool songHistoryWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ?deleteSongHistory@songHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 21 NONAME ; bool songHistoryWrapper::deleteSongHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?resetUrlInfo@urlInfoWrapper@@QAE_NPBV?$QMap@VQString@@I@@ABI@Z @ 22 NONAME ; bool urlInfoWrapper::resetUrlInfo(class QMap<class QString, unsigned int> const *, unsigned int const &)
+ ?getIRTableCB@searchRltWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 23 NONAME ; bool searchRltWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ?getIRTableCB@imgWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 24 NONAME ; bool imgWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ?combineGetStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@0PBVQString@@AAV3@@Z @ 25 NONAME ; void IRDBWrapper::combineGetStr(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QString const *, class QString &)
+ ??1channelHistoryWrapper@@UAE@XZ @ 26 NONAME ; channelHistoryWrapper::~channelHistoryWrapper(void)
+ ?deleteFavorites@favoritesWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 27 NONAME ; bool favoritesWrapper::deleteFavorites(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?combineCondStr@IRDBWrapper@@IAEXPBV?$QMap@IVQString@@@@0PBVQString@@AAV3@@Z @ 28 NONAME ; void IRDBWrapper::combineCondStr(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QString const *, class QString &)
+ ??0searchRltWrapper@@QAE@XZ @ 29 NONAME ; searchRltWrapper::searchRltWrapper(void)
+ ??0songHistoryWrapper@@QAE@XZ @ 30 NONAME ; songHistoryWrapper::songHistoryWrapper(void)
+ ?addSearchRltFinished@searchRltWrapper@@QAEXXZ @ 31 NONAME ; void searchRltWrapper::addSearchRltFinished(void)
+ ?putFavorites@favoritesWrapper@@QAE_NPAV?$QMap@IVQString@@@@AA_N@Z @ 32 NONAME ; bool favoritesWrapper::putFavorites(class QMap<unsigned int, class QString> *, bool &)
+ ??_EfavoritesWrapper@@UAE@I@Z @ 33 NONAME ; favoritesWrapper::~favoritesWrapper(unsigned int)
+ ?getIRTableCB@IRDBWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 34 NONAME ; bool IRDBWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ?getChannelHistory@channelHistoryWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 35 NONAME ; class QList<class QVariant *> * channelHistoryWrapper::getChannelHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ??_EsongHistoryWrapper@@UAE@I@Z @ 36 NONAME ; songHistoryWrapper::~songHistoryWrapper(unsigned int)
+ ??1favoritesWrapper@@UAE@XZ @ 37 NONAME ; favoritesWrapper::~favoritesWrapper(void)
+ ??_EchannelHistoryWrapper@@UAE@I@Z @ 38 NONAME ; channelHistoryWrapper::~channelHistoryWrapper(unsigned int)
+ ?putSongHistory@songHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@00@Z @ 39 NONAME ; bool songHistoryWrapper::putSongHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?getFavorites@favoritesWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 40 NONAME ; class QList<class QVariant *> * favoritesWrapper::getFavorites(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?addSearchRlt@searchRltWrapper@@QAE_NPBV?$QMap@IVQString@@@@_N@Z @ 41 NONAME ; bool searchRltWrapper::addSearchRlt(class QMap<unsigned int, class QString> const *, bool)
+ ?putSearchRlt@searchRltWrapper@@QAE_NPBV?$QMap@IVQString@@@@PBV?$QMap@IVQByteArray@@@@00@Z @ 42 NONAME ; bool searchRltWrapper::putSearchRlt(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QByteArray> const *, class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?loadDataOfIRDBCB@IRDBWrapper@@AAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 43 NONAME ; bool IRDBWrapper::loadDataOfIRDBCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ??_EurlInfoWrapper@@UAE@I@Z @ 44 NONAME ; urlInfoWrapper::~urlInfoWrapper(unsigned int)
+ ??1songHistoryWrapper@@UAE@XZ @ 45 NONAME ; songHistoryWrapper::~songHistoryWrapper(void)
+ ?getIRTableCB@favoritesWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 46 NONAME ; bool favoritesWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ??_EimgWrapper@@UAE@I@Z @ 47 NONAME ; imgWrapper::~imgWrapper(unsigned int)
+ ?combineInsertStr@urlInfoWrapper@@AAEXPBV?$QMap@VQString@@I@@ABIAAVQStringList@@@Z @ 48 NONAME ; void urlInfoWrapper::combineInsertStr(class QMap<class QString, unsigned int> const *, unsigned int const &, class QStringList &)
+ ?deleteChannelHistory@channelHistoryWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 49 NONAME ; bool channelHistoryWrapper::deleteChannelHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?getIRTableCB@channelHistoryWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 50 NONAME ; bool channelHistoryWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
+ ??1IRDBWrapper@@UAE@XZ @ 51 NONAME ; IRDBWrapper::~IRDBWrapper(void)
+ ?getSearchRlt@searchRltWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 52 NONAME ; class QList<class QVariant *> * searchRltWrapper::getSearchRlt(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?deleteSearchRlt@searchRltWrapper@@QAE_NPBV?$QMap@IVQString@@@@0@Z @ 53 NONAME ; bool searchRltWrapper::deleteSearchRlt(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?updateImg@imgWrapper@@QAE_NPBV?$QMap@IVQString@@@@ABIPBV?$QMap@IVQByteArray@@@@@Z @ 54 NONAME ; bool imgWrapper::updateImg(class QMap<unsigned int, class QString> const *, unsigned int const &, class QMap<unsigned int, class QByteArray> const *)
+ ??0favoritesWrapper@@QAE@XZ @ 55 NONAME ; favoritesWrapper::favoritesWrapper(void)
+ ??0imgWrapper@@QAE@XZ @ 56 NONAME ; imgWrapper::imgWrapper(void)
+ ?getSongHistory@songHistoryWrapper@@QAEPAV?$QList@PAVQVariant@@@@PBV?$QMap@IVQString@@@@0@Z @ 57 NONAME ; class QList<class QVariant *> * songHistoryWrapper::getSongHistory(class QMap<unsigned int, class QString> const *, class QMap<unsigned int, class QString> const *)
+ ?getIRTableCB@urlInfoWrapper@@EAE_NAAVQSqlQuery@@PAV?$QList@PAVQVariant@@@@@Z @ 58 NONAME ; bool urlInfoWrapper::getIRTableCB(class QSqlQuery &, class QList<class QVariant *> *)
--- a/qtinternetradio/bwins/irqfavoritesu.def Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/bwins/irqfavoritesu.def Mon Oct 04 00:07:46 2010 +0300
@@ -1,32 +1,10 @@
EXPORTS
?makePresetUserDefined@IRQFavoritesDB@@QAEHHH@Z @ 1 NONAME ; int IRQFavoritesDB::makePresetUserDefined(int, int)
- ?staticMetaObject@IRQFavoritesDB@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const IRQFavoritesDB::staticMetaObject
- ?addPreset@IRQFavoritesDB@@QAEHABVIRQPreset@@@Z @ 3 NONAME ; int IRQFavoritesDB::addPreset(class IRQPreset const &)
- ?getPresets@IRQFavoritesDB@@QBEPAV?$QList@PAVIRQPreset@@@@XZ @ 4 NONAME ; class QList<class IRQPreset *> * IRQFavoritesDB::getPresets(void) const
- ?emptyPresetCount@IRQFavoritesDB@@QBEHXZ @ 5 NONAME ; int IRQFavoritesDB::emptyPresetCount(void) const
- ?searchPreset@IRQFavoritesDB@@QAEHHH@Z @ 6 NONAME ; int IRQFavoritesDB::searchPreset(int, int)
- ?deletePreset@IRQFavoritesDB@@QAEHH@Z @ 7 NONAME ; int IRQFavoritesDB::deletePreset(int)
- ?maxPresetCount@IRQFavoritesDB@@QAEHXZ @ 8 NONAME ; int IRQFavoritesDB::maxPresetCount(void)
- ??1IRQFavoritesDB@@UAE@XZ @ 9 NONAME ; IRQFavoritesDB::~IRQFavoritesDB(void)
- ?qt_metacall@IRQFavoritesDB@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10 NONAME ; int IRQFavoritesDB::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?increasePlayedTimes@IRQFavoritesDB@@QAEXABVIRQPreset@@@Z @ 11 NONAME ; void IRQFavoritesDB::increasePlayedTimes(class IRQPreset const &)
- ?getPreviousPreset@IRQFavoritesDB@@QAEHH@Z @ 12 NONAME ; int IRQFavoritesDB::getPreviousPreset(int)
- ?trUtf8@IRQFavoritesDB@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString IRQFavoritesDB::trUtf8(char const *, char const *)
- ??_EIRQFavoritesDB@@UAE@I@Z @ 14 NONAME ; IRQFavoritesDB::~IRQFavoritesDB(unsigned int)
- ?getMoveStatus@IRQFavoritesDB@@QAE_NXZ @ 15 NONAME ; bool IRQFavoritesDB::getMoveStatus(void)
- ?replaceUserDefinedPreset@IRQFavoritesDB@@QAEHABVIRQPreset@@@Z @ 16 NONAME ; int IRQFavoritesDB::replaceUserDefinedPreset(class IRQPreset const &)
- ?trUtf8@IRQFavoritesDB@@SA?AVQString@@PBD0H@Z @ 17 NONAME ; class QString IRQFavoritesDB::trUtf8(char const *, char const *, int)
- ?getNextPreset@IRQFavoritesDB@@QAEHH@Z @ 18 NONAME ; int IRQFavoritesDB::getNextPreset(int)
- ?metaObject@IRQFavoritesDB@@UBEPBUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const * IRQFavoritesDB::metaObject(void) const
- ?tr@IRQFavoritesDB@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString IRQFavoritesDB::tr(char const *, char const *, int)
- ?replacePreset@IRQFavoritesDB@@QAEHABVIRQPreset@@@Z @ 21 NONAME ; int IRQFavoritesDB::replacePreset(class IRQPreset const &)
- ?getUniqId@IRQFavoritesDB@@QBEHH@Z @ 22 NONAME ; int IRQFavoritesDB::getUniqId(int) const
- ?addPreset@IRQFavoritesDB@@QAEHABVQString@@0@Z @ 23 NONAME ; int IRQFavoritesDB::addPreset(class QString const &, class QString const &)
- ?presetChanged@IRQFavoritesDB@@IAEXHHW4PSReason@1@@Z @ 24 NONAME ; void IRQFavoritesDB::presetChanged(int, int, enum IRQFavoritesDB::PSReason)
- ?tr@IRQFavoritesDB@@SA?AVQString@@PBD0@Z @ 25 NONAME ; class QString IRQFavoritesDB::tr(char const *, char const *)
- ?setMoveStatus@IRQFavoritesDB@@QAEX_N@Z @ 26 NONAME ; void IRQFavoritesDB::setMoveStatus(bool)
- ?qt_metacast@IRQFavoritesDB@@UAEPAXPBD@Z @ 27 NONAME ; void * IRQFavoritesDB::qt_metacast(char const *)
- ?getStaticMetaObject@IRQFavoritesDB@@SAABUQMetaObject@@XZ @ 28 NONAME ; struct QMetaObject const & IRQFavoritesDB::getStaticMetaObject(void)
- ??0IRQFavoritesDB@@QAE@XZ @ 29 NONAME ; IRQFavoritesDB::IRQFavoritesDB(void)
- ?renamePreset@IRQFavoritesDB@@QAEHABVIRQPreset@@ABVQString@@@Z @ 30 NONAME ; int IRQFavoritesDB::renamePreset(class IRQPreset const &, class QString const &)
+ ?addPreset@IRQFavoritesDB@@QAEHABVIRQPreset@@@Z @ 2 NONAME ; int IRQFavoritesDB::addPreset(class IRQPreset const &)
+ ?getPresets@IRQFavoritesDB@@QBEPAV?$QList@PAVIRQPreset@@@@XZ @ 3 NONAME ; class QList<class IRQPreset *> * IRQFavoritesDB::getPresets(void) const
+ ?deletePreset@IRQFavoritesDB@@QAEHABVIRQPreset@@@Z @ 4 NONAME ; int IRQFavoritesDB::deletePreset(class IRQPreset const &)
+ ??1IRQFavoritesDB@@QAE@XZ @ 5 NONAME ; IRQFavoritesDB::~IRQFavoritesDB(void)
+ ?replacePreset@IRQFavoritesDB@@QAEXABVIRQPreset@@@Z @ 6 NONAME ; void IRQFavoritesDB::replacePreset(class IRQPreset const &)
+ ?renamePreset@IRQFavoritesDB@@QAEHABVIRQPreset@@ABVQString@@@Z @ 7 NONAME ; int IRQFavoritesDB::renamePreset(class IRQPreset const &, class QString const &)
+ ??0IRQFavoritesDB@@QAE@XZ @ 8 NONAME ; IRQFavoritesDB::IRQFavoritesDB(void)
--- a/qtinternetradio/bwins/irqsonghistoryu.def Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-EXPORTS
- ?setStationName@IRQSongInfo@@QAEXABVQString@@@Z @ 1 NONAME ; void IRQSongInfo::setStationName(class QString const &)
- ?getSongName@IRQSongInfo@@QBEABVQString@@XZ @ 2 NONAME ; class QString const & IRQSongInfo::getSongName(void) const
- ?GetCountryName@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 3 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetCountryName(void) const
- ?getImageUrl@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 4 NONAME ; class QString const & IRQSongHistoryInfo::getImageUrl(void) const
- ?getStationName@IRQSongInfo@@QBEABVQString@@XZ @ 5 NONAME ; class QString const & IRQSongInfo::getStationName(void) const
- ?getChannelType@IRQSongHistoryInfo@@QBEHXZ @ 6 NONAME ; int IRQSongHistoryInfo::getChannelType(void) const
- ?GetChannelId@CIRSongHistoryInfo@@QBEHXZ @ 7 NONAME ; int CIRSongHistoryInfo::GetChannelId(void) const
- ??1IRQSongHistoryInfo@@QAE@XZ @ 8 NONAME ; IRQSongHistoryInfo::~IRQSongHistoryInfo(void)
- ?handleMetaDataReceived@IRQSongHistoryEngine@@QAEXABVIRQMetaData@@ABVIRQPreset@@@Z @ 9 NONAME ; void IRQSongHistoryEngine::handleMetaDataReceived(class IRQMetaData const &, class IRQPreset const &)
- ?getCountryName@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 10 NONAME ; class QString const & IRQSongHistoryInfo::getCountryName(void) const
- ?getAllSongHistory@IRQSongHistoryEngine@@QAEXAAV?$QList@PAVIRQSongInfo@@@@@Z @ 11 NONAME ; void IRQSongHistoryEngine::getAllSongHistory(class QList<class IRQSongInfo *> &)
- ??0IRQSongHistoryInfo@@QAE@XZ @ 12 NONAME ; IRQSongHistoryInfo::IRQSongHistoryInfo(void)
- ?GetChannelDesc@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 13 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetChannelDesc(void) const
- ?getChannelId@IRQSongHistoryInfo@@QBEHXZ @ 14 NONAME ; int IRQSongHistoryInfo::getChannelId(void) const
- ?GetStreamUrl@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 15 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetStreamUrl(void) const
- ?closeInstance@IRQSongHistoryEngine@@QAEXXZ @ 16 NONAME ; void IRQSongHistoryEngine::closeInstance(void)
- ?setMusicshopStatus@IRQSongInfo@@QAEXABVQString@@@Z @ 17 NONAME ; void IRQSongInfo::setMusicshopStatus(class QString const &)
- ?GetSongInfo@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 18 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetSongInfo(void) const
- ?GetLanguageName@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 19 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetLanguageName(void) const
- ?getChannelDesc@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 20 NONAME ; class QString const & IRQSongHistoryInfo::getChannelDesc(void) const
- ?syncHistory@IRQSongHistoryEngine@@QAEXH@Z @ 21 NONAME ; void IRQSongHistoryEngine::syncHistory(int)
- ?getAllHistory@IRQSongHistoryEngine@@QAEXAAV?$QList@PAVIRQSongHistoryInfo@@@@@Z @ 22 NONAME ; void IRQSongHistoryEngine::getAllHistory(class QList<class IRQSongHistoryInfo *> &)
- ?handleSongMetaDataReceived@IRQSongHistoryEngine@@QAEXABVIRQMetaData@@ABVIRQPreset@@@Z @ 23 NONAME ; void IRQSongHistoryEngine::handleSongMetaDataReceived(class IRQMetaData const &, class IRQPreset const &)
- ?NewLC@CIRSongHistoryInfo@@SAPAV1@XZ @ 24 NONAME ; class CIRSongHistoryInfo * CIRSongHistoryInfo::NewLC(void)
- ?GetChannelMusicStatus@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 25 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetChannelMusicStatus(void) const
- ?GetBitrate@CIRSongHistoryInfo@@QBEHXZ @ 26 NONAME ; int CIRSongHistoryInfo::GetBitrate(void) const
- ?getArtistName@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 27 NONAME ; class QString const & IRQSongHistoryInfo::getArtistName(void) const
- ?GetGenreName@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 28 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetGenreName(void) const
- ?getMusicStoreStatus@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 29 NONAME ; class QString const & IRQSongHistoryInfo::getMusicStoreStatus(void) const
- ?getGenreName@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 30 NONAME ; class QString const & IRQSongHistoryInfo::getGenreName(void) const
- ?getBitrate@IRQSongHistoryInfo@@QBEHXZ @ 31 NONAME ; int IRQSongHistoryInfo::getBitrate(void) const
- ?getMusicshopStatus@IRQSongInfo@@QBEABVQString@@XZ @ 32 NONAME ; class QString const & IRQSongInfo::getMusicshopStatus(void) const
- ?GetChannelName@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 33 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetChannelName(void) const
- ?NewL@CIRSongHistoryInfo@@SAPAV1@XZ @ 34 NONAME ; class CIRSongHistoryInfo * CIRSongHistoryInfo::NewL(void)
- ?updateSongHistoryDb@IRQSongHistoryEngine@@QAEXHABVQString@@000000@Z @ 35 NONAME ; void IRQSongHistoryEngine::updateSongHistoryDb(int, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &)
- ?getLanguageName@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 36 NONAME ; class QString const & IRQSongHistoryInfo::getLanguageName(void) const
- ?setSongName@IRQSongInfo@@QAEXABVQString@@@Z @ 37 NONAME ; void IRQSongInfo::setSongName(class QString const &)
- ?getArtistName@IRQSongInfo@@QBEABVQString@@XZ @ 38 NONAME ; class QString const & IRQSongInfo::getArtistName(void) const
- ?setAllInfo@IRQSongInfo@@QAEXABVQString@@000@Z @ 39 NONAME ; void IRQSongInfo::setAllInfo(class QString const &, class QString const &, class QString const &, class QString const &)
- ?deleteOneSongHistoryItem@IRQSongHistoryEngine@@QAE_NH@Z @ 40 NONAME ; bool IRQSongHistoryEngine::deleteOneSongHistoryItem(int)
- ?setArtistName@IRQSongInfo@@QAEXABVQString@@@Z @ 41 NONAME ; void IRQSongInfo::setArtistName(class QString const &)
- ?openInstance@IRQSongHistoryEngine@@SAPAV1@XZ @ 42 NONAME ; class IRQSongHistoryEngine * IRQSongHistoryEngine::openInstance(void)
- ?clearAllHistory@IRQSongHistoryEngine@@QAEHXZ @ 43 NONAME ; int IRQSongHistoryEngine::clearAllHistory(void)
- ?deleteOneItem@IRQSongHistoryEngine@@QAE_NH@Z @ 44 NONAME ; bool IRQSongHistoryEngine::deleteOneItem(int)
- ?clearAllSongHistory@IRQSongHistoryEngine@@QAEHXZ @ 45 NONAME ; int IRQSongHistoryEngine::clearAllSongHistory(void)
- ?getSongName@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 46 NONAME ; class QString const & IRQSongHistoryInfo::getSongName(void) const
- ?SetHistoryInfoL@CIRSongHistoryInfo@@QAEXAAVRBuf16@@000HHH000000@Z @ 47 NONAME ; void CIRSongHistoryInfo::SetHistoryInfoL(class RBuf16 &, class RBuf16 &, class RBuf16 &, class RBuf16 &, int, int, int, class RBuf16 &, class RBuf16 &, class RBuf16 &, class RBuf16 &, class RBuf16 &, class RBuf16 &)
- ?getChannelName@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 48 NONAME ; class QString const & IRQSongHistoryInfo::getChannelName(void) const
- ?handleSongMetaDataReceivedL@IRQSongHistoryEngine@@AAEXABVIRQMetaData@@ABVIRQPreset@@@Z @ 49 NONAME ; void IRQSongHistoryEngine::handleSongMetaDataReceivedL(class IRQMetaData const &, class IRQPreset const &)
- ??1CIRSongHistoryInfo@@UAE@XZ @ 50 NONAME ; CIRSongHistoryInfo::~CIRSongHistoryInfo(void)
- ?GetImageUrl@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 51 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetImageUrl(void) const
- ?getStreamUrl@IRQSongHistoryInfo@@QBEABVQString@@XZ @ 52 NONAME ; class QString const & IRQSongHistoryInfo::getStreamUrl(void) const
- ?GetArtistInfo@CIRSongHistoryInfo@@QBEABVRBuf16@@XZ @ 53 NONAME ; class RBuf16 const & CIRSongHistoryInfo::GetArtistInfo(void) const
- ?GetChannelType@CIRSongHistoryInfo@@QBEHXZ @ 54 NONAME ; int CIRSongHistoryInfo::GetChannelType(void) const
-
--- a/qtinternetradio/common.pri Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/common.pri Mon Oct 04 00:07:46 2010 +0300
@@ -13,11 +13,10 @@
# Description:
#DEFINES += USE_TEST_ISDS_SERVER
-#DEFINES += NOWPLAYING_VIEW_OPTION_B
#DEFINES += ADV_ENABLED
DEFINES += HS_WIDGET_ENABLED
+DEFINES += SUBTITLE_STR_BY_LOCID
#DEFINES += STATISTIC_REPORT_TEST_ENABLED
-#DEFINES += TERMS_CONDITIONS_VIEW_ENABLED
# ##########################################################
# Logging flag definitions
@@ -33,3 +32,8 @@
# LOGGING_FLAGS += TRACE_TO_FILE
DEFINES += $$LOGGING_FLAGS
+
+# ##########################################################
+# PlatSim flag definitions
+# ##########################################################
+#DEFINES += PLATSIM_DEBUG_CONF
\ No newline at end of file
--- a/qtinternetradio/eabi/irdbu.def Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/eabi/irdbu.def Mon Oct 04 00:07:46 2010 +0300
@@ -10,7 +10,7 @@
_ZN11IRDBWrapper12getChannelIdEPK4QMapIj7QStringES4_ @ 9 NONAME
_ZN11IRDBWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 10 NONAME
_ZN11IRDBWrapper13combineGetStrEPK4QMapIj7QStringES4_PKS1_RS1_ @ 11 NONAME
- _ZN11IRDBWrapper13combinePutStrEPK4QMapIj7QStringEPKS1_RS1_S7_PKS0_Ij10QByteArrayEP5QListIS8_E @ 12 NONAME
+ _ZN11IRDBWrapper13combinePutStrEPK4QMapIj7QStringEPKS1_RS1_S7_PKS0_Ij10QByteArrayEP5QListIS8_EPi @ 12 NONAME
_ZN11IRDBWrapper14combineCondStrEPK4QMapIj7QStringES4_PKS1_RS1_ @ 13 NONAME
_ZN11IRDBWrapper16combineDeleteStrEPK4QMapIj7QStringES4_PKS1_RS1_ @ 14 NONAME
_ZN11IRDBWrapper16loadDataOfIRDBCBER9QSqlQueryP5QListIP8QVariantE @ 15 NONAME
@@ -21,7 +21,7 @@
_ZN11IRDBWrapperD0Ev @ 20 NONAME
_ZN11IRDBWrapperD1Ev @ 21 NONAME
_ZN11IRDBWrapperD2Ev @ 22 NONAME
- _ZN14urlInfoWrapper10getUrlInfoEPK4QMapIj7QStringES4_ @ 23 NONAME
+ _ZN14urlInfoWrapper10getUrlInfoEPK4QMapIj7QStringES4_ii @ 23 NONAME
_ZN14urlInfoWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 24 NONAME
_ZN14urlInfoWrapper12resetUrlInfoEPK4QMapI7QStringjERKj @ 25 NONAME
_ZN14urlInfoWrapper16combineInsertStrEPK4QMapI7QStringjERKjR11QStringList @ 26 NONAME
@@ -39,47 +39,50 @@
_ZN16favoritesWrapperD0Ev @ 38 NONAME
_ZN16favoritesWrapperD1Ev @ 39 NONAME
_ZN16favoritesWrapperD2Ev @ 40 NONAME
- _ZN16searchRltWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 41 NONAME
- _ZN16searchRltWrapper12getSearchRltEPK4QMapIj7QStringES4_ @ 42 NONAME
- _ZN16searchRltWrapper12putSearchRltEPK4QMapIj7QStringEPKS0_Ij10QByteArrayES4_S4_ @ 43 NONAME
- _ZN16searchRltWrapper12srhChannelIdER7QStringPK4QMapIjS0_ES5_ @ 44 NONAME
- _ZN16searchRltWrapper15deleteSearchRltEPK4QMapIj7QStringES4_ @ 45 NONAME
- _ZN16searchRltWrapperC1Ev @ 46 NONAME
- _ZN16searchRltWrapperC2Ev @ 47 NONAME
- _ZN16searchRltWrapperD0Ev @ 48 NONAME
- _ZN16searchRltWrapperD1Ev @ 49 NONAME
- _ZN16searchRltWrapperD2Ev @ 50 NONAME
- _ZN18songHistoryWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 51 NONAME
- _ZN18songHistoryWrapper14getSongHistoryEPK4QMapIj7QStringES4_ @ 52 NONAME
- _ZN18songHistoryWrapper14putSongHistoryEPK4QMapIj7QStringES4_S4_ @ 53 NONAME
- _ZN18songHistoryWrapper17deleteSongHistoryEPK4QMapIj7QStringES4_ @ 54 NONAME
- _ZN18songHistoryWrapperC1Ev @ 55 NONAME
- _ZN18songHistoryWrapperC2Ev @ 56 NONAME
- _ZN18songHistoryWrapperD0Ev @ 57 NONAME
- _ZN18songHistoryWrapperD1Ev @ 58 NONAME
- _ZN18songHistoryWrapperD2Ev @ 59 NONAME
- _ZN21channelHistoryWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 60 NONAME
- _ZN21channelHistoryWrapper12srhChannelIdER7QStringPK4QMapIjS0_ES5_ @ 61 NONAME
- _ZN21channelHistoryWrapper17getChannelHistoryEPK4QMapIj7QStringES4_ @ 62 NONAME
- _ZN21channelHistoryWrapper17putChannelHistoryEPK4QMapIj7QStringEPjPKS0_Ij10QByteArrayES4_S4_ @ 63 NONAME
- _ZN21channelHistoryWrapper20deleteChannelHistoryEPK4QMapIj7QStringES4_ @ 64 NONAME
- _ZN21channelHistoryWrapperC1Ev @ 65 NONAME
- _ZN21channelHistoryWrapperC2Ev @ 66 NONAME
- _ZN21channelHistoryWrapperD0Ev @ 67 NONAME
- _ZN21channelHistoryWrapperD1Ev @ 68 NONAME
- _ZN21channelHistoryWrapperD2Ev @ 69 NONAME
- _ZTI10imgWrapper @ 70 NONAME
- _ZTI11IRDBWrapper @ 71 NONAME
- _ZTI14urlInfoWrapper @ 72 NONAME
- _ZTI16favoritesWrapper @ 73 NONAME
- _ZTI16searchRltWrapper @ 74 NONAME
- _ZTI18songHistoryWrapper @ 75 NONAME
- _ZTI21channelHistoryWrapper @ 76 NONAME
- _ZTV10imgWrapper @ 77 NONAME
- _ZTV11IRDBWrapper @ 78 NONAME
- _ZTV14urlInfoWrapper @ 79 NONAME
- _ZTV16favoritesWrapper @ 80 NONAME
- _ZTV16searchRltWrapper @ 81 NONAME
- _ZTV18songHistoryWrapper @ 82 NONAME
- _ZTV21channelHistoryWrapper @ 83 NONAME
+ _ZN16searchRltWrapper12addSearchRltEPK4QMapIj7QStringEb @ 41 NONAME
+ _ZN16searchRltWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 42 NONAME
+ _ZN16searchRltWrapper12getSearchRltEPK4QMapIj7QStringES4_ @ 43 NONAME
+ _ZN16searchRltWrapper12putSearchRltEPK4QMapIj7QStringEPKS0_Ij10QByteArrayES4_S4_ @ 44 NONAME
+ _ZN16searchRltWrapper12srhChannelIdEPK4QMapIj7QStringES4_ @ 45 NONAME
+ _ZN16searchRltWrapper13combineSqlStrERKjPK4QMapIj7QStringER11QStringList @ 46 NONAME
+ _ZN16searchRltWrapper15deleteSearchRltEPK4QMapIj7QStringES4_ @ 47 NONAME
+ _ZN16searchRltWrapper20addSearchRltFinishedEv @ 48 NONAME
+ _ZN16searchRltWrapperC1Ev @ 49 NONAME
+ _ZN16searchRltWrapperC2Ev @ 50 NONAME
+ _ZN16searchRltWrapperD0Ev @ 51 NONAME
+ _ZN16searchRltWrapperD1Ev @ 52 NONAME
+ _ZN16searchRltWrapperD2Ev @ 53 NONAME
+ _ZN18songHistoryWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 54 NONAME
+ _ZN18songHistoryWrapper14getSongHistoryEPK4QMapIj7QStringES4_ @ 55 NONAME
+ _ZN18songHistoryWrapper14putSongHistoryEPK4QMapIj7QStringES4_S4_ @ 56 NONAME
+ _ZN18songHistoryWrapper17deleteSongHistoryEPK4QMapIj7QStringES4_ @ 57 NONAME
+ _ZN18songHistoryWrapperC1Ev @ 58 NONAME
+ _ZN18songHistoryWrapperC2Ev @ 59 NONAME
+ _ZN18songHistoryWrapperD0Ev @ 60 NONAME
+ _ZN18songHistoryWrapperD1Ev @ 61 NONAME
+ _ZN18songHistoryWrapperD2Ev @ 62 NONAME
+ _ZN21channelHistoryWrapper12getIRTableCBER9QSqlQueryP5QListIP8QVariantE @ 63 NONAME
+ _ZN21channelHistoryWrapper12srhChannelIdEPK4QMapIj7QStringES4_ @ 64 NONAME
+ _ZN21channelHistoryWrapper17getChannelHistoryEPK4QMapIj7QStringES4_ @ 65 NONAME
+ _ZN21channelHistoryWrapper17putChannelHistoryEPK4QMapIj7QStringEPjPKS0_Ij10QByteArrayES4_S4_ @ 66 NONAME
+ _ZN21channelHistoryWrapper20deleteChannelHistoryEPK4QMapIj7QStringES4_ @ 67 NONAME
+ _ZN21channelHistoryWrapperC1Ev @ 68 NONAME
+ _ZN21channelHistoryWrapperC2Ev @ 69 NONAME
+ _ZN21channelHistoryWrapperD0Ev @ 70 NONAME
+ _ZN21channelHistoryWrapperD1Ev @ 71 NONAME
+ _ZN21channelHistoryWrapperD2Ev @ 72 NONAME
+ _ZTI10imgWrapper @ 73 NONAME
+ _ZTI11IRDBWrapper @ 74 NONAME
+ _ZTI14urlInfoWrapper @ 75 NONAME
+ _ZTI16favoritesWrapper @ 76 NONAME
+ _ZTI16searchRltWrapper @ 77 NONAME
+ _ZTI18songHistoryWrapper @ 78 NONAME
+ _ZTI21channelHistoryWrapper @ 79 NONAME
+ _ZTV10imgWrapper @ 80 NONAME
+ _ZTV11IRDBWrapper @ 81 NONAME
+ _ZTV14urlInfoWrapper @ 82 NONAME
+ _ZTV16favoritesWrapper @ 83 NONAME
+ _ZTV16searchRltWrapper @ 84 NONAME
+ _ZTV18songHistoryWrapper @ 85 NONAME
+ _ZTV21channelHistoryWrapper @ 86 NONAME
--- a/qtinternetradio/eabi/irqfavoritesu.def Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/eabi/irqfavoritesu.def Mon Oct 04 00:07:46 2010 +0300
@@ -1,32 +1,12 @@
EXPORTS
- _ZN14IRQFavoritesDB11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
- _ZN14IRQFavoritesDB11qt_metacastEPKc @ 2 NONAME
- _ZN14IRQFavoritesDB12deletePresetEi @ 3 NONAME
- _ZN14IRQFavoritesDB12searchPresetEii @ 4 NONAME
- _ZN14IRQFavoritesDB13getMoveStatusEv @ 5 NONAME
- _ZN14IRQFavoritesDB13getNextPresetEi @ 6 NONAME
- _ZN14IRQFavoritesDB13presetChangedEiiNS_8PSReasonE @ 7 NONAME
- _ZN14IRQFavoritesDB13replacePresetERK9IRQPreset @ 8 NONAME
- _ZN14IRQFavoritesDB13setMoveStatusEb @ 9 NONAME
- _ZN14IRQFavoritesDB14maxPresetCountEv @ 10 NONAME
- _ZN14IRQFavoritesDB16staticMetaObjectE @ 11 NONAME DATA 16
- _ZN14IRQFavoritesDB17getPreviousPresetEi @ 12 NONAME
- _ZN14IRQFavoritesDB19getStaticMetaObjectEv @ 13 NONAME
- _ZN14IRQFavoritesDB19increasePlayedTimesERK9IRQPreset @ 14 NONAME
- _ZN14IRQFavoritesDB21makePresetUserDefinedEii @ 15 NONAME
- _ZN14IRQFavoritesDB24replaceUserDefinedPresetERK9IRQPreset @ 16 NONAME
- _ZN14IRQFavoritesDB9addPresetERK7QStringS2_ @ 17 NONAME
- _ZN14IRQFavoritesDB9addPresetERK9IRQPreset @ 18 NONAME
- _ZN14IRQFavoritesDBC1Ev @ 19 NONAME
- _ZN14IRQFavoritesDBC2Ev @ 20 NONAME
- _ZN14IRQFavoritesDBD0Ev @ 21 NONAME
- _ZN14IRQFavoritesDBD1Ev @ 22 NONAME
- _ZN14IRQFavoritesDBD2Ev @ 23 NONAME
- _ZNK14IRQFavoritesDB10getPresetsEv @ 24 NONAME
- _ZNK14IRQFavoritesDB10metaObjectEv @ 25 NONAME
- _ZNK14IRQFavoritesDB16emptyPresetCountEv @ 26 NONAME
- _ZNK14IRQFavoritesDB9getUniqIdEi @ 27 NONAME
- _ZTI14IRQFavoritesDB @ 28 NONAME DATA 12
- _ZTV14IRQFavoritesDB @ 29 NONAME DATA 56
- _ZN14IRQFavoritesDB12renamePresetERK9IRQPresetRK7QString @ 30 NONAME
+ _ZN14IRQFavoritesDB12deletePresetERK9IRQPreset @ 1 NONAME
+ _ZN14IRQFavoritesDB12renamePresetERK9IRQPresetRK7QString @ 2 NONAME
+ _ZN14IRQFavoritesDB13replacePresetERK9IRQPreset @ 3 NONAME
+ _ZN14IRQFavoritesDB21makePresetUserDefinedEii @ 4 NONAME
+ _ZN14IRQFavoritesDB9addPresetERK9IRQPreset @ 5 NONAME
+ _ZN14IRQFavoritesDBC1Ev @ 6 NONAME
+ _ZN14IRQFavoritesDBC2Ev @ 7 NONAME
+ _ZN14IRQFavoritesDBD1Ev @ 8 NONAME
+ _ZN14IRQFavoritesDBD2Ev @ 9 NONAME
+ _ZNK14IRQFavoritesDB10getPresetsEv @ 10 NONAME
--- a/qtinternetradio/eabi/irqsonghistoryu.def Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-EXPORTS
- _ZN11IRQSongInfo10setAllInfoERK7QStringS2_S2_S2_ @ 1 NONAME
- _ZN11IRQSongInfo11setSongNameERK7QString @ 2 NONAME
- _ZN11IRQSongInfo13setArtistNameERK7QString @ 3 NONAME
- _ZN11IRQSongInfo14setStationNameERK7QString @ 4 NONAME
- _ZN11IRQSongInfo18setMusicshopStatusERK7QString @ 5 NONAME
- _ZN18CIRSongHistoryInfo15SetHistoryInfoLER6RBuf16S1_S1_S1_iiiS1_S1_S1_S1_S1_S1_ @ 6 NONAME
- _ZN18CIRSongHistoryInfo4NewLEv @ 7 NONAME
- _ZN18CIRSongHistoryInfo5NewLCEv @ 8 NONAME
- _ZN18CIRSongHistoryInfoD0Ev @ 9 NONAME
- _ZN18CIRSongHistoryInfoD1Ev @ 10 NONAME
- _ZN18CIRSongHistoryInfoD2Ev @ 11 NONAME
- _ZN18IRQSongHistoryInfoC1Ev @ 12 NONAME
- _ZN18IRQSongHistoryInfoC2Ev @ 13 NONAME
- _ZN18IRQSongHistoryInfoD1Ev @ 14 NONAME
- _ZN18IRQSongHistoryInfoD2Ev @ 15 NONAME
- _ZN20IRQSongHistoryEngine11syncHistoryEi @ 16 NONAME
- _ZN20IRQSongHistoryEngine12openInstanceEv @ 17 NONAME
- _ZN20IRQSongHistoryEngine13closeInstanceEv @ 18 NONAME
- _ZN20IRQSongHistoryEngine13deleteOneItemEi @ 19 NONAME
- _ZN20IRQSongHistoryEngine13getAllHistoryER5QListIP18IRQSongHistoryInfoE @ 20 NONAME
- _ZN20IRQSongHistoryEngine15clearAllHistoryEv @ 21 NONAME
- _ZN20IRQSongHistoryEngine17getAllSongHistoryER5QListIP11IRQSongInfoE @ 22 NONAME
- _ZN20IRQSongHistoryEngine19clearAllSongHistoryEv @ 23 NONAME
- _ZN20IRQSongHistoryEngine19updateSongHistoryDbEiRK7QStringS2_S2_S2_S2_S2_S2_ @ 24 NONAME
- _ZN20IRQSongHistoryEngine22handleMetaDataReceivedERK11IRQMetaDataRK9IRQPreset @ 25 NONAME
- _ZN20IRQSongHistoryEngine24deleteOneSongHistoryItemEi @ 26 NONAME
- _ZN20IRQSongHistoryEngine26handleSongMetaDataReceivedERK11IRQMetaDataRK9IRQPreset @ 27 NONAME
- _ZN20IRQSongHistoryEngine27handleSongMetaDataReceivedLERK11IRQMetaDataRK9IRQPreset @ 28 NONAME
- _ZNK11IRQSongInfo11getSongNameEv @ 29 NONAME
- _ZNK11IRQSongInfo13getArtistNameEv @ 30 NONAME
- _ZNK11IRQSongInfo14getStationNameEv @ 31 NONAME
- _ZNK11IRQSongInfo18getMusicshopStatusEv @ 32 NONAME
- _ZNK18CIRSongHistoryInfo10GetBitrateEv @ 33 NONAME
- _ZNK18CIRSongHistoryInfo11GetImageUrlEv @ 34 NONAME
- _ZNK18CIRSongHistoryInfo11GetSongInfoEv @ 35 NONAME
- _ZNK18CIRSongHistoryInfo12GetChannelIdEv @ 36 NONAME
- _ZNK18CIRSongHistoryInfo12GetGenreNameEv @ 37 NONAME
- _ZNK18CIRSongHistoryInfo12GetStreamUrlEv @ 38 NONAME
- _ZNK18CIRSongHistoryInfo13GetArtistInfoEv @ 39 NONAME
- _ZNK18CIRSongHistoryInfo14GetChannelDescEv @ 40 NONAME
- _ZNK18CIRSongHistoryInfo14GetChannelNameEv @ 41 NONAME
- _ZNK18CIRSongHistoryInfo14GetChannelTypeEv @ 42 NONAME
- _ZNK18CIRSongHistoryInfo14GetCountryNameEv @ 43 NONAME
- _ZNK18CIRSongHistoryInfo15GetLanguageNameEv @ 44 NONAME
- _ZNK18CIRSongHistoryInfo21GetChannelMusicStatusEv @ 45 NONAME
- _ZNK18IRQSongHistoryInfo10getBitrateEv @ 46 NONAME
- _ZNK18IRQSongHistoryInfo11getImageUrlEv @ 47 NONAME
- _ZNK18IRQSongHistoryInfo11getSongNameEv @ 48 NONAME
- _ZNK18IRQSongHistoryInfo12getChannelIdEv @ 49 NONAME
- _ZNK18IRQSongHistoryInfo12getGenreNameEv @ 50 NONAME
- _ZNK18IRQSongHistoryInfo12getStreamUrlEv @ 51 NONAME
- _ZNK18IRQSongHistoryInfo13getArtistNameEv @ 52 NONAME
- _ZNK18IRQSongHistoryInfo14getChannelDescEv @ 53 NONAME
- _ZNK18IRQSongHistoryInfo14getChannelNameEv @ 54 NONAME
- _ZNK18IRQSongHistoryInfo14getChannelTypeEv @ 55 NONAME
- _ZNK18IRQSongHistoryInfo14getCountryNameEv @ 56 NONAME
- _ZNK18IRQSongHistoryInfo15getLanguageNameEv @ 57 NONAME
- _ZNK18IRQSongHistoryInfo19getMusicStoreStatusEv @ 58 NONAME
-
--- a/qtinternetradio/install/ir3_qtinternetradio_armv5_udeb.pkg Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/install/ir3_qtinternetradio_armv5_udeb.pkg Mon Oct 04 00:07:46 2010 +0300
@@ -55,8 +55,7 @@
"\epoc32\release\armv5\udeb\irqisdsclient.dll" - "!:\sys\bin\irqisdsclient.dll"
"\epoc32\release\armv5\udeb\irqmediaplayer.dll" - "!:\sys\bin\irqmediaplayer.dll"
"\epoc32\release\armv5\udeb\irqutility.dll" - "!:\sys\bin\irqutility.dll"
-"\epoc32\release\armv5\udeb\irqfavorites.dll" - "!:\sys\bin\irqfavorites.dll"
-"\epoc32\release\armv5\udeb\irqsonghistory.dll" - "!:\sys\bin\irqsonghistory.dll"
+"\epoc32\release\armv5\udeb\irqfavorites.dll" - "!:\sys\bin\irqfavorites.dll"
"\epoc32\release\armv5\udeb\irqsettings.dll" - "!:\sys\bin\irqsettings.dll"
"\epoc32\release\armv5\udeb\irqnwkinfoobserver.dll" - "!:\sys\bin\irqnwkinfoobserver.dll"
"\epoc32\release\armv5\udeb\irqstatisticsreporter.dll" - "!:\sys\bin\irqstatisticsreporter.dll"
--- a/qtinternetradio/install/ir3_qtinternetradio_armv5_urel.pkg Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/install/ir3_qtinternetradio_armv5_urel.pkg Mon Oct 04 00:07:46 2010 +0300
@@ -56,8 +56,7 @@
"\epoc32\release\armv5\urel\irqisdsclient.dll" - "!:\sys\bin\irqisdsclient.dll"
"\epoc32\release\armv5\urel\irqmediaplayer.dll" - "!:\sys\bin\irqmediaplayer.dll"
"\epoc32\release\armv5\urel\irqutility.dll" - "!:\sys\bin\irqutility.dll"
-"\epoc32\release\armv5\urel\irqfavorites.dll" - "!:\sys\bin\irqfavorites.dll"
-"\epoc32\release\armv5\urel\irqsonghistory.dll" - "!:\sys\bin\irqsonghistory.dll"
+"\epoc32\release\armv5\urel\irqfavorites.dll" - "!:\sys\bin\irqfavorites.dll"
"\epoc32\release\armv5\urel\irqsettings.dll" - "!:\sys\bin\irqsettings.dll"
"\epoc32\release\armv5\urel\irqnwkinfoobserver.dll" - "!:\sys\bin\irqnwkinfoobserver.dll"
"\epoc32\release\armv5\urel\irqstatisticsreporter.dll" - "!:\sys\bin\irqstatisticsreporter.dll"
--- a/qtinternetradio/install/rd-key.pem Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDLRF+r1FGGkCwTrb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW4
-6Y+LWaA8HMlDdoHRB0FgASisYcFagwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh
-7W7Dt9F5FZij8F7/9Pi6+FhhxZFIf1DD+yry9D7+Sp+BgdNALe4XOpf25QIBAwKB
-gQCHgupyjYuvCsgNHn7PNtnvVxInrB5MQNoPli+O+uNJWUK/Q+57Rl+yO8AoEzDX
-pFaLWiuVVhsdloDnAgabT/FXzYncs6uOHyEUV+dSXb78vtLPJqAX+Fg2i3hOXreB
-yskcZ13/OsKVOu5wgrJkx2baZufkqMwOSytf5y9nwjEIKwJBAP+inobagVNrN62j
-KQva3cC+UN/6XnKdTc0CA6bHyLOaJoH1xiMwG/VS2PGjHI0tiSMNtLn/QPpHJ003
-iabGhdUCQQDLjp/9UjFT6K6CF66Chqf30pZXhx+GTSQZmv/gvZiMly7X9fX9BGX3
-2MbJohBC4yI21XKTbisWywkF73Hwh+TRAkEAqmxprzxWN5zPyRdwspHpKymLP/w+
-9xOJM1atGdqFzRFvAU6EF3Vn+OHl9my9s3OwwgkjJqorUYTE3iUGby8D4wJBAIe0
-aqjhdjfwdFa6dFcEb/qMZDpaFQQzbWZnVUB+ZbMPdI/5TqitmU/l2dvBYCyXbCSO
-TGJJcg8yBgP09qBamIsCQFL7j1tM0XPVQJQ89WpKCld7O9ORxRGVj1eG0tWijrH8
-mGbYh8SGCVoWV3vrKSS8GBrFVgQnqUaHuEdtM7tpCAQ=
------END RSA PRIVATE KEY-----
--- a/qtinternetradio/install/rd.cer Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICzDCCAjWgAwIBAgIBADANBgkqhkiG9w0BAQUFADArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZTAeFw0wNDExMTUxMjQyMDZaFw0z
-NzA5MjMxMjQyMDZaMCsxEDAOBgNVBAoTB1JEIENlcnQxFzAVBgNVBAMTDlJEIENl
-cnRpZmljYXRlMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDLRF+r1FGGkCwT
-rb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW46Y+LWaA8HMlDdoHRB0FgASisYcFa
-gwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh7W7Dt9F5FZij8F7/9Pi6+FhhxZFI
-f1DD+yry9D7+Sp+BgdNALe4XOpf25QIBA6OCAQAwgf0wDAYDVR0TBAUwAwEB/zAL
-BgNVHQ8EBAMCAoQwHQYDVR0OBBYEFFi/kuGzxhVpjGxe9ZwlxC3fH9jFMFMGA1Ud
-IwRMMEqAFFi/kuGzxhVpjGxe9ZwlxC3fH9jFoS+kLTArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZYIBADBsBgNVHSAEZTBjMGEGBFUd
-IAAwWTATBggrBgEFBQcCARYHaHR0cDovLzBCBggrBgEFBQcCAjA2GjRGb3IgUiZE
-IHVzYWdlIG9ubHkuIFRoaXMgY2VydGlmaWNhdGUgaXMgbm90IHRydXN0ZWQuMA0G
-CSqGSIb3DQEBBQUAA4GBAHGB4RQMAgBdeT2hxfOr6f2nA/dZm+M5yX5daUtZnET9
-Ed0A9sazLawfN2G1KFQT9kxEParAyoAkpbMAsRrnRz/9cM3OHgFm/NiKRnf50DpT
-7oCx0I/65mVD2kt+xXE62/Ii5KPnTufIkPi2uLvURCia1tTS8JmJ8dtxDGyQt8BR
------END CERTIFICATE-----
--- a/qtinternetradio/irdb/inc/channelhistorywrapper.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/inc/channelhistorywrapper.h Mon Oct 04 00:07:46 2010 +0300
@@ -28,6 +28,8 @@
public:
/*
* RowData: [direction: in]table row value;
+ * reminder, channelUrl and bitrate can't be input from here;
+ * if the enum of channelUrl or bitrate is used here, return false;
* cidUserDefined: [direction: out] return the channelid allocated by IRDB,
* the channelId is a user-defined channelId;
* logoMap: [direction: in]the logo rowData will be inserted into irdb via this structure;
@@ -75,13 +77,11 @@
private:
/*
* search channelId according to parameter;
- * condUserCidStr:[direction: in]specific condition(where) string for user-define uid;
* condAND: [direction: in]condition for search channelHistory, it is AND relationship in every pair;
* condOR: [direction: in]condition for search channelHistory, it is OR relationship in every pair;
* uint: return channelId;
*/
- uint srhChannelId(QString& condUserCidStr,
- const columnMap* const condAND,
+ uint srhChannelId(const columnMap* const condAND = NULL,
const columnMap* const condOR = NULL);
};
--- a/qtinternetradio/irdb/inc/irdb.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/inc/irdb.h Mon Oct 04 00:07:46 2010 +0300
@@ -69,6 +69,7 @@
const uint& channelId,
const QString& aCondSqlStr,
const QList<QByteArray>* apImgList = NULL,
+ const int logoType = 0,
bool bPreHandle = false);
/*
* action is invoked from view of go to station;
@@ -85,7 +86,8 @@
uint* const cidRet = NULL,
const QString& condStr = NULL,
const QString& condUserCidStr = NULL,
- const QList<QByteArray>* apImgList = NULL);
+ const QList<QByteArray>* apImgList = NULL,
+ const int logoType = 0);
/*
* this fuction is used while synchronization data with iSDS side;
@@ -163,10 +165,22 @@
*/
IRDBCHAR updRowImg(const uint& channelId,
const QString& updSqlStr,
- QList<QByteArray>* apImgList = NULL);
+ QList<QByteArray>* apImgList = NULL,
+ const int logotype = 0);
public:
/*
+ * handle request from search view;
+ * aSqlList, sql string list, this list is provided by wrapper level;
+ * bBegin, if bBeging is true,it will invoke the operation of open db's connection.
+ */
+ IRDBCHAR handleRstFromSrhView(const uint& channelId, const QStringList& aSqlList, bool bBegin=true);
+
+ /*
+ * call this function after call handleRstFromSrhView;
+ */
+ void closeIRDBConnection();
+ /*
* DELETE rows in
* channelHistory, searchRlt, songHistory, favorites, advertisement;
* rows in img, channelInfo and urlInfo can't be removed directly.
@@ -174,13 +188,15 @@
IRDBCHAR deleteRow(const QString& aDltSqlStr);
/*
- * DELETE rows in
- * channelHistory, searchRlt, songHistory, favorites, advertisement;
- * rows in img, channelInfo and urlInfo can't be removed directly.
+ * select rows from IRDB
+ * aBegin, aBegin is 0, will invoke the action of open db connection;
+ * aBegin == aEnd, will invoke the action of close db connection;
*/
IRDBCHAR selectRow(IRDBWrapper* const apWrapper,
const QString& aSltSqlStr,
- QList<QVariant*>* pDataSet);
+ QList<QVariant*>* pDataSet,
+ int aBegin = 0,
+ int aEnd = 0);
public:
/*
@@ -229,7 +245,7 @@
* search channelid from channelInfo table;
*/
IRDBCHAR isChannelIdExisted(uint channelId);
-
+
private:
//IRDB Instance
QSqlDatabase m_sqlDB;
@@ -242,6 +258,9 @@
// The static instance
static IRDB* mpIRDBInstance;
+
+ //for data batch handle
+ QSqlQuery* iIRQuery2;
};
--- a/qtinternetradio/irdb/inc/irdbviewstruct.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/inc/irdbviewstruct.h Mon Oct 04 00:07:46 2010 +0300
@@ -29,11 +29,15 @@
typedef QMap<uint, QString> columnMap;
typedef QMap<uint, QByteArray> logoMap;
-enum EColumnLogo{bLogoInsert, sLogoInsert};
+enum EColumnLogo{bLogo, sLogo};
const QString colNameLogo[] = {"bIcon", "sIcon"};
const QString strBLogo = ":bIcon";
const QString strSLogo = ":sIcon";
+const int IRDB_BOTH_LOGO = 0x03;// both logo, big and small is in logodata;
+const int IRDB_BIG_LOGO = 0x01; //big logo is in logodata;
+const int IRDB_SMALL_LOGO = 0x02; //small logo is in logodata
+
const int IRDB_ALL_COLUMN = 25;
const int IRDB_OPT_INSERT = 1;
const int IRDB_OPT_UPDATE = 2;
@@ -51,7 +55,7 @@
lastModified, channelType, musicStoreStatus,
imgUrl, bLogoGet, sLogoGet,
advertisementUrl, advertisementInUse, expiration,
- songName, artistName, channelUrl, opt, dataSource};
+ songName, artistName, channelUrl, bitRate, opt, dataSource};
const QString colNameView[] = {"channelId", "channelName", "channelNickName",
"genreName", "genreId", "languageName", "languageCode",
@@ -59,7 +63,7 @@
"lastModified", "channelType", "musicStoreStatus",
"imgUrl", "bIcon", "sIcon",
"advertisementUrl", "advertisementInUse", "expiration",
- "songName", "artistName", "channelUrl", "opt", "dataSource"};
+ "songName", "artistName", "channelUrl", "bitRate", "opt", "dataSource"};
//flag of data belong to channelHistory;
const int DATA_OF_CHANNELHISTORY = 1;
--- a/qtinternetradio/irdb/inc/irdbwrapper.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/inc/irdbwrapper.h Mon Oct 04 00:07:46 2010 +0300
@@ -38,13 +38,19 @@
* If all parameters are default, all cid rows in IRDB will return;
* condAND: condition for search IRDB, it is AND relationship in every pair;
* condOR: condition for search IRDB, it is OR relationship in every pair;
+ * here below enum can be input as condition(condAND or condOR):
+ * channelId, channelName, channelNickName,
+ genreName, genreId, languageName, languageCode,
+ countryName, countryCode, description, shortDesc,
+ lastModified, channelType, musicStoreStatus,
+ imgUrl,
+ advertisementUrl, advertisementInUse, expiration,
+ channelUrl, bitRate;
*/
QList<uint>* getChannelId(const columnMap* const condAND = NULL,
const columnMap* const condOR = NULL);
-friend class IRDB;
-protected:
/*
* If all parameters are default, all rows in IRDB will return;
* condAND: condition for search IRDB, it is AND relationship in every pair;
@@ -53,6 +59,8 @@
QList<QVariant*>* getIRDB(const columnMap* const condAND = NULL,
const columnMap* const condOR = NULL);
+ friend class IRDB;
+
protected:
/*
* create sql condition(where) string according to the input condAND and condAND;
@@ -80,7 +88,8 @@
QString& insSqlStr,
QString& updSqlStr,
const logoMap* const logoData = NULL,
- QList<QByteArray>* logoArrayList = NULL);
+ QList<QByteArray>* logoArrayList = NULL,
+ int* logoType = NULL);
/*
* create sql select string according to the input condAND and condOR;
--- a/qtinternetradio/irdb/inc/irsqlstr.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/inc/irsqlstr.h Mon Oct 04 00:07:46 2010 +0300
@@ -20,7 +20,7 @@
const QString IRDBName = "IRDB.db";
-#ifdef Q_CC_NOKIAX86
+#ifdef PLATSIM_DEBUG_CONF
const QString IRDBFile = IRDBName;
#else
const QString IRDBFile = "c:\\private\\2002FFAC\\IRDB.db";
@@ -31,8 +31,9 @@
const QString IRDBConnectionName("IR");
const QString IRDBSrhCIdCntFrmChannelInfo("select count(channelId) from channelInfo where channelId =");
const QString IRDBSrhCIdCntFrmFavorites("select count(channelId) from favorites where channelId =");
-const QString IRDBSrhCIdFrmView("select channelid from IRVIEW_CHANNELINFO ");
-const QString IRDBSrhAllFrmView("select * from IRVIEW_CHANNELINFO ");
+const QString IRDBSrhCIdFrmChannelInfo("select channelid from IRVIEW_CHANNELINFO ");
+const QString IRDBSrhCIdFrmView("select channelId from IRVIEW_ALL ");
+const QString IRDBSrhAllFrmView("select * from IRVIEW_ALL ");
const QString IRDBInsertIRBuff("insert into IRBuff (channelid, datasource, opt) values(");
const QString IRDBSrhCIdCntFrmSongHistory("select count(channelId) from songHistory where songName =");
const QString IRDBSrhCIdCntFrmChannelHistory("select count(channelId) from channelHistory where channelId =");
@@ -82,7 +83,7 @@
[description] nvarchar(255), \
[shortDesc] nvarchar(255), \
[lastModified] datetime DEFAULT (datetime(current_timestamp,'localtime')), \
-[musicStoreStatus] numeric(1) DEFAULT (1), \
+[musicStoreStatus] nvarchar(6), \
[imgUrl] nvarchar(255), \
[bIcon] BLOB, \
[sIcon] BLOB, \
@@ -298,6 +299,11 @@
refCnt = refCnt+1 \
where channelId = new.channelId; \
\
+UPDATE channelInfo \
+SET channelType = 0 \
+WHERE channelId = new.channelID \
+AND new.channelID >= 4026531840; \
+\
delete from channelHistory \
where channelLatestPlayTime = ( select min(channelLatestPlayTime) from channelHistory) \
AND (select count(*) from channelHistory)> 100; \
@@ -354,6 +360,11 @@
where \
channelId = new.channelId; \
\
+UPDATE channelInfo \
+SET channelType = 0 \
+WHERE channelId = new.channelID \
+AND new.channelID >= 4026531840; \
+\
delete from searchRlt \
where SID = ( select min(SID) from searchRlt) AND (select count(*) from searchRlt)> 100; \
\
@@ -389,7 +400,7 @@
[channelName] nvarchar(255) ,\
[channelNickName] nvarchar(255) ,\
[genreName] nvarchar(255) ,\
-[genreId] nvarchar(64)), \
+[genreId] nvarchar(64),\
[languageName] nvarchar(255) ,\
[languageCode] nvarchar(8) ,\
[countryName] nvarchar(255) ,\
@@ -398,24 +409,10 @@
[shortDesc] nvarchar(255) ,\
[lastModified] datetime DEFAULT (datetime(current_timestamp,'localtime')), \
[channelType] numeric(1) DEFAULT (1) ,\
-[musicStoreStatus] numeric(1) NOT NULL ,\
+[musicStoreStatus] nvarchar(6) ,\
[refCnt] numeric(1) DEFAULT (0));");
-/*
-* Define for channelInfo Insert trigger;
-* the refCnt default value is 1;
-*/
-const QString TRI_INSERT_CHANNELINFO("CREATE TRIGGER [TRI_INSERT_channelInfo] \
-AFTER INSERT ON [channelInfo] FOR EACH ROW \
-BEGIN \
-\
-UPDATE channelInfo \
-SET channelType = 0 \
-WHERE channelId = new.channelID \
-AND new.channelID > 4294967295; \
-\
-END;");
/*
@@ -461,6 +458,21 @@
[bIcon] BLOB, \
[sIcon] BLOB); ");
+/*
+* Definition for trigger img table;
+* when imgurl is updated(old.value isn't same with new.value),
+* the logo info in database will be remvoed;
+*/
+const QString TRI_UPDATE_IMG("CREATE TRIGGER [IRI_UPDATE_img] \
+AFTER UPDATE \
+ON [img] \
+FOR EACH ROW \
+BEGIN \
+update img \
+set sIcon = NULL, bIcon = NULL \
+where new.imgurl <> old.imgurl; \
+\
+END; ");
/**************************************************
@@ -562,7 +574,7 @@
AND artistName = new.artistName; \
\
delete from songHistory \
-where songPlaySeq = ( select min(songPlaySeq) from searchRlt) \
+where songPlaySeq = ( select min(songPlaySeq) from songHistory) \
AND (select count(*) from songHistory)> 100; \
END;");
@@ -702,26 +714,32 @@
select \
IRView_channelinfo.* \
from \
-channelHistory LEFT JOIN IRView_channelinfo ON channelHistory.[channelId] = IRView_channelinfo.[channelID] ");
+channelHistory \
+LEFT JOIN \
+IRView_channelinfo ON channelHistory.[channelId] = IRView_channelinfo.[channelID] \
+order by channelHistory.[channelLatestPlayTime] desc ");
const QString IRVIEW_FAVORITES(" Create View [IRVIEW_favorites] As \
select \
-IRView_channelinfo.*, favorites.[FavSeq] \
+IRView_channelinfo.* \
from \
-favorites LEFT JOIN IRView_channelinfo ON favorites.[channelId] = IRView_channelinfo.[channelID] ");
+favorites LEFT JOIN IRView_channelinfo ON favorites.[channelId] = IRView_channelinfo.[channelID] \
+order by favorites.[FavSeq] desc ");
const QString IRVIEW_SEARCHRLT(" Create View [IRVIEW_searchRlt] As \
select \
IRView_channelinfo.* \
from \
-searchRlt LEFT JOIN IRView_channelinfo ON searchRlt.[channelId] = IRView_channelinfo.[channelID] ");
+searchRlt LEFT JOIN IRView_channelinfo ON searchRlt.[channelId] = IRView_channelinfo.[channelID] \
+order by searchRlt.[channelLatestSrhTime] asc ");
const QString IRVIEW_SONGHISTORY("Create View [IRVIEW_songHistory] As \
select \
-IRView_channelinfo.*, songHistory.[songName], songHistory.[artistName], songHistory.[songPlaySeq] \
+IRView_channelinfo.*, songHistory.[songName], songHistory.[artistName] \
from \
-songHistory LEFT JOIN IRView_channelinfo ON songHistory.[channelId] = IRView_channelinfo.[channelID] ");
+songHistory LEFT JOIN IRView_channelinfo ON songHistory.[channelId] = IRView_channelinfo.[channelID] \
+order by songHistory.[songPlaySeq] desc ");
const QString IR_VIEW_SRH_USERCID(" CREATE VIEW [IR_VIEW_SRH_USERCID] As \
@@ -729,6 +747,14 @@
FROM channelinfo LEFT JOIN urlInfo ON channelinfo.channelID = urlInfo.channelID ");
+const QString IR_VIEW_ALL("Create View [IRVIEW_ALL] As \
+select \
+IRView_channelinfo.*,urlInfo.[channelUrl], urlInfo.[bitRate] \
+from \
+IRView_channelInfo \
+LEFT JOIN \
+urlinfo ON IRView_channelinfo.[channelID] = urlInfo.[channelID] ");
+
/**************************************************
* define for drop IRDB VIEW, TABLE AND TRIGGER
***************************************************/
--- a/qtinternetradio/irdb/inc/searchrltwrapper.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/inc/searchrltwrapper.h Mon Oct 04 00:07:46 2010 +0300
@@ -27,6 +27,14 @@
public:
/*
+ * RowData: [direction: in] table row value
+ * bOpt: [direction: in] true = the db connection should be open;
+ */
+ bool addSearchRlt(const columnMap* const RowData,
+ bool bOpt = true);
+
+ void addSearchRltFinished();
+ /*
* RowData: [direction: in]table row value;
* condAND: [direction: in]condition for search searchRlt, it is AND relationship in every pair;
* condOR: [direction: in]condition for search searchRlt, it is OR relationship in every pair;
@@ -69,10 +77,17 @@
* condOR: [direction: in]condition for search channelHistory, it is OR relationship in every pair;
* uint: return channelId;
*/
- uint srhChannelId(QString& condUserCidStr,
- const columnMap* const condAND,
+ uint srhChannelId(const columnMap* const condAND = NULL,
const columnMap* const condOR = NULL);
-
+ /*
+ * create QString List for handle(insert/update) the data come from search view
+ * channelId: [direction: in] channel id;
+ * RowData: [direction: in] input data;
+ * sqlList: [direction: out] return sql string;
+ */
+ void combineSqlStr(const uint& channelId,
+ const columnMap* const RowData,
+ QStringList& sqlList);
};
#endif
--- a/qtinternetradio/irdb/inc/urlinfowrapper.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/inc/urlinfowrapper.h Mon Oct 04 00:07:46 2010 +0300
@@ -35,9 +35,14 @@
*/
bool resetUrlInfo(const columnUrlInfoInsertMap* const RowData,
const uint& channelId);
-
+ /*
+ * aBegin, aBegin is 0, will invoke the action of open db connection;
+ * aBegin == aEnd, will invoke the action of close db connection;
+ */
QList<QVariant*>* getUrlInfo(const columnMap* const condAND = NULL,
- const columnMap* const condOR = NULL);
+ const columnMap* const condOR = NULL,
+ int aBegin = 0,
+ int aEnd = 0);
private:
/*
--- a/qtinternetradio/irdb/src/channelhistorywrapper.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/channelhistorywrapper.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -75,8 +75,7 @@
return true;
}
-uint channelHistoryWrapper::srhChannelId(QString& condUserCidStr,
- const columnMap* const condAND,
+uint channelHistoryWrapper::srhChannelId(const columnMap* const condAND,
const columnMap* const condOR)
{
uint srhCID = 0;
@@ -90,12 +89,13 @@
{
srhCID = (condOR->value(channelId)).toUInt();
}
-
+#if 0
if(srhCID)
{
return srhCID ;
}
+
//channelId column is false
//only one case, go to station view, channelUrl and channelNickName
//search channelId according to urlinof and channelNickName;
@@ -104,14 +104,22 @@
{
if( ( !(condAND->value(channelUrl).isEmpty()) )&&( !(condAND->value(channelNickName).isEmpty()) ) )
{
+ QString escStr;
+
srhStr = "where "+ colNameView[channelUrl] + " = ";
- srhStr = srhStr + "'" + condAND->value(channelUrl) + "' AND " ;
+ escStr = condAND->value(channelUrl);
+ escStr.replace('\'', "\'\'");
+ srhStr = srhStr + "'" + escStr + "' AND " ;
+
srhStr = srhStr + colNameView[channelNickName] + " = ";
- srhStr = srhStr + "'" + condAND->value(channelNickName) + "'";
+ escStr = condAND->value(channelNickName);
+ escStr.replace('\'', "\'\'");
+ srhStr = srhStr + "'" + escStr + "'";
}
condUserCidStr = srhStr;
}
-
+#endif
+
return srhCID;
}
@@ -136,19 +144,29 @@
columnMap* const RowDataAppend = const_cast<columnMap*>(RowData);
QList<QByteArray>* pImgList = NULL;
bool ret = true;
+ int logoType = 0;
- if( NULL == RowData )
+ if( ( NULL == RowData )&&(NULL == logoData) )
{
return false;
}
-
- if(RowData->isEmpty())
+
+ if(RowData)
{
- return false;
+ if(RowData->isEmpty())
+ {
+ return false;
+ }
}
-
+ if(logoData)
+ {
+ if(logoData->isEmpty())
+ {
+ return false;
+ }
+ }
if( (NULL != condAND)&&(NULL != condOR) )
{
return false;
@@ -170,11 +188,6 @@
}
}
- if(cidUserDefined)
- {
- *cidUserDefined = 0;
- }
-
insSqlStr = "insert into IRBuff ";
updSqlStr = "update IRBuff set ";
RowDataAppend->insert(opt, QString::number(IRDB_OPT_INSERT));
@@ -183,8 +196,8 @@
if(NULL != logoData)
{
pImgList = new QList<QByteArray>();
- combinePutStr(RowDataAppend, colNameView, insSqlStr, updSqlStr, logoData, pImgList);
- *pImgList=logoData->values();
+ combinePutStr(RowDataAppend, colNameView, insSqlStr, updSqlStr, logoData, pImgList, &logoType);
+ //*pImgList=logoData->values();
}
else
@@ -194,22 +207,22 @@
if( (NULL == condAND)&&(NULL == condOR) )
{
- uCid = srhChannelId(condUserCidStr,RowData);
+ uCid = srhChannelId(RowData);
}
else //here it must be "update" operation; condition string
{
- uCid = srhChannelId(condUserCidStr,condAND, condOR);
+ uCid = srhChannelId(condAND, condOR);
combineCondStr(condAND, condOR, colNameView, condSqlStr);
}
if(uCid)
{
//updSqlStr += condSqlStr;
- m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, uCid, condSqlStr, pImgList)? ret = false:true;
+ m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, uCid, condSqlStr, pImgList, logoType)? ret = false:true;
}
else //here deliver the updSqlstr and condSqlStr seperately.
{
- m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, cidUserDefined, condSqlStr, condUserCidStr, pImgList)?ret = false:true;
+ m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, cidUserDefined, condSqlStr, condUserCidStr, pImgList, logoType)?ret = false:true;
}
if(pImgList)
@@ -248,7 +261,7 @@
}
}
- sltSqlStr = "select * from IRView_channelinfo ";
+ sltSqlStr = "select * from IRVIEW_CHANNELHISTORY ";
combineGetStr(condAND, condOR, colNameView,sltSqlStr);
pDataSet = new QList<QVariant*>();
if( m_pIRDB->selectRow(this, sltSqlStr, pDataSet) )
--- a/qtinternetradio/irdb/src/favoriteswrapper.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/favoriteswrapper.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -120,7 +120,7 @@
}
combineGetStr(condAND, condOR, colNameView, sltSqlStr);
- sltSqlStr = sltSqlStr + " order by FavSeq desc ";
+// sltSqlStr = sltSqlStr + " order by FavSeq desc ";
pDataSet = new QList<QVariant*>();
if( m_pIRDB->selectRow(this, sltSqlStr, pDataSet) )
{
--- a/qtinternetradio/irdb/src/imgwrapper.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/imgwrapper.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -35,32 +35,35 @@
QString updSqlStr;
QList<QByteArray>* pImgList = NULL;
bool ret = true;
+ int logoType;
if(!channelId)
{
return false;
}
- if( NULL == RowData )
+ if( ( NULL == RowData )&&(NULL ==logoData) )
{
return false;
}
-
- if(RowData->isEmpty())
+ if(RowData)
{
- return false;
- }
+ if(RowData->isEmpty())
+ {
+ return false;
+ }
- if( true != (RowData->value(channelId)).isEmpty() )
- {
- return false;
- }
+ if( true != (RowData->value(channelId)).isEmpty() )
+ {
+ return false;
+ }
+ }
updSqlStr = "update img set ";
if(NULL != logoData)
{
pImgList = new QList<QByteArray>();
- combinePutStr(RowData, colNameView, insSqlStr, updSqlStr, logoData, pImgList);
+ combinePutStr(RowData, colNameView, insSqlStr, updSqlStr, logoData, pImgList, &logoType);
}
else
@@ -71,7 +74,7 @@
//create insSqlstr and updSqlStr in advance;
updSqlStr = updSqlStr + "where channelId = " + QString::number(channelId);
- m_pIRDB->updRowImg(channelId, updSqlStr, pImgList)? ret = false:true;
+ m_pIRDB->updRowImg(channelId, updSqlStr, pImgList, logoType)? ret = false:true;
if(pImgList)
{
delete pImgList;
@@ -84,7 +87,7 @@
QList<QVariant*>* imgWrapper::getImg(const columnMap* const condAND,
const columnMap* const condOR)
{
- QString sltSqlStr = "select * from IRVIEW_channelinfo ";
+ QString sltSqlStr = "select * from img ";
QList<QVariant*>* pDataSet = NULL;
if( (NULL != condAND)&&(NULL != condOR) )
--- a/qtinternetradio/irdb/src/irdb.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/irdb.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -41,11 +41,16 @@
#define IRDB_CID_UNEXISTED (0x11)
#define IRDB_CID_USER_DEFINE (0xF0000000)
+#define INS_CHANNELINFO_FRM_SRHVIEW (0x00)
+#define INS_IMG_FRM_SRHVIEW (0x01)
+#define INS_SEARCHRLT_FRM_SRHVIEW (0x02)
+#define UPD_CHANNELINFO_FRM_SRHVIEW (0x03)
+#define UPD_IMG_FRM_SRHVIEW (0x04)
IRDB* IRDB::mpIRDBInstance = NULL;
QMutex IRDB::mMutex;
-IRDB::IRDB(): m_RefCnt(0)
+IRDB::IRDB(): m_RefCnt(0),iIRQuery2(NULL)
{
}
@@ -149,15 +154,16 @@
\
<<TRI_INSERT_IRBUFF<<TRI_UPDATE_IRBUFF \
<<TRI_INSERT_SEARCHRLT<<TRI_DELETE_SEARCHRLT \
- <<TRI_INSERT_CHANNELINFO<<TRI_UPDATE_CHANNELINFO<<TRI_DELETE_CHANNELINFO \
+ <<TRI_UPDATE_CHANNELINFO<<TRI_DELETE_CHANNELINFO \
<<TRI_INSERT_CHANNELHISTORY<<TRI_DELETE_CHANNELHISTORY \
<<TRI_INSERT_ADVERTISEMENT<<TRI_UPDATE_ADVERTISEMENT \
+ <<TRI_UPDATE_IMG \
\
<<TRI_INSERT_SONGHISTORY<<TRI_UPDATE_SONGHISTORY<<TRI_DELETE_SONGHISTORY \
<<TRI_INSERT_FAVORITES<<TRI_UPDATE_FAVORITES<<TRI_DELETE_FAVORITES \
\
<<IRVIEW_CHANNELINFO1<<IRVIEW_CHANNELINFO<<IRVIEW_CHANNELHISTORY<<IR_VIEW_SRH_USERCID \
- <<IRVIEW_FAVORITES<<IRVIEW_SEARCHRLT<<IRVIEW_SONGHISTORY ;
+ <<IRVIEW_FAVORITES<<IRVIEW_SEARCHRLT<<IRVIEW_SONGHISTORY<<IR_VIEW_ALL ;
for(int i = 0; i<sqlList.size();i++)
@@ -206,14 +212,15 @@
uint* const retCid,
const QString& aCondSqlStr,
const QString& condUserCidStr,
- const QList<QByteArray>* apImgList)
+ const QList<QByteArray>* apImgList,
+ const int logoType)
{
IRDBCHAR ret = IRDB_ERR_NONE;
//channelId value 0 don't be used in CIRDB;
uint channelId = 0;
//sql string for search cid according to nickname and url;
QString strSrhCid = IRDBSrhUserCid + condUserCidStr;
- QString strSrhDataSet = IRDBSrhCIdFrmView + aCondSqlStr;
+ QString strSrhDataSet = IRDBSrhCIdFrmChannelInfo + aCondSqlStr;
//initialize the channelId for application level;
if(retCid)
@@ -326,7 +333,7 @@
* for the synchoronization concern, the m_sqlDB can't be closed until all the process is compeleted;
* m_sqlDB.close();
*/
- ret = chgRowIRDB(aInsSqlStr, aUpdSqlStr, channelId, aCondSqlStr, apImgList, true);
+ ret = chgRowIRDB(aInsSqlStr, aUpdSqlStr, channelId, aCondSqlStr, apImgList, logoType, true);
}
/* else
{
@@ -345,6 +352,7 @@
const uint& channelId,
const QString& aCondSqlStr,
const QList<QByteArray>* apImgList,
+ const int logoType,
bool bPreHandle)
{
IRDBCHAR ret = IRDB_ERR_NONE;
@@ -410,8 +418,25 @@
else
{
iIRQuery.prepare(aUpdSqlStr);
- iIRQuery.bindValue(strBLogo, apImgList->at(bLogoInsert));
- iIRQuery.bindValue(strSLogo, apImgList->at(sLogoInsert));
+ //when there are both big and small logo, first insert blogo and next insert slogo is required;
+ if(IRDB_BOTH_LOGO == logoType)
+ {
+ iIRQuery.bindValue(strBLogo, apImgList->at(bLogo));
+ iIRQuery.bindValue(strSLogo, apImgList->at(sLogo));
+ }
+ else
+ {
+ if( IRDB_BIG_LOGO == logoType&IRDB_BOTH_LOGO )
+ {
+ iIRQuery.bindValue(strBLogo, apImgList->at(0));
+ }
+ if(IRDB_SMALL_LOGO == logoType&IRDB_BOTH_LOGO)
+ {
+ iIRQuery.bindValue(strSLogo, apImgList->at(0));
+ }
+
+ }
+
if(false == iIRQuery.exec())
{
ret = IRDB_ERR_UPDATE;
@@ -432,8 +457,25 @@
else
{
iIRQuery.prepare(aInsSqlStr);
- iIRQuery.bindValue(strBLogo, apImgList->at(bLogoInsert));
- iIRQuery.bindValue(strSLogo, apImgList->at(sLogoInsert));
+ //when there are both big and small logo, first insert blogo and next insert slogo is required;
+ if(IRDB_BOTH_LOGO == logoType)
+ {
+ iIRQuery.bindValue(strBLogo, apImgList->at(bLogo));
+ iIRQuery.bindValue(strSLogo, apImgList->at(sLogo));
+ }
+ else
+ {
+ if( IRDB_BIG_LOGO == logoType&IRDB_BOTH_LOGO )
+ {
+ iIRQuery.bindValue(strBLogo, apImgList->at(0));
+ }
+ if(IRDB_SMALL_LOGO == logoType&IRDB_BOTH_LOGO)
+ {
+ iIRQuery.bindValue(strSLogo, apImgList->at(0));
+ }
+
+ }
+
if(false == iIRQuery.exec())
{
ret = IRDB_ERR_UPDATE;
@@ -517,6 +559,94 @@
}
+IRDBCHAR IRDB::handleRstFromSrhView(const uint& channelId, const QStringList& aSqlList, bool bBegin)
+{
+ QString strIsCIDExist = IRDBSrhCIdCntFrmChannelInfo + QString::number(channelId);
+ IRDBCHAR ret = IRDB_ERR_NONE;
+
+ if(0 == channelId)
+ {
+ return IRDB_CID_UNEXISTED;
+ }
+ if(true == bBegin)
+ {
+ if(false == openIRDBConnection())
+ {
+ return IRDB_ERR_OPEN;
+ }
+ iIRQuery2 = new QSqlQuery(m_sqlDB);
+ }
+
+
+
+ //iIRQuery.clear();
+ if(false == iIRQuery2->exec(strIsCIDExist))
+ {
+ ret = IRDB_ERR_SELECT;
+ }
+ else
+ {
+ iIRQuery2->next();
+ if(0 != iIRQuery2->value(0).toInt())
+ {
+ ret = IRDB_CID_EXISTED;
+ }
+ }
+
+ if(IRDB_CID_EXISTED == ret)
+ {
+ ret = IRDB_ERR_NONE;
+ if( false == iIRQuery2->exec(aSqlList.value(INS_SEARCHRLT_FRM_SRHVIEW)) )
+ {
+ ret = IRDB_ERR_INSERT;
+ }
+ //the update string should be excute;
+ if(false == iIRQuery2->exec(aSqlList.value(UPD_CHANNELINFO_FRM_SRHVIEW)))
+ {
+ ret = IRDB_ERR_UPDATE;
+ }
+ if(false == iIRQuery2->exec(aSqlList.value(UPD_IMG_FRM_SRHVIEW)))
+ {
+ ret = IRDB_ERR_UPDATE;
+ }
+ }
+ else if( IRDB_ERR_NONE == ret)
+ {
+ if( false == iIRQuery2->exec(aSqlList.value(INS_CHANNELINFO_FRM_SRHVIEW)) )
+ {
+ ret = IRDB_ERR_INSERT;
+ }
+ else
+ {
+ if(false == iIRQuery2->exec(aSqlList.value(INS_IMG_FRM_SRHVIEW)))
+ {
+ ret = IRDB_ERR_INSERT;
+ }else
+ {
+ if ( false == iIRQuery2->exec(aSqlList.value(INS_SEARCHRLT_FRM_SRHVIEW)) )
+ {
+ ret = IRDB_ERR_INSERT;
+ }
+ }
+
+ }
+ }
+
+ return ret ;
+
+}
+
+
+void IRDB::closeIRDBConnection()
+{
+ if( NULL != iIRQuery2)
+ {
+ iIRQuery2->clear();
+ delete iIRQuery2;
+ iIRQuery2 = NULL;
+ }
+ m_sqlDB.close();
+}
IRDBCHAR IRDB::isChannelIdExisted(uint channelId)
{
@@ -721,7 +851,11 @@
return ret;
}
-IRDBCHAR IRDB::selectRow(IRDBWrapper* const apWrapper, const QString& aCondStr, QList<QVariant*>* pDataSet)
+IRDBCHAR IRDB::selectRow(IRDBWrapper* const apWrapper,
+ const QString& aCondStr,
+ QList<QVariant*>* pDataSet,
+ int aBegin,
+ int aEnd)
{
IRDBCHAR ret = IRDB_ERR_NONE;
@@ -730,9 +864,12 @@
ret = IRDB_ERR_SELECT;
}
- if(false == openIRDBConnection())
- {
- return IRDB_ERR_OPEN;
+ if(0 == aBegin)
+ {
+ if(false == openIRDBConnection())
+ {
+ return IRDB_ERR_OPEN;
+ }
}
QSqlQuery iIRQuery(m_sqlDB);
@@ -755,9 +892,13 @@
ret = IRDB_ERR_WRAPPER;
}
+
- iIRQuery.clear();
- m_sqlDB.close();
+ if(aBegin == aEnd)
+ {
+ iIRQuery.clear();
+ m_sqlDB.close();
+ }
return ret;
}
@@ -824,7 +965,10 @@
/*
* only update imgUrl, imgLocalFile in img table;
*/
-IRDBCHAR IRDB::updRowImg(const uint& channelId, const QString& updSqlStr, QList<QByteArray>* apImgList)
+IRDBCHAR IRDB::updRowImg(const uint& channelId,
+ const QString& updSqlStr,
+ QList<QByteArray>* apImgList,
+ const int logoType)
{
QString strIsCIDExist = IRDBSrhCIdCntFrmChannelInfo + QString::number(channelId) +";";
IRDBCHAR ret = IRDB_ERR_NONE;
@@ -858,8 +1002,24 @@
else
{
iIRQuery.prepare(updSqlStr);
- iIRQuery.bindValue(strBLogo, apImgList->at(bLogoInsert));
- iIRQuery.bindValue(strSLogo, apImgList->at(sLogoInsert));
+ //when there are both big and small logo, first insert blogo and next insert slogo is required;
+ if(IRDB_BOTH_LOGO == logoType)
+ {
+ iIRQuery.bindValue(strBLogo, apImgList->at(bLogo));
+ iIRQuery.bindValue(strSLogo, apImgList->at(sLogo));
+ }
+ else
+ {
+ if( IRDB_BIG_LOGO == logoType&IRDB_BOTH_LOGO )
+ {
+ iIRQuery.bindValue(strBLogo, apImgList->at(0));
+ }
+ if(IRDB_SMALL_LOGO == logoType&IRDB_BOTH_LOGO)
+ {
+ iIRQuery.bindValue(strSLogo, apImgList->at(0));
+ }
+
+ }
if(false == iIRQuery.exec())
{
ret = IRDB_ERR_UPDATE;
--- a/qtinternetradio/irdb/src/irdbwrapper.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/irdbwrapper.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -132,7 +132,8 @@
QString& insSqlStr,
QString& updSqlStr,
const logoMap* const logoData,
- QList<QByteArray>* logoArrayList)
+ QList<QByteArray>* logoArrayList,
+ int* logoType)
{
bool bContinue = false;
columnMap::const_iterator it;
@@ -140,6 +141,7 @@
QString escStr;
insSqlStr += "(";
+
if(NULL != RowData)
{
bContinue = true;
@@ -159,6 +161,14 @@
if(NULL != logoData)
{
+ if(logoType)
+ {
+ *logoType = 0x00; //
+ }
+ else
+ {
+ return;
+ }
itLogoMap = logoData->begin();
while(itLogoMap != logoData->end())
{
@@ -166,7 +176,15 @@
{
insSqlStr += ",";
}
-
+ if(bLogo ==itLogoMap.key())
+ {
+ *logoType += IRDB_BIG_LOGO;
+ }
+ if(sLogo ==itLogoMap.key())
+ {
+ *logoType += IRDB_SMALL_LOGO;
+ }
+
insSqlStr += colNameLogo[itLogoMap.key()];
++itLogoMap;
}
@@ -195,6 +213,7 @@
if(NULL != logoData)
{
+
itLogoMap = logoData->begin();
while(itLogoMap != logoData->end())
{
@@ -202,6 +221,7 @@
{
insSqlStr += ",";
}
+
insSqlStr = insSqlStr + " :"+colNameLogo[itLogoMap.key()];
*logoArrayList<<itLogoMap.value();
@@ -239,6 +259,7 @@
if(NULL != logoData)
{
+
itLogoMap = logoData->begin();
while(itLogoMap != logoData->end())
{
@@ -247,7 +268,7 @@
updSqlStr += ",";
}
- updSqlStr = updSqlStr + colNameLogo[itLogoMap.key()] + "=:"+colNameLogo[itLogoMap.key()];
+ updSqlStr = updSqlStr + colNameLogo[itLogoMap.key()] + "=:"+colNameLogo[itLogoMap.key()] + " ";
++itLogoMap;
}
}
@@ -264,6 +285,7 @@
{
bool bDone = false;
columnMap::const_iterator it;
+ QString escStr;
if(NULL != condAND)
{
@@ -279,8 +301,9 @@
{
condSqlStr += " AND ";
}
-
- condSqlStr = condSqlStr + pArryColName[it.key()] + "=" + "'" + it.value()+ "'" ;
+ escStr = it.value();
+ escStr.replace('\'', "\'\'");
+ condSqlStr = condSqlStr + pArryColName[it.key()] + "=" + "'" + escStr + "'" ;
++it;
}
@@ -307,7 +330,8 @@
{
condSqlStr += " OR ";
}
-
+ escStr = it.value();
+ escStr.replace('\'', "\'\'");
condSqlStr = condSqlStr + pArryColName[it.key()] + "=" + "'" + it.value()+ "'" ;
++it;
}
--- a/qtinternetradio/irdb/src/searchrltwrapper.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/searchrltwrapper.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -15,6 +15,7 @@
#include <QSqlQuery>
#include <QVariant>
+#include <QStringList>
#include "searchrltwrapper.h"
#include "irdb.h"
@@ -26,6 +27,199 @@
{
}
+void searchRltWrapper::combineSqlStr(const uint &cid,
+ const columnMap* const RowData,
+ QStringList &sqlList)
+{
+ columnMap::const_iterator it;
+ QString insSqlstrCnlInfo = "insert into channelInfo( ";
+ QString insSqlstrImg = "insert into img( ";
+ QString insSqlstrSrhRlt = "insert into searchrlt( ";
+ QString escStr;
+ QString condStr = " where channelId ='" + QString::number(cid) + "' ";
+
+ bool FstOfStatementCnl = true;
+ bool FstOfStatementImg = true;
+
+ it = RowData->begin();
+ while(it != RowData->end())
+ {
+ if(channelId == it.key())
+ {
+ if(false == FstOfStatementCnl)
+ {
+ insSqlstrCnlInfo += ", ";
+ }
+
+ if(false == FstOfStatementImg)
+ {
+ insSqlstrImg += ", ";
+ }
+
+ insSqlstrCnlInfo += colNameView[it.key()];
+ insSqlstrImg += colNameView[it.key()];
+ insSqlstrSrhRlt += colNameView[it.key()];
+ FstOfStatementCnl = false;
+ FstOfStatementImg = false;
+ }
+
+ if( (channelName == it.key()) ||(shortDesc == it.key()) )
+ {
+ if(false == FstOfStatementCnl)
+ {
+ insSqlstrCnlInfo += ", ";
+ }
+
+ insSqlstrCnlInfo += colNameView[it.key()];
+ FstOfStatementCnl = false;
+ }
+
+ if(imgUrl == it.key())
+ {
+ if(false == FstOfStatementImg)
+ {
+ insSqlstrImg += ", ";
+ }
+
+ insSqlstrImg += colNameView[it.key()];
+ FstOfStatementImg = false;
+ }
+
+ ++it;
+ }
+
+ insSqlstrCnlInfo += ") values(";
+ insSqlstrImg += ") values(";
+ insSqlstrSrhRlt += ") values(";
+ FstOfStatementCnl = true;
+ FstOfStatementImg = true;
+
+ it = RowData->begin();
+ while(it != RowData->end())
+ {
+ //here for escape char,
+ escStr = it.value();
+ escStr.replace('\'', "\'\'");
+
+ if(channelId == it.key())
+ {
+ if(false == FstOfStatementCnl)
+ {
+ insSqlstrCnlInfo += ", ";
+ }
+
+ if(false == FstOfStatementImg)
+ {
+ insSqlstrImg += ", ";
+ }
+
+ insSqlstrCnlInfo = insSqlstrCnlInfo + "'"+ escStr+ "'";
+ insSqlstrImg = insSqlstrImg + "'"+ escStr+ "'";
+ insSqlstrSrhRlt = insSqlstrSrhRlt + "'"+ escStr+ "'";
+ FstOfStatementCnl = false;
+ FstOfStatementImg = false;
+ }
+
+ if( (channelName == it.key()) ||(shortDesc == it.key()) )
+ {
+ if(false == FstOfStatementCnl)
+ {
+ insSqlstrCnlInfo += ", ";
+ }
+
+ insSqlstrCnlInfo = insSqlstrCnlInfo + "'"+ escStr+ "'";
+ FstOfStatementCnl = false;
+ }
+
+ if(imgUrl == it.key())
+ {
+ if(false == FstOfStatementImg)
+ {
+ insSqlstrImg += ", ";
+ }
+
+ insSqlstrImg = insSqlstrImg + "'"+ escStr+ "'";
+ FstOfStatementImg = false;
+ }
+
+ ++it;
+
+ }
+
+ insSqlstrImg += ") ";
+ insSqlstrCnlInfo += ") ";
+ insSqlstrSrhRlt += ") ";
+
+ QString updSqlStrCnlInfo = "update channelInfo set ";
+ QString updSqlStrCnlImg = "update img set ";
+ //part two, create update string;
+ FstOfStatementCnl = true;
+ FstOfStatementImg = true;
+
+ it = RowData->begin();
+
+ while( it != RowData->end())
+ {
+ //here for escape char,
+ escStr = it.value();
+ escStr.replace('\'', "\'\'");
+ if( (channelName == it.key()) ||(shortDesc == it.key()) )
+ {
+ if(false == FstOfStatementCnl)
+ {
+ updSqlStrCnlInfo += ", ";
+ }
+ updSqlStrCnlInfo = updSqlStrCnlInfo + colNameView[it.key()] + "=" + "'" + escStr + "'";
+ FstOfStatementCnl = false;
+ }
+ if(imgUrl == it.key())
+ {
+ updSqlStrCnlImg = updSqlStrCnlImg + colNameView[it.key()] + "=" + "'" + escStr + "'";
+ }
+
+ ++it;
+ }
+ updSqlStrCnlInfo += condStr;
+ updSqlStrCnlImg += condStr;
+ sqlList<<insSqlstrCnlInfo<<insSqlstrImg<<insSqlstrSrhRlt<<updSqlStrCnlInfo<<updSqlStrCnlImg ;
+
+ return;
+}
+
+
+bool searchRltWrapper::addSearchRlt(const columnMap* const RowData, bool bOpt)
+{
+ uint uCid = 0;
+ QStringList sqlStrList;
+
+ if( NULL == RowData )
+ {
+ return false;
+ }
+
+ if(RowData->isEmpty())
+ {
+ return false;
+ }
+ uCid = srhChannelId(RowData);
+
+ if(0 == uCid)
+ {
+ return false;
+ }
+
+ combineSqlStr(uCid, RowData, sqlStrList);
+
+ return m_pIRDB->handleRstFromSrhView(uCid, sqlStrList, bOpt)? false:true;
+
+}
+
+void searchRltWrapper::addSearchRltFinished()
+{
+ m_pIRDB->closeIRDBConnection();
+ return;
+}
+
/*
* this fuction don't suport "update" operation for mutliple records ;
* if condAND != NULL AND condOR != NULL, illegal operation;
@@ -46,6 +240,7 @@
columnMap* const RowDataAppend = const_cast<columnMap*>(RowData);
QList<QByteArray>* pImgList = NULL;
bool ret = true;
+ int logoType = 0;
if( NULL == RowData )
{
@@ -87,7 +282,7 @@
if(NULL != logoData)
{
pImgList = new QList<QByteArray>();
- combinePutStr(RowDataAppend, colNameView, insSqlStr, updSqlStr, logoData, pImgList);
+ combinePutStr(RowDataAppend, colNameView, insSqlStr, updSqlStr, logoData, pImgList, &logoType);
}
else
@@ -97,22 +292,22 @@
if( (NULL == condAND)&&(NULL == condOR) )
{
- uCid = srhChannelId(condUserCidStr,RowData);
+ uCid = srhChannelId(RowData);
}
else //here it must be "update" operation; condition string
{
- uCid = srhChannelId(condUserCidStr,condAND, condOR);
+ uCid = srhChannelId(condAND, condOR);
combineCondStr(condAND, condOR, colNameView,condSqlStr);
}
if(uCid)
{
//updSqlStr += condSqlStr;
- m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, uCid, condSqlStr, pImgList)? ret = false:true;
+ m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, uCid, condSqlStr, pImgList, logoType)? ret = false:true;
}
else //here deliver the updSqlstr and condSqlStr seperately.
{
- m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, NULL, condSqlStr, condUserCidStr, pImgList)?ret = false:true;
+ m_pIRDB->chgRowIRDB(insSqlStr, updSqlStr, NULL, condSqlStr, condUserCidStr, pImgList, logoType)?ret = false:true;
}
if(pImgList)
@@ -212,8 +407,7 @@
return true;
}
-uint searchRltWrapper::srhChannelId(QString& condUserCidStr,
- const columnMap* const condAND,
+uint searchRltWrapper::srhChannelId(const columnMap* const condAND,
const columnMap* const condOR)
{
uint srhCID = 0;
@@ -227,7 +421,7 @@
{
srhCID = (condOR->value(channelId)).toUInt();
}
-
+#if 0
if(srhCID)
{
return srhCID ;
@@ -248,7 +442,7 @@
}
condUserCidStr = srhStr;
}
-
+#endif
return srhCID;
}
--- a/qtinternetradio/irdb/src/songhistorywrapper.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/songhistorywrapper.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -163,7 +163,7 @@
QList<QVariant*>* songHistoryWrapper::getSongHistory(const columnMap* const condAND,
const columnMap* const condOR)
{
- QString sltSqlStr = "select * from songHistory ";
+ QString sltSqlStr = "select * from IRVIEW_SONGHISTORY ";
QList<QVariant*>* pDataSet = NULL;
if( (NULL != condAND)&&(NULL != condOR) )
@@ -188,7 +188,7 @@
}
combineGetStr(condAND, condOR, colNameView, sltSqlStr);
- sltSqlStr = sltSqlStr + " order by songPlaySeq desc ";
+
pDataSet = new QList<QVariant*>();
if( m_pIRDB->selectRow(this, sltSqlStr, pDataSet) )
{
--- a/qtinternetradio/irdb/src/urlinfowrapper.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irdb/src/urlinfowrapper.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -77,7 +77,9 @@
}
QList<QVariant*>* urlInfoWrapper::getUrlInfo(const columnMap* const condAND,
- const columnMap* const condOR)
+ const columnMap* const condOR,
+ int aBegin,
+ int aEnd)
{
QString sltSqlStr = "select channelUrl, channelId, bitRate from urlInfo ";
QList<QVariant*>* pDataSet = NULL;
@@ -105,7 +107,7 @@
combineGetStr(condAND, condOR, colNameView, sltSqlStr);
pDataSet = new QList<QVariant*>();
- if( m_pIRDB->selectRow(this, sltSqlStr, pDataSet) )
+ if( m_pIRDB->selectRow(this, sltSqlStr, pDataSet, aBegin, aEnd) )
{
delete pDataSet;
pDataSet = NULL;
--- a/qtinternetradio/irhswidgetplugin/src/irserviceclient.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/src/irserviceclient.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -79,6 +79,7 @@
if (0 == mRef)
{
delete mInstatnce;
+ mInstatnce = NULL;
}
mMutex.unlock();
}
--- a/qtinternetradio/irqcommon/inc/irqisdsdatastructure.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irqcommon/inc/irqisdsdatastructure.h Mon Oct 04 00:07:46 2010 +0300
@@ -40,7 +40,7 @@
QString shortDescription;
QString imageURL;
//added for cache search
- int channelID;
+ uint channelID;
};
class IRQChannelServerURL
@@ -103,8 +103,9 @@
int uniqID; //unique id generated for the preset saved at favourite
int type; //0 for user defined 1 for isds type.
- int presetId;//isds generated preset id
- QString name; //preset name
+ uint presetId;//isds generated preset id
+ QString name; //preset name
+ QString nickName;
QString languageCode;//preset language code
QString languageName; // preset language
QString countryCode;//preset country of origin code
--- a/qtinternetradio/irqcommon/src/irqisdsdatastructure.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irqcommon/src/irqisdsdatastructure.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -74,6 +74,7 @@
this->languageCode = aOther.languageCode;
this->languageName = aOther.languageName;
this->name = aOther.name;
+ this->nickName = aOther.nickName;
this->presetId = aOther.presetId;
this->type = aOther.type;
this->iChannelUrlCount = aOther.iChannelUrlCount;
@@ -88,7 +89,7 @@
aStream>>languageCode>>languageName
>>countryCode>>countryName
>>genreName>>genreId
- >>name>>lastModified
+ >>name>>nickName>>lastModified
>>advertisementUrl>>advertisementInUse
>>imgUrl>>description>>shortDesc
>>musicStoreStatus;
@@ -109,7 +110,7 @@
aStream<<languageCode<<languageName
<<countryCode<<countryName
<<genreName<<genreId
- <<name<<lastModified
+ <<name<<nickName<<lastModified
<<advertisementUrl<<advertisementInUse
<<imgUrl<<description<<shortDesc
<<musicStoreStatus;
--- a/qtinternetradio/irqfavoritesdb/inc/irqfavoritesdb.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irqfavoritesdb/inc/irqfavoritesdb.h Mon Oct 04 00:07:46 2010 +0300
@@ -17,126 +17,54 @@
#ifndef IRQFAVORITESDB_H
#define IRQFAVORITESDB_H
-#include <QObject>
-
#include "irqfavoritesdbexporter.h"
class IRQPreset;
-class IRQFavoritesDBPrivate;
+class favoritesWrapper;
+class channelHistoryWrapper;
+class urlInfoWrapper;
-class IRQFAVORITES_DLL_EXPORT IRQFavoritesDB : public QObject
+class IRQFAVORITES_DLL_EXPORT IRQFavoritesDB
{
-Q_OBJECT
-public:
- enum PSReason
- {
- PSCreated,
- PSDeleted,
- PSModified
- };
-
public:
IRQFavoritesDB();
~IRQFavoritesDB();
- /* add a preset
+ /* add a preset to favorites
* @param IRQPreset& the isds preset,
* @return errcode
*/
int addPreset(const IRQPreset& aPreset);
- /* add a preset manually
- * @return errcode
- * @param
- */
- int addPreset(const QString& aName, const QString& aURL);
-
- /* get a preset uniq id
- * @return
- * @param
- */
- int getUniqId(int aNum) const;
-
- /* delete a preset by uniq id
+ /* delete a preset
* @return errcode
* @param
*/
- int deletePreset(int aUniqId);
-
- /* search a preset by uniqpresetId / isdspresetid
- * warning: the function needs further checking
- * @return errcode
- */
- int searchPreset(int aUniqPresetId, int aIsdsPresetId);
-
- /* get the previouse preset index in the internal list
- * @return the index
- */
- int getPreviousPreset(int aIndex);
-
- /* get the next preset index
- * @return the index
- */
- int getNextPreset(int aIndex);
+ int deletePreset(const IRQPreset& aPreset);
/* replace with new preset
* @return errcode
*/
- int replacePreset(const IRQPreset& aNewPreset);
-
- /* @return errcode
- */
- int replaceUserDefinedPreset(const IRQPreset& aNewPreset);
+ void replacePreset(const IRQPreset& aNewPreset);
/* change the preset type to user defined
* @return errcode
*/
int makePresetUserDefined(int aChannelId, int aUserDefinedChannelId);
- /* get the empty preset left count
- * @return the count of empty presets left
- */
- int emptyPresetCount() const;
-
- /* get the max preset count supported now
- * @return errcode
- */
- int maxPresetCount();
-
- /* the interface is not used currently.
- **/
- void setMoveStatus(bool aStatus);
-
- /* the interface is not used currently
- */
- bool getMoveStatus();
-
/* for CIRPreset is just an interface so we can wrapper it into the IRQPreset.
* the interface get the IRQPreset list. The upper layer will free all the items
* in the list and the list self*/
QList<IRQPreset*>* getPresets() const;
-
- /*
- * Increase the played times of the preset if it's in the favorites
- */
- void increasePlayedTimes(const IRQPreset &aPreset);
int renamePreset(const IRQPreset &aPreset, const QString &aNewName);
-
-signals:
- /*
- * the signal will triggered when we receive the message that preset is changed
- */
- void presetChanged(int aId, int aDataHandler, PSReason aReason);
private:
- IRQFavoritesDBPrivate * const d_ptr;
-
- Q_DISABLE_COPY(IRQFavoritesDB)
-
- friend class IRQFavoritesDBPrivate;
+ favoritesWrapper *iFavoritesWrapper;
+ channelHistoryWrapper *iHistoryWrapper;
+ urlInfoWrapper *iUrlWrapper;
};
#endif
--- a/qtinternetradio/irqfavoritesdb/inc/irqfavoritesdb_p.h Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef IRQFAVORITESDB_P_H
-#define IRQFAVORITESDB_P_H
-
-#include <QObject>
-
-#include "pspresetobserver.h"
-
-class CIRFavoritesDb;
-class IRQPreset;
-class IRQFavoritesDB;
-
-class IRQFavoritesDBPrivate : public MPSPresetObserver
-{
-public:
- IRQFavoritesDBPrivate(IRQFavoritesDB *aIRQFavorites);
-
- ~IRQFavoritesDBPrivate();
-
- void init();
-
- int addPreset(const IRQPreset& aPreset);
-
- int addPreset(const QString& aName, const QString& aURL);
-
- int getUniqId(int aNum) const;
-
- int deletePreset(int aUniqId);
-
- int searchPreset(int aUniqPresetId, int aIsdsPresetId);
-
- int getPreviousPreset(int aIndex);
-
- int getNextPreset(int aIndex);
-
- int replacePreset(const IRQPreset& aNewPreset);
-
- int replaceUserDefinedPreset(const IRQPreset& aNewPreset);
-
- int makePresetUserDefined(int aChannelId, int aUserDefinedChannelId);
-
- int emptyPresetCount() const;
-
- int maxPresetCount();
-
- void setMoveStatus(bool aStatus);
-
- bool getMoveStatus();
-
- QList<IRQPreset*>* getPresets() const;
-
- void increasePlayedTimes(const IRQPreset &aPreset);
-
- int renamePreset(const IRQPreset &aPreset, const QString &aNewName);
-
-private:
- /* from MPSPresetObserver */
- void HandlePresetChangedL(TInt aId, TUid aDataHandler, MPSPresetObserver::TPSReason aType);
-
- void addPresetL(const IRQPreset& aPreset, int& aRetValue);
-
- void replacePresetL(const IRQPreset& aNewPreset);
-
- void replaceUserDefinedPresetL(const IRQPreset& aNewPreset);
-
- void increasePlayedTimesL(const IRQPreset &aPreset);
-
- int renamePresetL(const IRQPreset &aPreset, const QString &aNewName);
-
-private:
- IRQFavoritesDB * const q_ptr;
- CIRFavoritesDb *mIRFavoritesDb;
-};
-
-#endif //IRQFAVORITESDB_P_H
--- a/qtinternetradio/irqfavoritesdb/irqfavoritesdb.pro Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irqfavoritesdb/irqfavoritesdb.pro Mon Oct 04 00:07:46 2010 +0300
@@ -24,19 +24,11 @@
MOC_DIR = moc
DEPENDPATH = src
-INCLUDEPATH += ../../internetradio2.0/irfavoritesdb/inc \
- ../../internetradio2.0/ircommon/inc \
- ../../internetradio2.0/irpresetplugin/inc \
- ../irqcommon/inc \
- ../../presetserver/include \
- ../../presetserver/clientinc \
- ../../presetserver/serverinc
+INCLUDEPATH += ../irqcommon/inc \
+ ../irdb/inc
-
-LIBS += -lirdatastructures \
- -lirfavoritesdb \
- -lirqutility \
- -lpsclient100
+LIBS += -lirdb \
+ -lirqutility
symbian{
TARGET.UID3 = 0x2002FFBC
@@ -47,13 +39,11 @@
#header files list
HEADERS += inc/irqfavoritesdb.h \
- inc/irqfavoritesdb_p.h \
inc/irqfavoritesdbexporter.h
#source files list
-SOURCES += irqfavoritesdb.cpp \
- irqfavoritesdb_p.cpp
+SOURCES += irqfavoritesdb.cpp
SYMBIAN_PLATFORMS = WINSCW ARMV5
--- a/qtinternetradio/irqfavoritesdb/src/irqfavoritesdb.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irqfavoritesdb/src/irqfavoritesdb.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -14,132 +14,157 @@
* Description:
*
*/
-#include "irqfavoritesdb.h"
-#include "irqfavoritesdb_p.h"
+#include <QVariant>
-IRQFavoritesDB::IRQFavoritesDB() : d_ptr(new IRQFavoritesDBPrivate(this))
-{
- d_ptr->init();
+#include "irqfavoritesdb.h"
+#include "favoriteswrapper.h"
+#include "channelhistorywrapper.h"
+#include "urlinfowrapper.h"
+#include "irqisdsdatastructure.h"
+#include "irqenums.h"
+
+IRQFavoritesDB::IRQFavoritesDB()
+{
+ iFavoritesWrapper = new favoritesWrapper;
+ iHistoryWrapper = new channelHistoryWrapper;
+ iUrlWrapper = new urlInfoWrapper;
}
IRQFavoritesDB::~IRQFavoritesDB()
{
- delete d_ptr;
+ delete iFavoritesWrapper;
+ delete iHistoryWrapper;
+ delete iUrlWrapper;
}
-//add a preset
+//add a preset to favorites
//@param IRQPreset& the preset
//@return errcode
int IRQFavoritesDB::addPreset(const IRQPreset& aPreset)
{
- return d_ptr->addPreset(aPreset);
+ bool ret = false;
+ bool newRow = false;
+
+ columnMap map;
+ map.insert(channelId, QString::number(aPreset.presetId));
+ ret = iFavoritesWrapper->putFavorites(&map, newRow);
+
+ if (!ret)
+ {
+ return EIRQErrorNotFound; //presetId is not found
+ }
+
+ if (newRow)
+ {
+ return EIRQErrorNone;
+ }
+ else
+ {
+ return EIRQErrorAlreadyExist;
+ }
}
-//add a preset manually
-//@return errcode
-//@param
-//
-int IRQFavoritesDB::addPreset(const QString& aName, const QString& aURL)
-{
- return d_ptr->addPreset(aName, aURL);
-}
-
-//get a preset uniq id
-//@return errcode
-//@param
-//
-int IRQFavoritesDB::getUniqId(int aNum) const
-{
- return d_ptr->getUniqId(aNum);
-}
-
-//delete a preset by uniq id
+//delete a preset
//@return errcode
//@param
//
-int IRQFavoritesDB::deletePreset(int aUniqId)
+int IRQFavoritesDB::deletePreset(const IRQPreset& aPreset)
{
- return d_ptr->deletePreset(aUniqId);
-}
+ columnMap map;
+ map.insert(channelId, QString::number(aPreset.presetId));
+ bool ret = iFavoritesWrapper->deleteFavorites(&map, NULL);
-//search a preset by uniqpresetId / isdspresetid
-//warning: the function needs further checking
-//@return errcode
-//
-int IRQFavoritesDB::searchPreset(int aUniqPresetId, int aIsdsPresetId)
-{
- return d_ptr->searchPreset(aUniqPresetId, aIsdsPresetId);
+ if (ret)
+ {
+ return EIRQErrorNone;
+ }
+ else
+ {
+ return EIRQErrorNotFound;
+ }
}
-//
-//get the previouse preset index in the internal list
-//@return the index
-//
-int IRQFavoritesDB::getPreviousPreset(int aIndex)
-{
- return d_ptr->getPreviousPreset(aIndex);
-}
-
-//
-//get the next preset index
-//@return the index
-//
-int IRQFavoritesDB::getNextPreset(int aIndex)
-{
- return d_ptr->getNextPreset(aIndex);
-}
-
//replace with new preset
//@return errcode
//
-int IRQFavoritesDB::replacePreset(const IRQPreset& aNewPreset)
+void IRQFavoritesDB::replacePreset(const IRQPreset& aNewPreset)
{
- return d_ptr->replacePreset(aNewPreset);
-}
-
-//@return errcode
-//
-int IRQFavoritesDB::replaceUserDefinedPreset(const IRQPreset& aNewPreset)
-{
- return d_ptr->replaceUserDefinedPreset(aNewPreset);
+ //write the preset data to database
+ columnMap map;
+ QString url;
+
+ if (IRQPreset::EIsds == aNewPreset.type)
+ {
+ map.insert(channelId, QString::number(aNewPreset.presetId));
+ }
+ map.insert(channelName, aNewPreset.name);
+ map.insert(languageCode, aNewPreset.languageCode);
+ map.insert(languageName, aNewPreset.languageName);
+ map.insert(countryCode, aNewPreset.countryCode);
+ map.insert(countryName, aNewPreset.countryName);
+ map.insert(lastModified, aNewPreset.lastModified);
+ map.insert(musicStoreStatus, aNewPreset.musicStoreStatus);
+ map.insert(description, aNewPreset.description);
+ map.insert(shortDesc, aNewPreset.shortDesc);
+ map.insert(genreId, aNewPreset.genreId);
+ map.insert(genreName, aNewPreset.genreName);
+ map.insert(advertisementUrl, aNewPreset.advertisementUrl);
+ map.insert(advertisementInUse, aNewPreset.advertisementInUse);
+ map.insert(imgUrl, aNewPreset.imgUrl);
+
+ uint cIdResult = 0;
+ if (IRQPreset::EIsds == aNewPreset.type)
+ {
+ cIdResult = aNewPreset.presetId;
+ columnMap condAnd;
+ condAnd.insert(channelId, QString::number(aNewPreset.presetId));
+ iHistoryWrapper->putChannelHistory(&map, NULL, NULL, &condAnd);
+ }
+ else
+ {
+ columnMap condAnd;
+ condAnd.insert(channelType, QString::number(aNewPreset.type));
+ aNewPreset.getChannelUrlAt(0, url);
+ condAnd.insert(channelUrl, url);
+ condAnd.insert(channelName, aNewPreset.name);
+ QList<uint> *ids = iHistoryWrapper->getChannelId(&condAnd);
+ if (ids && ids->count() > 0)
+ {
+ //the user-defined preset is already in database
+ cIdResult = ids->at(0);
+ condAnd.clear();
+ condAnd.insert(channelId, QString::number(cIdResult));
+ iHistoryWrapper->putChannelHistory(&map, NULL, NULL, &condAnd);
+ }
+ else
+ {
+ //the user-defined preset is not in database
+ iHistoryWrapper->putChannelHistory(&map, &cIdResult);
+ }
+
+ delete ids;
+ }
+
+ //write url info to database
+ columnUrlInfoInsertMap urlmap;
+
+ unsigned int bitrate = 0;
+ for (int i = 0; i < aNewPreset.getChannelURLCount(); i++)
+ {
+ aNewPreset.getChannelBitrate(i, bitrate);
+ aNewPreset.getChannelUrlAt(i, url);
+ urlmap.insert(url, bitrate);
+ }
+
+ iUrlWrapper->resetUrlInfo(&urlmap, cIdResult);
}
//change the preset type to user defined
//@return errcode
//
-int IRQFavoritesDB::makePresetUserDefined(int aChannelId, int aUserDefinedChannelId)
-{
- return d_ptr->makePresetUserDefined(aChannelId, aUserDefinedChannelId);
-}
-
-//get the empty preset left count
-//@return the count of empty presets left
-//
-int IRQFavoritesDB::emptyPresetCount() const
+int IRQFavoritesDB::makePresetUserDefined(int /*aChannelId*/, int /*aUserDefinedChannelId*/)
{
- return d_ptr->emptyPresetCount();
-}
-
-//get the max preset count supported now
-//@return errcode
-//
-int IRQFavoritesDB::maxPresetCount()
-{
- return d_ptr->maxPresetCount();
-}
-
-//the interface is not used currently.
-//
-void IRQFavoritesDB::setMoveStatus(bool aStatus)
-{
- d_ptr->setMoveStatus(aStatus);
-}
-
-//the interface is not used currently
-//
-bool IRQFavoritesDB::getMoveStatus()
-{
- return d_ptr->getMoveStatus();
+ return 0;
}
//for CIRPreset is just an interface so we can wrapper it into the IRQPreset.
@@ -148,18 +173,84 @@
//
QList<IRQPreset*>* IRQFavoritesDB::getPresets() const
{
- return d_ptr->getPresets();
-}
-
-/*
- * Increase the played times of the preset if it's in the favorites
- */
-void IRQFavoritesDB::increasePlayedTimes(const IRQPreset &aPreset)
-{
- d_ptr->increasePlayedTimes(aPreset);
+ favoritesWrapper favorites;
+ QList<QVariant*> *dataSet = favorites.getFavorites();
+ if (NULL == dataSet)
+ {
+ return NULL;
+ }
+
+ QList<IRQPreset*> *presetList = NULL;
+ if (dataSet->count() > 0)
+ {
+ presetList = new QList<IRQPreset*>;
+ int dataSize = dataSet->count();
+ for (int i = 0; i < dataSize; ++i)
+ {
+ IRQPreset *preset = new IRQPreset;
+ bool ok = false;
+ QVariant *row = dataSet->at(i);
+ preset->type = row[channelType].toInt(&ok);
+ preset->presetId = row[channelId].toUInt(&ok);
+ preset->name = row[channelName].toString();
+ preset->nickName = row[channelNickName].toString();
+ preset->languageCode = row[languageCode].toString();
+ preset->languageName = row[languageName].toString();
+ preset->countryCode = row[countryCode].toString();
+ preset->countryName = row[countryName].toString();
+ preset->lastModified = row[lastModified].toString();
+ preset->musicStoreStatus = row[musicStoreStatus].toString();
+ preset->description = row[description].toString();
+ preset->shortDesc = row[shortDesc].toString();
+ preset->genreName = row[genreName].toString();
+ preset->genreId = row[genreId].toString();
+ preset->advertisementInUse = row[advertisementInUse].toString();
+ preset->advertisementUrl = row[advertisementUrl].toString();
+ preset->imgUrl = row[imgUrl].toString();
+
+ delete []row;
+
+ //get url info and write to preset
+ urlInfoWrapper urlInfo;
+ columnMap cond;
+ cond.insert(channelId, QString::number(preset->presetId));
+ QList<QVariant*> *urlDataSet = urlInfo.getUrlInfo(&cond, NULL, i, dataSize-1);
+ int urlSize = urlDataSet->count();
+ for (int j = 0; j < urlSize; ++j)
+ {
+ IRQChannelServerURL url;
+ url.url = urlDataSet->at(j)[channelUrl_URL].toString();
+ url.bitrate = urlDataSet->at(j)[bitRate_URL].toInt();
+ preset->insertChannelServer(url);
+ delete []urlDataSet->at(j);
+ }
+ delete urlDataSet;
+
+ presetList->append(preset);
+ }
+ }
+
+ delete dataSet;
+
+ return presetList;
}
int IRQFavoritesDB::renamePreset(const IRQPreset &aPreset, const QString &aNewName)
{
- return d_ptr->renamePreset(aPreset, aNewName);
+ channelHistoryWrapper wrapper;
+ columnMap map;
+
+ map.insert(channelNickName, aNewName);
+ columnMap condAND;
+ condAND.insert(channelId, QString::number(aPreset.presetId));
+ bool ret = wrapper.putChannelHistory(&map, NULL, NULL, &condAND);
+
+ if (ret)
+ {
+ return EIRQErrorNone;
+ }
+ else
+ {
+ return EIRQErrorGeneral;
+ }
}
--- a/qtinternetradio/irqfavoritesdb/src/irqfavoritesdb_p.cpp Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "irfavoritesdb.h"
-#include "irqfavoritesdb.h"
-#include "irqfavoritesdb_p.h"
-#include "irqenums.h"
-#include "irqutility.h"
-#include "irqisdsdatastructure.h"
-#include "irpreset.h"
-#include "irisdspreset.h"
-
-IRQFavoritesDBPrivate::IRQFavoritesDBPrivate(IRQFavoritesDB *aIRQFavorites) : q_ptr(aIRQFavorites),
- mIRFavoritesDb(NULL)
-{
-}
-
-IRQFavoritesDBPrivate::~IRQFavoritesDBPrivate()
-{
- delete mIRFavoritesDb;
- mIRFavoritesDb = NULL;
-}
-
-void IRQFavoritesDBPrivate::init()
-{
- TRAPD(err, mIRFavoritesDb = CIRFavoritesDb::NewL());
- if (KErrNone != err)
- {
- return;
- }
-
- /* add self to the observers of the CIRFavoritesDb. When the call back function
- * is called, it means that preset is changed and we send a signal to the uper layer*/
- mIRFavoritesDb->AddObserver(*this);
-}
-
-int IRQFavoritesDBPrivate::addPreset(const IRQPreset& aPreset)
-{
- int returnCode = 0;
- TRAPD(err, addPresetL(aPreset, returnCode));
-
- int result = 0;
- if (KErrNone != err)
- {
- IRQUtility::convertSError2QError(err, result);
- }
- else
- {
- IRQUtility::convertSError2QError(returnCode, result);
- }
- return result;
-}
-
-int IRQFavoritesDBPrivate::addPreset(const QString& aName, const QString& aURL)
-{
- if (0 == aName.size() || 0 == aURL.size())
- {
- return EIRQErrorBadParameter;
- }
-
- TPtrC16 nameptr(reinterpret_cast<const TUint16*> (aName.utf16()));
- TPtrC16 urlptr(reinterpret_cast<const TUint16*> (aURL.utf16()));
- int returnCode = 0;
- TRAPD(err, mIRFavoritesDb->AddPresetL(nameptr, urlptr, returnCode));
-
- int result = 0;
- if (KErrNone != err)
- {
- IRQUtility::convertSError2QError(err, result);
- }
- else
- {
- IRQUtility::convertSError2QError(returnCode, result);
- }
- return result;
-}
-
-int IRQFavoritesDBPrivate::getUniqId(int aNum) const
-{
- if ( aNum < 0 || aNum >= mIRFavoritesDb->iFavPresetList.Count())
- {
- return EIRQErrorBadParameter;
- }
-
- //the preset's uniqid is equal to the CIRPreset's id
- return mIRFavoritesDb->iFavPresetList[aNum]->Id();
-}
-
-int IRQFavoritesDBPrivate::deletePreset(int aUniqId)
-{
- TRAPD(err, (mIRFavoritesDb->DeletePresetL(aUniqId)));
- int result = 0;
- IRQUtility::convertSError2QError(err, result);
- return result;
-}
-
-int IRQFavoritesDBPrivate::searchPreset(int aUniqPresetId, int aIsdsPresetId)
-{
- int returnCode = 0;
- int result = 0; //for QT
- returnCode = mIRFavoritesDb->SearchPreset(aUniqPresetId, aIsdsPresetId);
- IRQUtility::convertSError2QError(returnCode, result);
- return result;
-}
-
-int IRQFavoritesDBPrivate::getPreviousPreset(int aIndex)
-{
- return mIRFavoritesDb->GetPreviousPreset(aIndex);
-}
-
-int IRQFavoritesDBPrivate::getNextPreset(int aIndex)
-{
- return mIRFavoritesDb->GetNextPreset(aIndex);
-}
-
-int IRQFavoritesDBPrivate::replacePreset(const IRQPreset& aNewPreset)
-{
- TRAPD(err, replacePresetL(aNewPreset));
- int result = 0;
- IRQUtility::convertSError2QError(err, result);
- return result;
-}
-
-int IRQFavoritesDBPrivate::replaceUserDefinedPreset(const IRQPreset& aNewPreset)
-{
- TRAPD(err, replaceUserDefinedPresetL(aNewPreset));
- int result = 0;
- IRQUtility::convertSError2QError(err, result);
- return result;
-}
-
-int IRQFavoritesDBPrivate::makePresetUserDefined(int aChannelId, int aUserDefinedChannelId)
-{
- TRAPD(err, mIRFavoritesDb->MakePresetUserDefinedL(aChannelId, aUserDefinedChannelId));
- int result = 0;
- IRQUtility::convertSError2QError(err, result);
- return result;
-}
-
-int IRQFavoritesDBPrivate::emptyPresetCount() const
-{
- return mIRFavoritesDb->EmptyPresetCount();
-}
-
-int IRQFavoritesDBPrivate::maxPresetCount()
-{
- return mIRFavoritesDb->MaxPresetCount();
-}
-
-void IRQFavoritesDBPrivate::setMoveStatus(bool aStatus)
-{
- mIRFavoritesDb->SetMoveStatus(aStatus);
-}
-
-bool IRQFavoritesDBPrivate::getMoveStatus()
-{
- if (mIRFavoritesDb->GetMoveStatus())
- {
- return true;
- }
- else
- {
- return false;
- }
-}
-
-QList<IRQPreset*>* IRQFavoritesDBPrivate::getPresets() const
-{
- QList<IRQPreset*> * presetList = new QList<IRQPreset*> ();
- const RIRPresetArray& cirPresetList = mIRFavoritesDb->GetAllSortedPresets();
- int counts = cirPresetList.Count();
- for (int i = 0; i < counts; i++)
- {
- IRQPreset *irqPreset = new IRQPreset();
- IRQUtility::convertCIRPreset2IRQPreset(*(cirPresetList[i]), *irqPreset);
- presetList->append(irqPreset);
- }
- return presetList;
-}
-
-void IRQFavoritesDBPrivate::increasePlayedTimes(const IRQPreset &aPreset)
-{
- TRAP_IGNORE(increasePlayedTimesL(aPreset));
-}
-
-int IRQFavoritesDBPrivate::renamePreset(const IRQPreset &aPreset, const QString &aNewName)
-{
- int returnCode = 0;
- TRAPD(err, returnCode = renamePresetL(aPreset, aNewName));
-
- int result = 0;
- if (KErrNone != err)
- {
- IRQUtility::convertSError2QError(err, result);
- }
- else
- {
- IRQUtility::convertSError2QError(returnCode, result);
- }
- return result;
-}
-
-/* from MPSPresetObserver */
-void IRQFavoritesDBPrivate::HandlePresetChangedL(TInt aId, TUid aDataHandler, MPSPresetObserver::TPSReason aType)
-{
- IRQFavoritesDB::PSReason reason = IRQFavoritesDB::PSCreated;
- switch (aType)
- {
- case EPSCreated:
- reason = IRQFavoritesDB::PSCreated;
- break;
-
- case EPSDeleted:
- reason = IRQFavoritesDB::PSDeleted;
- break;
-
- case EPSModified:
- reason = IRQFavoritesDB::PSModified;
- break;
-
- default:
- Q_ASSERT(false);
- break;
- }
-
- emit q_ptr->presetChanged(aId, aDataHandler.iUid, reason);
-}
-
-void IRQFavoritesDBPrivate::addPresetL(const IRQPreset& aPreset, int& aRetValue)
-{
- CIRIsdsPreset * cirPreset = CIRIsdsPreset::NewLC();
- IRQUtility::convertIRQPreset2CIRIsdsPreset(aPreset, *cirPreset);
- mIRFavoritesDb->AddPresetL(*cirPreset, aRetValue);
- CleanupStack::PopAndDestroy(cirPreset);
-}
-
-void IRQFavoritesDBPrivate::replacePresetL(const IRQPreset& aNewPreset)
-{
- CIRIsdsPreset * cirPreset = CIRIsdsPreset::NewLC();
- IRQUtility::convertIRQPreset2CIRIsdsPreset(aNewPreset, *cirPreset);
- mIRFavoritesDb->ReplacePresetL(*cirPreset);
- CleanupStack::PopAndDestroy(cirPreset);
-}
-
-void IRQFavoritesDBPrivate::replaceUserDefinedPresetL(const IRQPreset& aNewPreset)
-{
- CIRIsdsPreset *cirPreset = CIRIsdsPreset::NewLC();
- IRQUtility::convertIRQPreset2CIRIsdsPreset(aNewPreset, *cirPreset);
- mIRFavoritesDb->ReplaceUserDefinedPresetL(*cirPreset);
- CleanupStack::PopAndDestroy(cirPreset);
-}
-
-void IRQFavoritesDBPrivate::increasePlayedTimesL(const IRQPreset &aPreset)
-{
- CIRIsdsPreset * cirPreset = CIRIsdsPreset::NewLC();
- IRQUtility::convertIRQPreset2CIRIsdsPreset(aPreset, *cirPreset);
- mIRFavoritesDb->IncreasePlayedTimesL(*cirPreset);
- CleanupStack::PopAndDestroy(cirPreset);
-}
-
-int IRQFavoritesDBPrivate::renamePresetL(const IRQPreset &aPreset, const QString &aNewName)
-{
- CIRIsdsPreset * cirPreset = CIRIsdsPreset::NewLC();
- IRQUtility::convertIRQPreset2CIRIsdsPreset(aPreset, *cirPreset);
- TPtrC newName(reinterpret_cast<const TUint16*>(aNewName.utf16()), aNewName.length());
- int ret = mIRFavoritesDb->RenamePresetL(*cirPreset, newName);
- CleanupStack::PopAndDestroy(cirPreset);
-
- return ret;
-}
--- a/qtinternetradio/irqmediaplayer/src/irqmmfadapter.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/irqmediaplayer/src/irqmmfadapter.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -45,6 +45,7 @@
,iQMetaData(NULL)
,iPrepareTimer(NULL), iStereoEffect(NULL)
{
+ LOG_METHOD;
iPlayState = EStopped;
}
@@ -56,6 +57,7 @@
//
IRQMMFAdapter::~IRQMMFAdapter()
{
+ LOG_METHOD;
destroyPlayer();
delete iQMetaData;
@@ -87,11 +89,13 @@
TRAPD(error, playL(aUrl, aApId));
if (NULL == iQMetaData)
{
+ LOG("Error Occured(EIRQErrorOutOfMemory)");
emit errorOccured(EIRQErrorOutOfMemory);
}
if (KErrNone != error)
{
+ LOG_FORMAT("Error Occured = %d", (int)error);
emit errorOccured(EIRQPlayerErrorGeneral);
}
}
@@ -103,6 +107,8 @@
//
void IRQMMFAdapter::playL(const QString &aUrl, int aApId)
{
+ LOG_METHOD;
+
// Save stream Url
if (NULL == iQMetaData)
{
@@ -128,6 +134,7 @@
stop();
// Open url
+ LOG("CVideoPlayerUtility::OpenUrlL(stationUrl, aApId, KNullDesC8, KUidController)");
iVideoPlayer->OpenUrlL(stationUrl, aApId, KNullDesC8, KUidController);
iPlayState = EOpenning;
}
@@ -140,8 +147,11 @@
//
void IRQMMFAdapter::stop()
{
+ LOG_METHOD;
+
if (iVideoPlayer && EStopped != iPlayState)
{
+ LOG("Stop the prepare timeout timer");
if (iPrepareTimer)
{
if (iPrepareTimer->IsActive())
@@ -150,6 +160,8 @@
}
}
+ LOG("CVideoPlayerUtility::Stop()");
+ LOG("CVideoPlayerUtility::Close()");
iVideoPlayer->Stop();
iVideoPlayer->Close();
iPlayState = EStopped;
@@ -165,6 +177,7 @@
void IRQMMFAdapter::setVolume(int aVolume)
{
LOG_METHOD;
+
if (iVideoPlayer && iPlayState > EOpenning)
{
// aVolume is a percentage
@@ -178,9 +191,11 @@
}
int volume = aVolume*iVideoPlayer->MaxVolume()/KVolumeMaxPercentage;
+ LOG_FORMAT("CVideoPlayerUtility::SetVolumeL(%d)", volume);
TRAPD(error, iVideoPlayer->SetVolumeL(volume));
if (KErrNone != error)
{
+ LOG_FORMAT("Error Occured = %d", (int)error);
emit errorOccured(EIRQPlayerErrorGeneral);
}
}
@@ -194,6 +209,8 @@
//
int IRQMMFAdapter::getVolume()
{
+ LOG_METHOD;
+
int volume = KVolumeMinPercentage;
if (iVideoPlayer && iPlayState > EOpenning)
@@ -217,6 +234,7 @@
void IRQMMFAdapter::enableStereoEffect()
{
+ LOG_METHOD;
if (IRQPlayerAdapterInterface::EPlaying != iPlayState)
{
return;
@@ -227,6 +245,7 @@
void IRQMMFAdapter::disableStereoEffect()
{
+ LOG_METHOD;
if (iStereoEffect)
{
if (iStereoEffect->IsEnabled())
@@ -234,6 +253,7 @@
TRAPD(error, iStereoEffect->DisableL());
if (KErrNone != error)
{
+ LOG_FORMAT("Error Occured = %d", (int)error);
emit errorOccured(EIRQPlayerErrorSetStereoFailed);
}
delete iStereoEffect;
@@ -264,6 +284,7 @@
}
// Prepare to playback
+ LOG("CVideoPlayerUtility::Prepare()");
iVideoPlayer->Prepare();
iPlayState = EConnecting;
@@ -276,9 +297,11 @@
TTimeIntervalMicroSeconds32 interval(KConnectingTime);
iPrepareTimer->Start(interval,interval,
TCallBack(IRQMMFAdapter::isPrepareCompleted,this));
+ LOG_FORMAT("Start the prepare timeout timer = %d sec", (int)interval.Int()/1000000);
}
else
{
+ LOG_FORMAT("Error Occured = %d", (int)aError);
emit errorOccured(EIRQPlayerErrorConnectingFailed);
}
}
@@ -294,6 +317,7 @@
{
LOG_METHOD;
// Cancel the previous request if pending
+ LOG("Stop the prepare timeout timer");
if (iPrepareTimer->IsActive())
{
iPrepareTimer->Cancel();
@@ -315,21 +339,25 @@
}
// Send signal ConnectionEstablished
+ LOG_FORMAT("bit rate = %d", iQMetaData->getBitrate());
emit connectionEstablished(iQMetaData->getBitrate());
// Set specific event to get meta data from player
setMetadataEventConfig();
// Start playback
+ LOG("CVideoPlayerUtility::Play()");
iVideoPlayer->Play();
iPlayState = EBuffering;
}
else if (KErrServerBusy == aError)
{
+ LOG("Error Occured(EIRQPlayerErrorServerFull)");
emit errorOccured(EIRQPlayerErrorServerFull);
}
else
{
+ LOG_FORMAT("Error Occured = %d", (int)aError);
emit errorOccured(EIRQPlayerErrorConnectingFailed);
}
}
@@ -347,6 +375,7 @@
LOG_METHOD;
if (KErrNone != aError)
{
+ LOG_FORMAT("Error Occured = %d", (int)aError);
emit errorOccured(EIRQPlayerErrorGeneral);
}
}
@@ -360,40 +389,56 @@
void IRQMMFAdapter::MvpuoEvent(TMMFEvent const & aEvent)
{
LOG_METHOD;
- LOG_FORMAT( "aevent is %d", (int)aEvent);
if (KMMFEventCategoryVideoPlayerGeneralError == aEvent.iEventType)
{
+ LOG("Event Type = KMMFEventCategoryVideoPlayerGeneralError");
switch (aEvent.iErrorCode)
{
case KErrHardwareNotAvailable:
+ LOG("Event Error Code = KErrHardwareNotAvailable");
+ emit errorOccured(EIRQPlayerErrorAudioDeviceLost);
+ break;
case KErrMMAudioDevice:
// Higher priority application has taken over the
// audio device. --> Do stop.
+ LOG("Event Error Code = KErrMMAudioDevice");
emit errorOccured(EIRQPlayerErrorAudioDeviceLost);
break;
case KErrDisconnected:
+ LOG("Event Error Code = KErrDisconnected");
emit errorOccured(EIRQPlayerErrorConnectionLost);
break;
- case KErrTimedOut:
+ case KErrTimedOut:
+ LOG("Event Error Code = KErrTimedOut");
emit errorOccured(EIRQPlayerErrorTimeOut);
break;
- case KErrServerBusy:
+ case KErrServerBusy:
+ LOG("Event Error Code = KErrServerBusy");
emit errorOccured(EIRQPlayerErrorServerFull);
break;
default:
+ LOG_FORMAT("Event Error Code = %d", (int)aEvent.iErrorCode);
emit errorOccured(EIRQPlayerErrorGeneral);
break;
}
}
else if (KMMFRefreshMetaData == aEvent.iEventType)
{
+ LOG("Event Type = KMMFRefreshMetaData");
+ LOG_FORMAT( "Event Error Code = %d", (int)aEvent.iErrorCode);
// Get refreshed meta data
TRAPD(error, getRefreshedMetaDataL(aEvent.iErrorCode));
if (KErrNone != error)
{
+ LOG_FORMAT("Get MetaData Error Occured = %d", (int)error);
emit errorOccured(EIRQPlayerErrorGeneral);
}
}
+ else
+ {
+ LOG_FORMAT("Event Type = %d", (int)aEvent.iEventType.iUid);
+ LOG_FORMAT("Event Error Code = %d", (int)aEvent.iErrorCode);
+ }
}
// ---------------------------------------------------------------------------
@@ -404,6 +449,7 @@
//
void IRQMMFAdapter::MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError)
{
+ LOG_METHOD;
Q_UNUSED(aFrame);
Q_UNUSED(aError);
}
@@ -420,15 +466,18 @@
// Get buffering progress and send it to application
int percentageComplete = 0;
+ LOG("CVideoPlayerUtility::GetVideoLoadingProgressL()");
TRAPD(error, iVideoPlayer->GetVideoLoadingProgressL(percentageComplete));
if (KErrNone == error)
{
// Send signal to UpdateProgress
+ LOG_FORMAT("Loading Percentage Complete = %d", percentageComplete);
emit percentageBuffered(percentageComplete);
}
else
{
+ LOG_FORMAT("Error Occured = %d", (int)error);
emit errorOccured(EIRQPlayerErrorGeneral);
}
}
@@ -458,6 +507,7 @@
LOG_METHOD;
if (iQMetaData)
{
+ LOG("CVideoPlayerUtility::MetaDataEntryL()");
CMMFMetaDataEntry* pMetadataEntry = iVideoPlayer->MetaDataEntryL(index);
QString entryName = QString::fromUtf16(pMetadataEntry->Name().Ptr(),
@@ -493,9 +543,13 @@
//
void IRQMMFAdapter::createPlayerL()
{
+ LOG_METHOD;
+
+ LOG("CVideoPlayerUtility::NewL()");
// Create player instance
iVideoPlayer = CVideoPlayerUtility2::NewL(*this,KAudioPriorityAudioPlaybackStreaming ,
(TMdaPriorityPreference)KAudioPrefRealOneStreaming);
+ LOG("CVideoPlayerUtility::RegisterForVideoLoadingNotification()");
// Register loading notification
iVideoPlayer->RegisterForVideoLoadingNotification(*this);
}
@@ -507,6 +561,7 @@
//
void IRQMMFAdapter::destroyPlayer()
{
+ LOG_METHOD;
delete iVideoPlayer;
iVideoPlayer = NULL;
}
@@ -518,10 +573,12 @@
//
void IRQMMFAdapter::setMetadataEventConfig()
{
+ LOG_METHOD;
TMMFMessageDestinationPckg destinationPckg(KUidInterfaceMMFControllerMetadataEventMsg);
TPckgBuf<TBool> metadataEventPckg(EMMFEnableMetadataEvent);
// Enable meta data event.
+ LOG("CVideoPlayerUtility::CustomCommandSync(EMMFSetMetadataEventConfig)");
iVideoPlayer->CustomCommandSync(destinationPckg,
EMMFSetMetadataEventConfig,
metadataEventPckg,
@@ -535,6 +592,8 @@
//
TInt IRQMMFAdapter::isPrepareCompleted(TAny* aPtr)
{
+ LOG_METHOD;
+ LOG("Prepare timeout timer call back function");
IRQMMFAdapter* self = static_cast<IRQMMFAdapter*>(aPtr);
if (self)
{
@@ -551,6 +610,7 @@
void IRQMMFAdapter::checkPrepare()
{
LOG_METHOD;
+ LOG("Stop the prepare timeout timer");
if (iPrepareTimer->IsActive())
{
// Cancel the previous request if pending
@@ -559,6 +619,7 @@
if (EConnecting == iPlayState)
{
+ LOG("Error Occured(EIRQPlayerErrorConnectingFailed)");
emit errorOccured(EIRQPlayerErrorConnectingFailed);
stop();
}
--- a/qtinternetradio/irqsonghistory/inc/irqsonghistoryengine.h Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef IRQSONGHISTORYENGINE_H_
-#define IRQSONGHISTORYENGINE_H_
-
-#include <QObject>
-
-class IRQMetaData;
-class IRQPreset;
-class IRQSongHistoryInfo;
-class CIRSongHistoryDb;
-class IRQSongInfo;
-
-/**
-* Engine component for Internet Radio SongHistory.
-*/
-class IRQSongHistoryEngine : public QObject
-{
- Q_OBJECT
-
-public:
-
- IMPORT_C static IRQSongHistoryEngine* openInstance();
- IMPORT_C void closeInstance();
-
- /**
- * Get all history from daba base
- * @param QList<IRQSongHistoryInfo *>
- */
- IMPORT_C void getAllHistory(QList<IRQSongHistoryInfo *>& aSongHistoryArr);
-
- /**
- * this is songs' get, the above will be changed to the stations only
- */
- IMPORT_C void getAllSongHistory(QList<IRQSongInfo *>& aSongHistoryArr);
-
- /**
- * Clear all history in data base
- */
- IMPORT_C int clearAllHistory();
-
- IMPORT_C int clearAllSongHistory();
-
- /**
- * Called by the UI when a particular channel has been removed from the ISDS.
- */
- IMPORT_C void syncHistory(int aChannelId);
-
- /**
- * Called by the UI when a particular channel has been changed in the ISDS.
- */
-
- IMPORT_C void updateSongHistoryDb(int aChannelId,
- const QString& aChannelName, const QString& aChannelUrl,
- const QString& aImageUrl, const QString& aGenreName,
- const QString& aCountryName, const QString& aLanguageName,
- const QString& aMusicFlag);
-
- /**
- * Connected with play controller with the song name changed.
- * @param aMetaData The meta data contains song name, artist and bitrate.
- * @param aPreset The preset contains other information.
- */
- IMPORT_C void handleMetaDataReceived(const IRQMetaData& aMetaData, const IRQPreset& aPreset);
- /**
- * Connected with play controller with the song name changed.
- * @param aMetaData The meta data contains song name, artist and bitrate.
- * @param aMusicshopStatus The music shop status of the song
- */
- IMPORT_C void handleSongMetaDataReceived(const IRQMetaData& aMetaData, const IRQPreset& preset);
-
- /*
- * delete one item from the station history db
- * @param aIndex the index of the item need deleted
- */
- IMPORT_C bool deleteOneItem(int aIndex);
-
- /*
- * delete one item from the song history db
- * @param aIndex the index of the item need deleted
- */
- IMPORT_C bool deleteOneSongHistoryItem(int aIndex);
-
-private:
-
- enum TSongHistoryItemChange
- {
- ENOCHANGE = 0,
- ECHANNELCHANGED,
- EMETADATACHANGED,
- EBLANKENTRIES
- };
-
-private:
-
- /**
- * Creates IRQSongHistoryEngine instance
- */
- static IRQSongHistoryEngine* createInstanceL();
-
- void constructL();
-
- /**
- * Constructor.
- */
- IRQSongHistoryEngine();
-
- /**
- * Destructor.
- */
- ~IRQSongHistoryEngine();
-
- TSongHistoryItemChange detectSongHistoryItemChangesL(const IRQMetaData& aMetaData, const QString& aChannelName);
-
- void handleMetaDataReceivedL(const IRQMetaData& aMetaData, const IRQPreset& aPreset);
- void getAllHistoryL(QList<IRQSongHistoryInfo *>& aSongHistoryArr);
- void handleSongMetaDataReceivedL(const IRQMetaData& aMetaData, const IRQPreset& aPreset);
- void getAllSongHistoryL(QList<IRQSongInfo *>& aSongHistoryArr);
-
-private:
-
- /** An instance of songhistory database. */
- CIRSongHistoryDb* iSongHistoryDb;
-
- /**
- * Number of objects currently referring to the singleton object IRQSongHistoryEngine
- */
- int iSingletonInstances;
-};
-
-#endif //IRQSONGHISTORYENGINE_H_
--- a/qtinternetradio/irqsonghistory/inc/irqsonghistoryinfo.h Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef IRQSONGHISTORYINFO_H_
-#define IRQSONGHISTORYINFO_H_
-
-#include <QString>
-
-/**
- * SongHistory meta data information wrapper.
- */
-class IRQSongHistoryInfo
-{
-public:
-
- /**
- * Default constructor.
- */
- IMPORT_C IRQSongHistoryInfo();
-
- /**
- *IRQSongHistoryInfo::~IRQSongHistoryInfo()
- *standard C++ destructor
- */
- IMPORT_C ~IRQSongHistoryInfo();
-
- /**
- *IRQSongHistoryInfo::getArtistName()
- *Function to get artist name from a TDesC
- *@return QString& instance
- */
- IMPORT_C const QString& getArtistName() const;
-
- /**
- *IRQSongHistoryInfo::getSongName()
- *Function to get song name from a TDesC
- *@return QString& instance
- */
- IMPORT_C const QString& getSongName() const;
-
- /**
- *IRQSongHistoryInfo::getStreamUrl()
- *Function to get url name from a TDesC
- *@return QString& instance
- */
- IMPORT_C const QString& getStreamUrl() const;
-
- /**
- *IRQSongHistoryInfo::getChannelName()
- *Function to get channel name from a TDesC
- *@return QString& instance
- */
- IMPORT_C const QString& getChannelName() const;
-
- /**
- *IRQSongHistoryInfo::getChannelDesc()
- *Function to get channel Description
- *@return QString& instance
- */
- IMPORT_C const QString& getChannelDesc() const;
-
- /**
- *IRQSongHistoryInfo::getImageURL()
- *Function to get channel image URL
- *@return QString& instance
- */
- IMPORT_C const QString& getImageUrl() const;
- /**
- *IRQSongHistoryInfo::getGenreName()
- *Function to get channel genre name
- *@return QString& instance
- */
- IMPORT_C const QString& getGenreName() const;
- /**
- *IRQSongHistoryInfo::getCountryName()
- *Function to get channel country Name
- *@return QString& instance
- */
- IMPORT_C const QString& getCountryName() const;
- /**
- *IRQSongHistoryInfo::getLanguageName()
- *Function to get channel language name
- *@return QString& instance
- */
- IMPORT_C const QString& getLanguageName() const;
-
- /**
- *IRQSongHistoryInfo::getMusicStoreStatus()
- *Function to get channel MusicStoreStatus
- *@return QString& instance
- */
- IMPORT_C const QString& getMusicStoreStatus() const;
-
- /**
- *IRQSongHistoryInfo::getChannelType()
- *Function to get channel Type
- *@return int channeltype
- */
- IMPORT_C int getChannelType() const;
-
- /**
- *IRQSongHistoryInfo::getChannelId()
- *Function to get channel Id
- *@return int channelId
- */
- IMPORT_C int getChannelId() const;
-
- /**
- *IRQSongHistoryInfo::getBitrate()
- *Function to get channel bitrate
- *@return int bitrate
- */
- IMPORT_C int getBitrate() const;
-
- /**
- *IRQSongHistoryInfo::setHistoryInfoL()
- *Function to set songhistory info
- */
- void setHistoryInfo(const QString& aArtistName,
- const QString& aSongName,
- const QString& aStreamUrl,
- const QString& aChannelName,
- const QString& aChannelDesc,
- const QString& aImageUrl,
- const QString& aGenreName,
- const QString& aCountryName,
- const QString& aLanguageName,
- const QString& aMusicStoreStatus,
- int aChannelType,
- int aChannelId,
- int aBitrate);
-
- /**
- *IRQSongHistoryInfo::setArtistName()
- *Function to set artist name from a QString
- *@param QString aArtistName
- */
- void setArtistName(const QString& aArtistName);
-
- /**
- *IRQSongHistoryInfo::setSongName()
- *Function to set song name from a QString
- *@param QString aSongName
- */
- void setSongName (const QString& aSongName);
-
- /**
- *IRQSongHistoryInfo::setStreamUrl()
- *Function to set stream url from a QString
- *@param QString aStreamUrl
- */
- void setStreamUrl(const QString& aStreamUrl);
-
- /**
- *IRQSongHistoryInfo::setChannelName()
- *Function to set channel name from a QString
- *@param QString aChannelName
- */
- void setChannelName(const QString& aChannelName);
-
- /**
- *IRQSongHistoryInfo::setChannelDesc()
- *Function to set channel Description
- * @param QString aChannelDesc
- */
- void setChannelDesc(const QString& aChannelDesc);
-
- /**
- *IRQSongHistoryInfo::setImageURL()
- *Function to set channel image URL
- * @param QString aImageUrl
- */
- void setImageUrl(const QString& aImageUrl);
-
- /**
- *IRQSongHistoryInfo::setGenreName()
- *Function to set channel genre name
- * @param QString aGenreName
- */
- void setGenreName(const QString& aGenreName);
-
- /**
- *IRQSongHistoryInfo::setCountryName()
- *Function to set channel country name
- * @param QString aCountryName
- */
- void setCountryName(const QString& aCountryName);
-
- /**
- *IRQSongHistoryInfo::setLanguageName()
- *Function to set channel language name
- * @param QString aLanguageName
- */
- void setLanguageName(const QString& aLanguageName);
-
- /**
- *IRQSongHistoryInfo::setMusicStoreStatus()
- *Function to set Channel MusicStoreStatus
- *@param QString aMusicStoreStatus
- */
- void setMusicStoreStatus(const QString& aMusicStoreStatus);
-
- /**
- *IRQSongHistoryInfo::setChannelType()
- *Function to set channel Type
- *@param int aChannelType
- */
- void setChannelType(int aChannelType);
-
- /**
- *IRQSongHistoryInfo::setChannelId()
- *Function to set channel Id
- *@param int aChannelId
- */
- void setChannelId(int aChannelId);
-
- /**
- *IRQSongHistoryInfo::setBitrate()
- *Function to set channel bitrate
- *@param int aBitrate
- */
- void setBitrate(int aBitrate);
-
-private:
-
- /**
- * The name of the artist.
- */
- QString iArtistName;
-
- /**
- * The name of the song.
- */
- QString iSongName;
-
- /**
- * The stream URL.
- */
- QString iStreamUrl;
-
- /**
- * Channel Name.
- */
- QString iChannelName;
-
- /**
- * Channel Description.
- */
- QString iChannelDescription;
-
- /**
- * Channel's image Url.
- */
- QString iImageUrl;
- QString iGenreName;
- QString iCountryName;
- QString iLanguageName;
- /**
- * Channel's MusicStoreStatus.
- */
- QString iMusicStoreStatus;
-
- /**
- * Channel Type.
- */
- int iChannelType;
-
- /**
- * Channel Id.
- */
- int iChannelId;
-
- /**
- * Channel bitrate.
- */
- int iBitrate;
-};
-
-class IRQSongInfo
-{
-public:
-
-
- IMPORT_C void setSongName(const QString& aName);
- IMPORT_C const QString& getSongName() const;
-
- IMPORT_C void setArtistName(const QString& aArtist);
- IMPORT_C const QString& getArtistName()const;
-
- IMPORT_C void setStationName(const QString& aStationName);
- IMPORT_C const QString& getStationName()const;
-
- IMPORT_C void setMusicshopStatus(const QString& aStatus);
- IMPORT_C const QString& getMusicshopStatus()const;
-
- IMPORT_C void setAllInfo(const QString& aName, const QString& aArtist, const QString& aStationName, const QString& aStatus);
-
-private:
-
- QString iSongName;
- QString iSongArtist;
- QString iStationName;
- QString iMusicshopStatus;
-
-};
-#endif // IRQSONGHISTORYINFO_H_
--- a/qtinternetradio/irqsonghistory/irqsonghistory.pro Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-
-TEMPLATE = lib
-TARGET = irqsonghistory
-TARGET.CAPABILITY = CAP_GENERAL_DLL
-
-defFilePath = ..
-
-DEPENDPATH += src ../../internetradio2.0/irsonghistory/src
-LIBS += -lbafl -ledbms -lefsrv -lirsettings -lflogger
-
-INCLUDEPATH += inc \
- ../irqmediaplayer/inc \
- ../irqcommon/inc \
- ../../internetradio2.0/irsettings/inc \
- ../../internetradio2.0/inc \
- ../../internetradio2.0/irsonghistory/inc \
-
-MOC_DIR = moc
-
-symbian{
- TARGET.UID3 = 0x2002FFC3
- TARGET.EPOCALLOWDLLDATA = 1
- MMP_RULES += SMPSAFE
-}
-
-# Input
-HEADERS += inc/irqsonghistoryengine.h \
- inc/irqsonghistoryinfo.h
-
-SOURCES += irqsonghistoryengine.cpp \
- irqsonghistoryinfo.cpp \
- irsonghistorydb.cpp \
- irsonghistoryinfo.cpp
-
-SYMBIAN_PLATFORMS = WINSCW ARMV5
-
-!exists( $(RVCT22BIN) ) {
- !exists( $(RVCT31BIN) ) {
- exists( $(RVCT40BIN) ) {
- QMAKE_CFLAGS.ARMCC += --import_all_vtbl
- }
- }
- }
\ No newline at end of file
--- a/qtinternetradio/irqsonghistory/src/irqsonghistoryengine.cpp Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,524 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include "irsonghistoryinfo.h"
-#include "irsonghistorydb.h"
-#include "irqsonghistoryinfo.h"
-#include "irqisdsdatastructure.h"
-#include "irqmetadata.h"
-#include "irqsonghistoryengine.h"
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::openInstance()
-// Static function to get a singleton instance of IRQSongHistoryEngine
-// @return IRQSongHistoryEngine *
-// ---------------------------------------------------------------------------
-//
-EXPORT_C IRQSongHistoryEngine* IRQSongHistoryEngine::openInstance()
-{
- // Get singleton instance
- IRQSongHistoryEngine* irqSongHistoryEngine =
- reinterpret_cast<IRQSongHistoryEngine*>(Dll::Tls());
-
- if (NULL == irqSongHistoryEngine)
- {
- TRAPD(error, irqSongHistoryEngine = createInstanceL());
- if (KErrNone != error)
- {
- delete irqSongHistoryEngine;
- irqSongHistoryEngine = NULL;
- Dll::SetTls(NULL);
- }
- }
- else
- {
- irqSongHistoryEngine->iSingletonInstances++;
- }
-
- return irqSongHistoryEngine;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::closeInstance()
-// Close a singleton instance of IRQSongHistoryEngine
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void IRQSongHistoryEngine::closeInstance()
-{
- iSingletonInstances--;
-
- if (0 == iSingletonInstances)
- {
- Dll::SetTls(NULL);
- delete this;
- }
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::createInstanceL()
-// Creates IRQSongHistoryEngine instance
-// @return IRQSongHistoryEngine*
-// ---------------------------------------------------------------------------
-//
-IRQSongHistoryEngine* IRQSongHistoryEngine::createInstanceL()
-{
- IRQSongHistoryEngine* irqSongHistoryEngine = new (ELeave) IRQSongHistoryEngine();
- irqSongHistoryEngine->constructL();
- User::LeaveIfError(Dll::SetTls(irqSongHistoryEngine));
- irqSongHistoryEngine->iSingletonInstances = 1;
-
- return irqSongHistoryEngine;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::constructL()
-// Two-Phase Constructor.
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryEngine::constructL()
-{
- iSongHistoryDb = CIRSongHistoryDb::NewL();
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::IRQSongHistoryEngine()
-// standard C++ Constructor
-// ---------------------------------------------------------------------------
-//
-IRQSongHistoryEngine::IRQSongHistoryEngine()
-{
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::~IRQSongHistoryEngine()
-// standard C++ destructor
-// ---------------------------------------------------------------------------
-//
-IRQSongHistoryEngine::~IRQSongHistoryEngine()
-{
- delete iSongHistoryDb;
- iSongHistoryDb = NULL;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::handleMetaDataReceivedL()
-// Invoked when channel name or song & artist name are changed.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void IRQSongHistoryEngine::handleMetaDataReceived(const IRQMetaData& aMetaData,
- const IRQPreset& aPreset)
-{
- TRAPD(error, handleMetaDataReceivedL(aMetaData, aPreset));
- if (KErrNone != error)
- {
-
- }
-}
-
-EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceived(const IRQMetaData& aMetaData,
- const IRQPreset& aPreset)
-{
- TRAPD(error, handleSongMetaDataReceivedL(aMetaData,aPreset));
- if (KErrNone != error)
- {
- }
-}
-
-EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceivedL(const IRQMetaData& aMetaData,
- 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 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);
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::handleMetaDataReceivedL()
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryEngine::handleMetaDataReceivedL(const IRQMetaData& aMetaData,
- const IRQPreset& aPreset)
-{
- // Read Channel properties
- 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 channelUrl(reinterpret_cast<const TUint16*>(aMetaData.getStreamUrl().utf16()), aMetaData.getStreamUrl().length());
- 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()>KMaxColumnLength ? KMaxColumnLength : 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;
- TUint16 bitrate = aMetaData.getBitrate();
-
- if (channelType == 1)
- {
- TInt ret = iSongHistoryDb->GetIdPresentInDbL( channelId );
- if(ret)
- {
- TInt modified = iSongHistoryDb->UpdateSongHistoryDbL( channelId ,
- channelUrl ,imageUrl ,genreName, countryName, languageName, musicFlag);
- // TODO notify uplayer to change layout?
- }
- }
- else if (channelType != 0)
- {
- // the channel type can only be 1 (isds channel) or 0 (user defined channel)
- channelType = 0;
- }
-
- iSongHistoryDb->SearchAndDeleteRecordL(channelName, channelUrl, channelType, channelId);
-
- RBuf delSongName;
- delSongName.CleanupClosePushL();
- RBuf delArtistName;
- delArtistName.CleanupClosePushL();
- RBuf delChannelName;
- delChannelName.CleanupClosePushL();
- RBuf delChannelUrl;
- delChannelUrl.CleanupClosePushL();
- TBool bExceededMax = iSongHistoryDb->AddToSongHistoryDbL(songName,
- artistName,
- channelName,
- channelUrl,
- delSongName,
- delArtistName,
- delChannelName,
- delChannelUrl ,
- channelType,
- channelId,
- bitrate,
- channelDesc,
- imageUrl,
- genreName,
- countryName,
- languageName,
- musicFlag);
-
- CleanupStack::PopAndDestroy(4, &delSongName);
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::detectSongHistoryItemChangesL()
-// To detect any change in the song history items.
-// ---------------------------------------------------------------------------
-//
-IRQSongHistoryEngine::TSongHistoryItemChange IRQSongHistoryEngine::detectSongHistoryItemChangesL(
- const IRQMetaData& aMetaData, const QString& aChannelName)
-{
- if(aChannelName.length() == 0)
- {
- return EBLANKENTRIES;
- }
-
- RBuf song;
- song.CleanupClosePushL();
- RBuf artist;
- artist.CleanupClosePushL();
- RBuf channel;
- channel.CleanupClosePushL();
- RBuf url;
- url.CleanupClosePushL();
-
- iSongHistoryDb->GetLastHistoryItemL(song, artist, channel, url);
-
- TSongHistoryItemChange retval = ENOCHANGE;
-
- QString tmpsong = QString::fromUtf16(song.Ptr(), song.Length());
- QString tmpartist = QString::fromUtf16(artist.Ptr(), artist.Length());
- QString tmpchannel = QString::fromUtf16(channel.Ptr(), channel.Length());
- QString tmpurl = QString::fromUtf16(url.Ptr(), url.Length());
- if (tmpsong == aMetaData.getSongName() && tmpartist == aMetaData.getArtistName()
- && tmpchannel == aChannelName && tmpurl == aMetaData.getStreamUrl())
- {
- retval = ENOCHANGE;
- }
- else
- {
- retval = ECHANNELCHANGED;
- }
-
- CleanupStack::PopAndDestroy(4, &song);
-
- return retval;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::getAllHistory
-// Invoked when when UI request.
-// Getting the data from SongHistoryDb.
-// ---------------------------------------------------------------------------
-
-EXPORT_C void IRQSongHistoryEngine::getAllHistory(QList<IRQSongHistoryInfo *>& aSongHistoryArr)
-{
- TRAP_IGNORE(getAllHistoryL(aSongHistoryArr));
-}
-
-EXPORT_C void IRQSongHistoryEngine::getAllSongHistory(QList<IRQSongInfo *>& aSongHistoryArr)
-{
- TRAP_IGNORE(getAllSongHistoryL(aSongHistoryArr));
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::getAllHistoryL
-// Invoked when when UI request.
-// Getting the data from SongHistoryDb.
-// ---------------------------------------------------------------------------
-
-void IRQSongHistoryEngine::getAllHistoryL(QList<IRQSongHistoryInfo *>& aSongHistoryArr)
-{
- // clear the array
- while (!aSongHistoryArr.isEmpty())
- {
- delete aSongHistoryArr.takeFirst();
- }
-
- int songCount = iSongHistoryDb->CountSongHistoryDb();
-
- if (songCount == 0)
- {
- return;
- }
-
- // get song history list
- RPointerArray<CIRSongHistoryInfo> historyDataArr;
- for (int arrCount = 0 ; arrCount < songCount ; arrCount++ )
- {
- CIRSongHistoryInfo *songHistory = CIRSongHistoryInfo::NewL();
- CleanupStack::PushL(songHistory);
- historyDataArr.AppendL(songHistory);
- CleanupStack::Pop(songHistory);
- }
-
- iSongHistoryDb->GetAllSongHistoryListL(historyDataArr);
-
- // create IRQSongHistoryInfo array and set
- QString songName;
- QString artist;
- QString streamUrl;
- QString channelName;
- int channelType;
- int channelId;
- int bitrate;
- QString channelDesc;
- QString imageUrl;
- QString genreName;
- QString countryName;
- QString languageName;
- QString musicStoreStatus;
- for (int arrCount = 0 ; arrCount < songCount ; arrCount++ )
- {
- songName = QString::fromUtf16(historyDataArr[arrCount]->GetSongInfo().Ptr(),
- historyDataArr[arrCount]->GetSongInfo().Length());
- artist = QString::fromUtf16(historyDataArr[arrCount]->GetArtistInfo().Ptr(),
- historyDataArr[arrCount]->GetArtistInfo().Length());
- streamUrl = QString::fromUtf16(historyDataArr[arrCount]->GetStreamUrl().Ptr(),
- historyDataArr[arrCount]->GetStreamUrl().Length());
- channelName = QString::fromUtf16(historyDataArr[arrCount]->GetChannelName().Ptr(),
- historyDataArr[arrCount]->GetChannelName().Length());
- channelType = historyDataArr[arrCount]->GetChannelType();
- channelId = historyDataArr[arrCount]->GetChannelId();
- bitrate = historyDataArr[arrCount]->GetBitrate();
- channelDesc = QString::fromUtf16(historyDataArr[arrCount]->GetChannelDesc().Ptr(),
- 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();
- if (NULL == irqsongHistory)
- {
- break;
- }
- irqsongHistory->setHistoryInfo(artist, songName, streamUrl, channelName, channelDesc
- , imageUrl, genreName, countryName, languageName, musicStoreStatus, channelType, channelId, bitrate);
- aSongHistoryArr.append(irqsongHistory);
- }
-
- historyDataArr.ResetAndDestroy();
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::getAllHistoryL
-// Invoked when when UI request.
-// Getting the data from SongHistoryDb.
-// ---------------------------------------------------------------------------
-
-void IRQSongHistoryEngine::getAllSongHistoryL(QList<IRQSongInfo *>& aSongHistoryArr)
-{
- // clear the array
- while (!aSongHistoryArr.isEmpty())
- {
- delete aSongHistoryArr.takeFirst();
- }
-
- int songCount = iSongHistoryDb->CountSongHistoryDb2();
-
- if (songCount == 0)
- {
- return;
- }
-
- // get song history list
- RPointerArray<CIRSongHistoryInfo> historyDataArr;
- for (int arrCount = 0 ; arrCount < songCount ; arrCount++ )
- {
- CIRSongHistoryInfo *songHistory = CIRSongHistoryInfo::NewL();
- CleanupStack::PushL(songHistory);
- historyDataArr.AppendL(songHistory);
- CleanupStack::Pop(songHistory);
- }
-
- iSongHistoryDb->GetAllSongHistoryList2L(historyDataArr);
-
- // create IRQSongHistoryInfo array and set
- QString songName;
- QString artist;
- QString stationName;
- QString musicStoreStatus;
-
- for (int arrCount = 0; arrCount < songCount; arrCount++)
- {
- songName = QString::fromUtf16(
- historyDataArr[arrCount]->GetSongInfo().Ptr(),
- historyDataArr[arrCount]->GetSongInfo().Length());
- 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, stationName, musicStoreStatus);
- aSongHistoryArr.append(irqsong);
- }
-
- historyDataArr.ResetAndDestroy();
-}
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::clearAllHistory
-// Invoked when when UI request.
-// Clears the SongHistoryDb.
-// ---------------------------------------------------------------------------
-
- EXPORT_C int IRQSongHistoryEngine::clearAllHistory( )
- {
- return iSongHistoryDb->ClearAllSongHistoryFromDb();
- }
-
- EXPORT_C int IRQSongHistoryEngine::clearAllSongHistory( )
- {
- return iSongHistoryDb->ClearAllSongHistoryFromDb2();
- }
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::syncHistory
-// Invoked when when UI request.
-// Synchronises the Song history DB with the new data in the ISDS.
-// ---------------------------------------------------------------------------
-EXPORT_C void IRQSongHistoryEngine::syncHistory(int aChannelId)
-{
- TRAPD(err,iSongHistoryDb->SyncSongHistoryDbL(aChannelId));
- if (err)
- {
- }
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryEngine::updateSongHistoryDb
-// Invoked when when UI request.
-// Synchronises the Song history DB with the new data in the ISDS.
-// ---------------------------------------------------------------------------
-EXPORT_C void IRQSongHistoryEngine::updateSongHistoryDb(int aChannelId,
- const QString& aChannelName,
- const QString& aChannelUrl,
- const QString& aImageUrl,
- const QString& aGenreName,
- const QString& aCountryName,
- const QString& aLanguageName,
- const QString& aMusicFlag)
-{
- TInt ret = KErrNone ;
- TUint16 channelId = aChannelId; // prevent data overflow
-
- TRAPD(err,ret = iSongHistoryDb->GetIdPresentInDbL( channelId ));
-
- if (err)
- {
- return;
- }
-
- if (ret)
- {
- 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 ,
- channelUrl,
- imageUrl,
- genreName,
- countryName,
- languageName,
- musicFlag));
- }
-}
-
-EXPORT_C bool IRQSongHistoryEngine::deleteOneItem(int aIndex)
-{
- int retValue = 0;
- retValue = iSongHistoryDb->DeleteOneHistory(aIndex);
- if( KErrNone != retValue )
- {
- return false;
- }
-
- return true;
-}
-
-EXPORT_C bool IRQSongHistoryEngine::deleteOneSongHistoryItem(int aIndex)
-{
- int retValue = 0;
- retValue = iSongHistoryDb->DeleteOneSongHistory(aIndex);
- if( KErrNone != retValue )
- {
- return false;
- }
-
- return true;
-}
--- a/qtinternetradio/irqsonghistory/src/irqsonghistoryinfo.cpp Fri Sep 17 08:27:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,380 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include "irqsonghistoryinfo.h"
-
-// ---------------------------------------------------------------------------
-//IRQSongHistoryInfo::~IRQSongHistoryInfo()
-//standard C++ constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C IRQSongHistoryInfo::IRQSongHistoryInfo()
-{
- iChannelType = 0;
- iChannelId = 0;
- iBitrate = 0;
-}
-
-// ---------------------------------------------------------------------------
-//IRQSongHistoryInfo::~IRQSongHistoryInfo()
-//standard C++ destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C IRQSongHistoryInfo::~IRQSongHistoryInfo()
-{
-
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getArtistName
-// gets Artist name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getArtistName() const
-{
- return iArtistName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getSongName
-// gets the song information
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getSongName() const
-{
- return iSongName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getStreamUrl
-// gets StreamUrl
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getStreamUrl() const
-{
- return iStreamUrl;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getChannelName
-// gets Channel name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getChannelName() const
-{
- return iChannelName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getChannelDesc
-// gets Channel Description
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getChannelDesc() const
-{
- return iChannelDescription;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getImageUrl
-// gets Channel image Url
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getImageUrl() const
-{
- return iImageUrl;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getGenreName
-// gets Channel genre name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getGenreName() const
-{
- return iGenreName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getCountryName
-// gets Channel country name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getCountryName() const
-{
- return iCountryName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getLanguageName
-// gets Channel language name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getLanguageName() const
-{
- return iLanguageName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getMusicStoreStatus
-// gets Channel MusicStoreStatus
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const QString& IRQSongHistoryInfo::getMusicStoreStatus() const
-{
- return iMusicStoreStatus;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getChannelType
-// gets Channel Type
-// ---------------------------------------------------------------------------
-//
-EXPORT_C int IRQSongHistoryInfo::getChannelType() const
-{
- return iChannelType;
-}
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getChannelId
-// gets Channel Id
-// ---------------------------------------------------------------------------
-//
-EXPORT_C int IRQSongHistoryInfo::getChannelId() const
-{
- return iChannelId;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::getBitrate
-// gets Channel bitrate
-// ---------------------------------------------------------------------------
-//
-EXPORT_C int IRQSongHistoryInfo::getBitrate() const
-{
- return iBitrate;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setHistoryInfo
-// sets Song History Information.
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setHistoryInfo(const QString& aArtistName,
- const QString& aSongName,
- const QString& aStreamUrl,
- const QString& aChannelName,
- const QString& aChannelDesc,
- const QString& aImageUrl,
- const QString& aGenreName,
- const QString& aCountryName,
- const QString& aLanguageName,
- const QString& aMusicStoreStatus,
- int aChannelType,
- int aChannelId,
- int aBitrate)
-{
- setArtistName(aArtistName);
- setSongName(aSongName);
- setStreamUrl(aStreamUrl);
- setChannelName(aChannelName);
- setChannelDesc(aChannelDesc);
- setImageUrl(aImageUrl);
- setGenreName(aGenreName);
- setCountryName(aCountryName);
- setLanguageName(aLanguageName);
- setMusicStoreStatus(aMusicStoreStatus);
- setChannelType(aChannelType);
- setChannelId(aChannelId);
- setBitrate(aBitrate);
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setArtistName
-// sets Artist name
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setArtistName(const QString& aArtistName)
-{
- iArtistName = aArtistName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setSongName
-// sets Song name
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setSongName (const QString& aSongName)
-{
- iSongName = aSongName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setStreamUrl
-// sets Stream url
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setStreamUrl(const QString& aStreamUrl)
-{
- iStreamUrl = aStreamUrl;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setChannelName
-// sets Channel name
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setChannelName(const QString& aChannelName)
-{
- iChannelName = aChannelName;
-}
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setChannelDesc
-// sets Channel description
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setChannelDesc(const QString& aChannelDesc)
-{
- iChannelDescription = aChannelDesc;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setImageUrl
-// sets Channel image Url
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setImageUrl(const QString& aImageUrl)
-{
- iImageUrl = aImageUrl;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setGenreName
-// sets Channel genre name
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setGenreName(const QString& aGenreName)
-{
- iGenreName = aGenreName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setCountryName
-// sets Channel country name
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setCountryName(const QString& aCountryName)
-{
- iCountryName = aCountryName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setLanguageName
-// sets Channel language name
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setLanguageName(const QString& aLanguageName)
-{
- iLanguageName = aLanguageName;
-}
-
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setMusicStoreStatus
-// sets Channel's MusicStoreStatus
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setMusicStoreStatus(const QString& aMusicStoreStatus)
-{
- iMusicStoreStatus = aMusicStoreStatus;
-}
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setChannelType
-// sets Channel type
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setChannelType(int aChannelType)
-{
- iChannelType = aChannelType;
-}
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setChannelId
-// sets Channel Id
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setChannelId(int aChannelId)
-{
- iChannelId = aChannelId;
-}
-// ---------------------------------------------------------------------------
-// IRQSongHistoryInfo::setBitrate
-// sets Channel bitrate
-// ---------------------------------------------------------------------------
-//
-void IRQSongHistoryInfo::setBitrate(int aBitrate)
-{
- iBitrate = aBitrate;
-}
-
-
-
-EXPORT_C void IRQSongInfo::setSongName(const QString& aName)
-{
- iSongName = aName;
-}
-
-EXPORT_C const QString& IRQSongInfo::getSongName() const
-{
- return iSongName;
-}
-
-EXPORT_C void IRQSongInfo::setArtistName(const QString& aArtist)
-{
- iSongArtist = aArtist;
-}
-
-EXPORT_C void IRQSongInfo::setStationName(const QString& aStationName)
-{
- iStationName = aStationName;
-}
-
-EXPORT_C const QString& IRQSongInfo::getArtistName() const
-{
- return iSongArtist;
-}
-
-EXPORT_C const QString& IRQSongInfo::getStationName() const
-{
- return iStationName;
-}
-EXPORT_C void IRQSongInfo::setMusicshopStatus(const QString& aStatus)
-{
- iMusicshopStatus = aStatus;
-}
-
-EXPORT_C const QString& IRQSongInfo::getMusicshopStatus() const
-{
- return iMusicshopStatus;
-}
-
-EXPORT_C void IRQSongInfo::setAllInfo(const QString& aName, const QString& aArtist, const QString& aStationName, const QString& aStatus)
-{
- iSongName = aName;
- iSongArtist = aArtist;
- iStationName = aStationName;
- iMusicshopStatus = aStatus;
-}
-
-
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/rom/createsis_stub.bat Mon Oct 04 00:07:46 2010 +0300
@@ -0,0 +1,19 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description:
+@rem
+@echo off
+echo
+makesis -s ir3_qtinternetradio_stub.pkg
+echo.
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/rom/ir3_qtinternetradio_stub.pkg Mon Oct 04 00:07:46 2010 +0300
@@ -0,0 +1,47 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+; ui_armv5_udeb.pkg generated by qmake at Fri May 8 09:53:45 2009
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"QtInternetRadio"},(0x2002FFAC),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+;qtinternetradio
+"" - "z:\sys\bin\internet_radio_10_1.exe"
+"" - "z:\resource\apps\internet_radio_10_1.rsc"
+"" - "z:\private\10003a3f\import\apps\internet_radio_10_1_reg.rsc"
+"" - "z:\resource\qt\translations\internet_radio_10_1_en.qm"
+"" - "z:\sys\bin\irqnetworkcontroller.dll"
+"" - "z:\sys\bin\irqisdsclient.dll"
+"" - "z:\sys\bin\irqmediaplayer.dll"
+"" - "z:\sys\bin\irqutility.dll"
+"" - "z:\sys\bin\irqfavorites.dll"
+"" - "z:\sys\bin\irqsettings.dll"
+"" - "z:\sys\bin\irqnwkinfoobserver.dll"
+"" - "z:\sys\bin\irqstatisticsreporter.dll"
+"" - "z:\sys\bin\irqsystemeventhandler.dll"
+"" - "z:\sys\bin\irqlogger.dll"
+"" - "z:\sys\bin\irdb.dll"
\ No newline at end of file
Binary file qtinternetradio/rom/ir3_qtinternetradio_stub.sis has changed
--- a/qtinternetradio/rom/qtinternetradio.iby Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/rom/qtinternetradio.iby Mon Oct 04 00:07:46 2010 +0300
@@ -26,8 +26,7 @@
file=ABI_DIR\BUILD_DIR\irqisdsclient.dll SHARED_LIB_DIR\irqisdsclient.dll
file=ABI_DIR\BUILD_DIR\irqmediaplayer.dll SHARED_LIB_DIR\irqmediaplayer.dll
file=ABI_DIR\BUILD_DIR\irqutility.dll SHARED_LIB_DIR\irqutility.dll
-file=ABI_DIR\BUILD_DIR\irqfavorites.dll SHARED_LIB_DIR\irqfavorites.dll
-file=ABI_DIR\BUILD_DIR\irqsongHistory.dll SHARED_LIB_DIR\irqsonghistory.dll
+file=ABI_DIR\BUILD_DIR\irqfavorites.dll SHARED_LIB_DIR\irqfavorites.dll
file=ABI_DIR\BUILD_DIR\irqsettings.dll SHARED_LIB_DIR\irqsettings.dll
file=ABI_DIR\BUILD_DIR\irqnwkinfoobserver.dll SHARED_LIB_DIR\irqnwkinfoobserver.dll
file=ABI_DIR\BUILD_DIR\irqstatisticsreporter.dll SHARED_LIB_DIR\irqstatisticsreporter.dll
@@ -36,5 +35,7 @@
file=ABI_DIR\BUILD_DIR\irdb.dll SHARED_LIB_DIR\irdb.dll
data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\internet_radio_10_1_reg.rsc Private\10003a3f\import\apps\internet_radio_10_1_reg.rsc
+
+data=ZSYSTEM\install\ir3_qtinternetradio_stub.sis system\install\ir3_qtinternetradio_stub.sis
#endif
--- a/qtinternetradio/ui/inc/irabstractlistviewbase.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irabstractlistviewbase.h Mon Oct 04 00:07:46 2010 +0300
@@ -104,7 +104,6 @@
HbAction *iFavoritesAction;
HbAction *iGenresAction;
HbAction *iSearchAction;
- QTimer *iConvertTimer;
TIRViewParameter iViewParameter;
};
--- a/qtinternetradio/ui/inc/irapplication.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irapplication.h Mon Oct 04 00:07:46 2010 +0300
@@ -106,9 +106,7 @@
void cancelConnect();
void loadGenre();
void handleDiskSpaceLow(qint64 aCriticalLevel);
-#ifdef TERMS_CONDITIONS_VIEW_ENABLED
- void handleTermsConsAccepted();
-#endif
+
void handleCallActivated();
void handleCallDeactivated();
void handleHeadsetConnected();
--- a/qtinternetradio/ui/inc/irchannelmodel.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irchannelmodel.h Mon Oct 04 00:07:46 2010 +0300
@@ -23,6 +23,9 @@
class HbIcon;
class IRQChannelItem;
class IRSearchResultDB;
+class IRLogoProvider;
+class IRQIsdsClient;
+class QTimer;
class IrChannelModel : public QAbstractListModel
{
@@ -34,29 +37,39 @@
int rowCount(const QModelIndex &aParent = QModelIndex()) const;
QVariant data(const QModelIndex &aIndex, int aRole = Qt::DisplayRole) const;
- QString imageUrl(int aRow);
- void setLogo(HbIcon *aIcon, int aIndex);
void initWithCache();
void save2Cache();
//not take ownership
IRQChannelItem * getChannelItemByIndex(int aIndex);
void cleanupDatabase();
- void clearAndDestroyLogos();
-
+ void startDownloadingLogo();
+ void stopDownloadingLogo();
+
public slots:
- void updateData(QList<IRQChannelItem*> *aPushItemsList);
+ void updateData(QList<IRQChannelItem*> *aPushItemsList, bool bInit=false);
signals:
void dataAvailable();
+private slots:
+ void downloadNextLogo();
+ void logoData(const QByteArray &aLogoData);
+
private:
+ void clearAndDestroyLogos();
void clearAndDestroyItems();
+ void updateIconIndexArray();
+ void setLogo(HbIcon *aIcon, int aIndex);
private:
QList<IRQChannelItem*> *iChannelList;
- QMap<int, HbIcon*> iLogos;
- HbIcon *iStationLogo;
- IRSearchResultDB *iDB;
+ QMap<int, HbIcon*> iLogos;
+ HbIcon *iStationLogo;
+ IRSearchResultDB *iDB;
+ QList<int> iIconIndexArray;
+ IRQIsdsClient *iIsdsClient;
+ IRLogoProvider *iLogoProvider;
+ QTimer *iTimer;
};
#endif
--- a/qtinternetradio/ui/inc/irfavoritesmodel.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irfavoritesmodel.h Mon Oct 04 00:07:46 2010 +0300
@@ -23,6 +23,9 @@
class IRQPreset;
class IRQFavoritesDB;
class HbIcon;
+class IRLogoProvider;
+class IRQIsdsClient;
+class QTimer;
class IRFavoritesModel : public QAbstractListModel
{
@@ -42,25 +45,35 @@
bool isLogoReady(int aIndex) const;
bool checkFavoritesUpdate();
- void clearFavoriteDB();
void clearAndDestroyLogos();
bool deleteOneFavorite(int aIndex);
bool deleteMultiFavorites(const QModelIndexList &aIndexList);
void updateFavoriteName(int aIndex, const QString &aNewName);
+ void startDownloadingLogo();
+ void stopDownloadingLogo();
+
signals:
void modelChanged();
+private slots:
+ void downloadNextLogo();
+ void logoData(const QByteArray &aLogoData);
private:
void clearPresetList();
+ void updateIconIndexArray();
private:
IRQFavoritesDB *iFavoritesDb;
QList<IRQPreset*> *iPresetsList;
HbIcon *iStationLogo;
QList<HbIcon*> iLogos;
+ QList<int> iIconIndexArray;
+ IRQIsdsClient *iIsdsClient;
+ IRLogoProvider *iLogoProvider;
+ QTimer *iTimer;
};
#endif
--- a/qtinternetradio/ui/inc/irfavoritesview.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irfavoritesview.h Mon Oct 04 00:07:46 2010 +0300
@@ -23,7 +23,6 @@
class HbSelectionDialog;
class IRFavoritesModel;
class IRStationShare;
-class IRQPreset;
class IRFavoritesView : public IrAbstractListViewBase
{
@@ -41,9 +40,6 @@
private slots:
void deleteFavorites();
void networkRequestNotified(IRQNetworkEvent aEvent);
- void convertAnother();
- void presetLogoDownload(IRQPreset* aPreset);
- void presetLogoDownloadError();
void modelChanged();
void actionClicked(HbAction *aAction);
void renameConfirmed(HbAction *aAction);
@@ -59,28 +55,21 @@
void setCheckedAction();
void handleItemSelected();
void prepareMenu();
- void startConvert(int aIndex);
void shareContextAction();
void deleteContextAction();
void renameContextAction();
void detailsContextAction();
- void updateIconIndexArray();
void popupDeleteContextConfirmMessageBox();
//from base view
void listViewLongPressed(HbAbstractViewItem *aItem, const QPointF& aCoords);
- void initToolBar();
-
private:
IRStationShare *iStationShare;
IRFavoritesModel *iModel;
HbSelectionDialog *iMultiDeleteDialog;
HbAction *iMultiDeleteAction;
- //the following are used to support the img
- QList<int> iIconIndexArray;
- IRQPreset *iLogoPreset;
friend class IRViewManager;
};
--- a/qtinternetradio/ui/inc/irhistorymodel.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irhistorymodel.h Mon Oct 04 00:07:46 2010 +0300
@@ -19,9 +19,13 @@
#include <QAbstractItemModel>
-class IRQSongHistoryEngine;
-class IRQSongHistoryInfo;
class HbIcon;
+class IRQPreset;
+class channelHistoryWrapper;
+class urlInfoWrapper;
+class IRLogoProvider;
+class IRQIsdsClient;
+class QTimer;
class IRHistoryModel : public QAbstractListModel
{
@@ -33,25 +37,43 @@
int rowCount(const QModelIndex &aParent = QModelIndex()) const;
QVariant data(const QModelIndex &aIndex, int aRole = Qt::DisplayRole) const;
- IRQSongHistoryInfo* getHistoryInfo(int aIndex);
- void clearAllList();
+ IRQPreset* getHistoryInfo(int aIndex);
+ void clearAllHistory();
bool checkHistoryUpdate();
- void clearAndDestroyLogos();
- QString getImageUrl(int aRow) const;
- void setLogo(HbIcon *aIcon, int aIndex);
- bool deleteOneItem(int aIndex);
+ bool deleteHistory(int aIndex);
+
+ void startDownloadingLogo();
+ void stopDownloadingLogo();
signals:
void modelChanged();
-private:
- void getAllList();
-
+private slots:
+ void downloadNextLogo();
+ void logoData(const QByteArray &aLogoData);
+
private:
- QList<IRQSongHistoryInfo *> iHistoryList;
- IRQSongHistoryEngine *iHistoryEngine;
- QMap<int, HbIcon*> iLogos;
- HbIcon *iStationLogo;
+ void refreshModel();
+ void clearModel();
+
+ void clearAndDestroyLogos();
+ QString getImageUrl(int aRow) const;
+ void setLogo(HbIcon *aIcon, int aIndex);
+
+ bool isLogoReady(int aIndex) const;
+ void updateIconIndexArray();
+
+private:
+ QList<IRQPreset *> iHistoryList;
+ channelHistoryWrapper *iHistoryEngine;
+ urlInfoWrapper *iUrlInfoWrapper;
+ QList<HbIcon*> iLogos;
+ HbIcon *iStationLogo;
+
+ QList<int> iIconIndexArray;
+ IRQIsdsClient *iIsdsClient;
+ IRLogoProvider *iLogoProvider;
+ QTimer *iTimer;
};
#endif /* IRHISTORYMODEL_H_ */
--- a/qtinternetradio/ui/inc/irhistoryview.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irhistoryview.h Mon Oct 04 00:07:46 2010 +0300
@@ -20,9 +20,9 @@
#include "irabstractlistviewbase.h"
#include "irqevent.h"
-class IRQPreset;
+
class IRHistoryModel;
-class IRQSongHistoryInfo;
+
class IRHistoryView : public IrAbstractListViewBase
{
@@ -40,10 +40,7 @@
private slots:
void clearAllList(HbAction *aAction);
void networkRequestNotified(IRQNetworkEvent aEvent);
- //to start the convertion asynchronously
- void convertAnother();
- void presetLogoDownload(IRQPreset* aPreset);
- void presetLogoDownloadError();
+
void modelChanged();
void actionClicked(HbAction *aAction);
@@ -57,24 +54,14 @@
void prepareMenu();
#ifdef HS_WIDGET_ENABLED
void itemAboutToBeSelected(bool &aNeedNetwork);
-#endif
- void startConvert(int aIndex);
- void convertStationHistory2Preset(const IRQSongHistoryInfo& aHistoryInfo, IRQPreset& aPreset);
+#endif
void addContextAction();
void deleteContextAction();
void detailsContextAction();
private:
IRHistoryModel *iModel;
- HbAction *iClearHistoryAction;
- HbAction *iSongHistoryAction;
-
-
- //the following are used to support the img
- QList<int> iIconIndexArray;
- IRQPreset *iLogoPreset;
-
-
+ HbAction *iClearHistoryAction;
friend class IRViewManager;
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/ui/inc/irlogoprovider.h Mon Oct 04 00:07:46 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef IRLOGOPROVIDER_H_
+#define IRLOGOPROVIDER_H_
+
+#include <QObject>
+
+class IRQIsdsClient;
+class IRQPreset;
+
+class IRLogoProvider : public QObject
+{
+ Q_OBJECT
+public:
+ explicit IRLogoProvider(IRQIsdsClient *aIsdsClient);
+ ~IRLogoProvider();
+
+ void getLogo(IRQPreset *aPreset);
+
+ void activate(const QObject *aReceiver, const char *aFunc);
+ void deactivate();
+
+signals:
+ void logoData(const QByteArray &aLogoData);
+
+private slots:
+ void presetLogoDownload(IRQPreset* aPreset);
+ void presetLogoDownloadError();
+
+private:
+ IRQIsdsClient *iIsdsClient;
+};
+
+#endif /* IRLOGOPROVIDER_H_ */
--- a/qtinternetradio/ui/inc/irplaycontroller.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irplaycontroller.h Mon Oct 04 00:07:46 2010 +0300
@@ -25,10 +25,13 @@
class IRApplication;
class IRQMediaPlayer;
class IRQPreset;
-class IRQMetaData;
-class IRQSongHistoryEngine;
+class IRQMetaData;
class IRQStatisticsReporter;
class HbMessageBox;
+class IRDBWrapper;
+class channelHistoryWrapper;
+class urlInfoWrapper;
+
/**
* This class is a wrapper for IRQMediaPlayer.
*/
@@ -106,10 +109,6 @@
IRQMetaData * getMetaData() const;
IRQTerminatedType getStopReason() const;
-
-#ifdef _DEBUG
- int bitrateTrying() const;
-#endif
signals:
// emitted when meta data is available
@@ -165,7 +164,10 @@
void startSession();
void endSession(IRQTerminatedType aStopReason);
-
+
+ void saveSong2DB(const IRQMetaData& aMetaData, const IRQPreset& aPreset);
+ void saveStation2DB(IRQPreset *aPreset);
+
private:
IRApplication *iApplication;
IRQMediaPlayer *iMediaPlayer;
@@ -190,8 +192,7 @@
bool iStationLogoAvailableBackup;
// reference of IRQMediaPlayer meta data
- IRQMetaData *iMetaData;
- IRQSongHistoryEngine *iSongHistoryEngine;
+ IRQMetaData *iMetaData;
EPlayState iPlayState;
@@ -218,6 +219,10 @@
IRQTerminatedType iStopReason;
HbMessageBox *iErrorNote;
+
+ IRDBWrapper *iDbWrapper;
+ channelHistoryWrapper *iHistoryWrapper;
+ urlInfoWrapper *iUrlInfoWrapper;
};
#endif //IRPLAYCONTROLLER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/ui/inc/irqsonghistoryinfo.h Mon Oct 04 00:07:46 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef IRQSONGHISTORYINFO_H_
+#define IRQSONGHISTORYINFO_H_
+
+#include <QString>
+
+class IRQSongInfo
+{
+public:
+
+
+ void setSongName(const QString& aName);
+ const QString& getSongName() const;
+
+ void setArtistName(const QString& aArtist);
+ const QString& getArtistName()const;
+
+ void setMusicshopStatus(const QString& aStatus);
+ const QString& getMusicshopStatus()const;
+
+
+ void setStationName(const QString& aStationName);
+ const QString& getStationName() const;
+
+ void setChannelID(const QString& aChannelID);
+ const QString& getChannelID()const;
+
+ void setAllInfo(const QString& aStationName, const QString& aSongName, const QString& aArtist, const QString& aStatus, const QString& aChannelID);
+
+private:
+
+ QString iSongName;
+ QString iSongArtist;
+ QString iMusicshopStatus;
+ QString iStationName;
+ QString iChannelID;
+
+};
+#endif // IRQSONGHISTORYINFO_H_
--- a/qtinternetradio/ui/inc/irsearchchannelsview.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irsearchchannelsview.h Mon Oct 04 00:07:46 2010 +0300
@@ -20,13 +20,13 @@
#include "irqevent.h"
#include "irbaseview.h"
#include "irqenums.h"
-
+
+class HbGroupBox;
class HbListView;
class HbSearchPanel;
class HbAction;
class IrChannelModel;
class IRQPreset;
-class QTimer;
class IRSearchChannelsView : public IRBaseView
{
@@ -53,8 +53,8 @@
void loadLayout();
void handleItemSelected();
void initMenu();
- void startConvert(int aIndex);
- void initTimer();
+ void resetHeadingText();
+
bool eventFilter(QObject *object, QEvent *event);
private slots: //slots
@@ -67,10 +67,6 @@
void clickItem(const QModelIndex&);
//for playing a channel in the search result list
void presetResponse(IRQPreset *aPreset);
- //to start the convertion
- void convertAnother();
- void presetLogoDownload(IRQPreset* aPreset);
- void presetLogoDownloadError();
void hideVkb();
void showVkb();
@@ -86,6 +82,7 @@
ESearch_Loading //loading means searching or buffering.
};
+ HbGroupBox *iHeadingLabel;
HbListView *iListView;
QString iKeyText;
@@ -95,10 +92,8 @@
IrChannelModel *iChannelModel;
//the object is created by IsdsClient, but application is responsible for free
IRQPreset *iPreset;
- IRQPreset *iLogoPreset;
- QTimer *iConvertTimer;
- QList<int> iIconIndexArray;
- IRQSettings *iSettings;
+ IRQSettings *iIRSettings;
+ bool iFirstTime;
friend class IRViewManager;
};
#endif //IRSEARCHCHANNELSVIEW_H
--- a/qtinternetradio/ui/inc/irsearchresultdb.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irsearchresultdb.h Mon Oct 04 00:07:46 2010 +0300
@@ -19,9 +19,9 @@
#define IRSEARCHRESULTDB_H
#include "irqenums.h"
-
-class QSqlDatabase;
+
class IRQChannelItem;
+class searchRltWrapper;
class IRSearchResultDB
{
@@ -35,11 +35,8 @@
//caller needs to release the memory
QList<IRQChannelItem*> * getCahcedChannelList();
IRQError clearCache();
-
-private:
- void createDBConnection();
-
+
private:
- QSqlDatabase *iDB;
+ searchRltWrapper *iSearchRltWrapper;
};
#endif//IRSEARCHRESULTDB_H
--- a/qtinternetradio/ui/inc/irsonghistorymodel.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irsonghistorymodel.h Mon Oct 04 00:07:46 2010 +0300
@@ -19,10 +19,10 @@
#define IRSONGHISTORYMODEL_H_
#include <QAbstractItemModel>
-
-class IRQSongHistoryEngine;
+
class IRQSongInfo;
class IRQMetaData;
+class songHistoryWrapper;
class IRSongHistoryModel : public QAbstractListModel
{
@@ -47,9 +47,9 @@
void getAllList();
private:
- QList<IRQSongInfo *> mSongHistoryList;
- IRQSongHistoryEngine *mHistoryEngine;
+ QList<IRQSongInfo *> mSongHistoryList;
Qt::Orientation mOrientation;
+ songHistoryWrapper *mHistoryWrapper;
};
#endif
--- a/qtinternetradio/ui/inc/irstationdetailsview.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/irstationdetailsview.h Mon Oct 04 00:07:46 2010 +0300
@@ -34,7 +34,7 @@
public:
~IRStationDetailsView();
void setDetails();
- void setDetails(IRQPreset * aPreset);
+ void setDetails(const IRQPreset * aPreset);
protected:
IRStationDetailsView(IRApplication* aApplication, TIRViewId aViewId);
--- a/qtinternetradio/ui/inc/iruidefines.h Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/inc/iruidefines.h Mon Oct 04 00:07:46 2010 +0300
@@ -60,6 +60,7 @@
static const char* ABSTRACT_LIST_VIEW_BASE_WITH_PLAYINGBANNER_SECTION = "section_with_playingbanner";
static const char* ABSTRACT_LIST_VIEW_BASE_NO_TOOLBAR_SECTION = "section_no_toolbar_with_heading";
static const char* ABSTRACT_LIST_VIEW_BASE_WITH_TOOLBAR_SECTION = "section_with_toolbar_no_heading";
+static const char* ABSTRACT_LIST_VIEW_BASE_ADD_TOOLBAR_SECTION = "section_add_toolbar";
// OpenWebAddressView -- Object Name
static const char* OPEN_WEB_ADDRESS_VIEW_OBJECT_VIEW = "ext-IRQOpenWebAddressView";
@@ -70,7 +71,7 @@
static const char* SEARCH_CHANNELS_VIEW_OBJECT_VIEW = "ext-IRSearchChannelsView";
static const char* SEARCH_CHANNELS_VIEW_SEARCHPANEL_WIDGET = "search_panel";
static const char* SEARCH_CHANNELS_VIEW_SEARCHLISTVIEW_WIDGET = "search_listview";
-
+static const char* SEARCH_CHANNELS_VIEW_HEADINGTEXT_WIDGET = "headingText";
// IRNowplayingView -- Object Name
static const char* NOW_PLAYING_VIEW_OBJECT_NAME = "ext-nowplayingview";
@@ -119,4 +120,7 @@
#define LOADING_ANIMATION_ICON_SIZE 50
+const int KBitmapSize = 59;
+const int KMaxLineEditLength = 255;
+
#endif /* IRUIDEFINES_H_ */
--- a/qtinternetradio/ui/resources/layout/abstractlistviewbase.docml Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/resources/layout/abstractlistviewbase.docml Mon Oct 04 00:07:46 2010 +0300
@@ -116,6 +116,19 @@
<bool name="visible" value="FALSE"/>
</widget>
</section>
+
+ <section name="section_add_toolbar">
+ <widget name="ext-IrAbstractListViewBase" type="HbView">
+ <widget name="toolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="genres" role="HbToolBar:addAction"/>
+ <ref object="collections" role="HbToolBar:addAction"/>
+ <ref object="favorites" role="HbToolBar:addAction"/>
+ <ref object="search" role="HbToolBar:addAction"/>
+ </widget>
+ </widget>
+ </section>
+
<metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
<uistate name="Common ui state" sections="#common"/>
<uistate name="with_playingbanner" sections="#common section_with_playingbanner"/>
--- a/qtinternetradio/ui/resources/layout/openwebaddressview.docml Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/resources/layout/openwebaddressview.docml Mon Oct 04 00:07:46 2010 +0300
@@ -25,7 +25,7 @@
<string locid="txt_common_button_play_audio" name="text"/>
<string name="state" value="normal"/>
</widget>
- <contentsmargins bottom="var(hb-param-margin-gene-screen)" left="var(hb-param-margin-gene-screen)" right="var(hb-param-margin-gene-screen)" top="var(hb-param-margin-gene-screen)"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
<layout type="anchor">
<anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
<anchoritem dst="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
--- a/qtinternetradio/ui/resources/layout/searchchannelsview.docml Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/resources/layout/searchchannelsview.docml Mon Oct 04 00:07:46 2010 +0300
@@ -5,17 +5,20 @@
</object>
<widget name="ext-IRSearchChannelsView" type="HbView">
<widget name="content" role="HbView:widget" type="HbWidget">
- <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <widget name="headingText" type="HbGroupBox">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="expr(var(hb-param-text-height-secondary)+2*var(hb-param-margin-gene-middle-vertical))" type="PREFERRED"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
<widget name="search_listview" type="HbListView">
</widget>
-
<widget name="search_panel" type="HbSearchPanel">
<bool name="progressive" value="FALSE"/>
</widget>
-
- <real name="z" value="0"/>
<layout orientation="Vertical" type="linear">
- <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="headingText" spacing="0un"/>
<linearitem itemname="search_listview" spacing="0un"/>
<linearitem itemname="search_panel" spacing="0un"/>
</layout>
--- a/qtinternetradio/ui/src/irabstractlistviewbase.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irabstractlistviewbase.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -49,7 +49,7 @@
iArtistSongName(NULL),
iHeadingLabel(NULL),
iCollectionsAction(NULL), iFavoritesAction(NULL),
- iGenresAction(NULL), iSearchAction(NULL),iConvertTimer(NULL),
+ iGenresAction(NULL), iSearchAction(NULL),
iViewParameter(EIRViewPara_InvalidId)
{
// Create widget hierarchy
@@ -310,7 +310,7 @@
//set the banner text as station name
IRQPreset *nowPlayingPreset = iPlayController->getNowPlayingPreset();
Q_ASSERT(nowPlayingPreset);
- addBanner(nowPlayingPreset->name, false);
+ addBanner(nowPlayingPreset->nickName, false);
}
}
else
@@ -322,7 +322,7 @@
void IrAbstractListViewBase::addBanner(const QString &aText, const bool &aMetaDataFlag)
{
iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_WITH_PLAYINGBANNER_SECTION);
- iStationName->setPlainText(iPlayController->getNowPlayingPreset()->name);
+ iStationName->setPlainText(iPlayController->getNowPlayingPreset()->nickName);
if (aMetaDataFlag)
{
iArtistSongName->setText(aText);
--- a/qtinternetradio/ui/src/irapplication.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irapplication.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -690,40 +690,13 @@
return retVal;
}
-#ifdef TERMS_CONDITIONS_VIEW_ENABLED
-void IRApplication::handleTermsConsAccepted()
-{
- LOG_METHOD;
- iSettings->reSetFlagTermsAndConditions();
- IRBaseView * termsConsView = iViewManager->getView(EIRView_TermsConsView);
- iViewManager->removeView(termsConsView);
- termsConsView->deleteLater();
-
- iViewManager->activateView(iStartingViewId);
- QEvent* initEvent = new QEvent(iInitEvent);
- QCoreApplication::postEvent(this, initEvent, Qt::HighEventPriority);
-}
-#endif
-
void IRApplication::launchStartingView(TIRViewId aViewId)
{
LOG_METHOD;
iStartingViewId = aViewId;
-#ifdef TERMS_CONDITIONS_VIEW_ENABLED
- bool isFirstTimeUsage = false;
- iSettings->isFlagTermsAndConditions(isFirstTimeUsage);
-
- if(isFirstTimeUsage)
- {
- iViewManager->activateView(EIRView_TermsConsView);
- }
- else
-#endif
- {
- iViewManager->activateView(iStartingViewId);
- QEvent* initEvent = new QEvent(iInitEvent);
- QCoreApplication::postEvent(this, initEvent, Qt::HighEventPriority);
- }
+ iViewManager->activateView(iStartingViewId);
+ QEvent* initEvent = new QEvent(iInitEvent);
+ QCoreApplication::postEvent(this, initEvent, Qt::HighEventPriority);
iAppFullyStarted = true;
}
--- a/qtinternetradio/ui/src/irchanneldataprovider.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irchanneldataprovider.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -22,8 +22,8 @@
#include "irqisdsdatastructure.h"
#include "irqisdsclient.h"
#include "irsearchresultdb.h"
+#include "iruidefines.h"
-const int KBitmapSize = 59;
const int KDownloadLogoInterval = 10; //msec
IRChannelDataProvider::IRChannelDataProvider(QObject *aParent) : HgDataProviderModel(aParent),
--- a/qtinternetradio/ui/src/irchannelmodel.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irchannelmodel.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -15,16 +15,31 @@
*
*/
-#include <hbicon.h>
+#include <HbIcon>
+#include <QTimer>
#include "irchannelmodel.h"
#include "irqisdsdatastructure.h"
#include "irsearchresultdb.h"
+#include "irqisdsclient.h"
+#include "irlogoprovider.h"
IrChannelModel::IrChannelModel(QObject *aParent): QAbstractListModel(aParent)
, iChannelList(NULL),iDB(NULL)
{
- iStationLogo = new HbIcon("qtg_large_internet_radio");
+ iIsdsClient = IRQIsdsClient::openInstance();
+ iLogoProvider = new IRLogoProvider(iIsdsClient);
+
+ iTimer = new QTimer;
+ iTimer->setInterval(10);
+ connect(iTimer, SIGNAL(timeout()), this, SLOT(downloadNextLogo()));
+
+ iStationLogo = new HbIcon("qtg_large_internet_radio");
+
+ if( NULL == iDB )
+ {
+ iDB = new IRSearchResultDB();
+ }
}
IrChannelModel::~IrChannelModel()
@@ -36,11 +51,21 @@
clearAndDestroyLogos();
+ stopDownloadingLogo();
+
if( iDB )
{
delete iDB;
iDB = NULL;
}
+
+ delete iLogoProvider;
+ if (iIsdsClient)
+ {
+ iIsdsClient->closeInstance();
+ iIsdsClient = NULL;
+ }
+ delete iTimer;
}
int IrChannelModel::rowCount(const QModelIndex &aParent) const
@@ -55,18 +80,6 @@
return count;
}
-QString IrChannelModel::imageUrl(int aRow)
-{
- if (iChannelList)
- {
- return iChannelList->at(aRow)->imageURL;
- }
- else
- {
- return "";
- }
-}
-
void IrChannelModel::setLogo(HbIcon *aIcon, int aIndex)
{
iLogos[aIndex] = aIcon;
@@ -119,37 +132,29 @@
}
}
-void IrChannelModel::updateData(QList<IRQChannelItem*> *aPushItemsList)
+void IrChannelModel::updateData(QList<IRQChannelItem*> *aPushItemsList, bool bInit)
{
if (iChannelList != aPushItemsList)
{
clearAndDestroyItems();
iChannelList = aPushItemsList;
}
+ if(false == bInit)
+ {
+ save2Cache();
+
+ }
clearAndDestroyLogos();
-
+
+ updateIconIndexArray();
+
emit dataAvailable();
}
void IrChannelModel::initWithCache()
{
- if( NULL == iDB )
- {
- iDB = new IRSearchResultDB();
- }
-
- QList<IRQChannelItem*> *channelList = iDB->getCahcedChannelList();
-
- if( NULL == channelList )
- {
- //some error happens
- return;
- }
-
- clearAndDestroyItems();
- clearAndDestroyLogos();
- iChannelList = channelList;
+ updateData(iDB->getCahcedChannelList(), true);
}
void IrChannelModel::save2Cache()
@@ -178,7 +183,8 @@
clearAndDestroyItems();
clearAndDestroyLogos();
iDB->clearCache();
-
+ iIconIndexArray.clear();
+
emit dataAvailable();
}
@@ -204,3 +210,75 @@
iChannelList = NULL;
}
}
+
+void IrChannelModel::startDownloadingLogo()
+{
+ iLogoProvider->activate(this, SLOT(logoData(const QByteArray&)));
+ iTimer->start();
+}
+
+void IrChannelModel::stopDownloadingLogo()
+{
+ iIsdsClient->isdsLogoDownCancelTransaction();
+ iTimer->stop();
+ iLogoProvider->deactivate();
+}
+
+void IrChannelModel::downloadNextLogo()
+{
+ iTimer->stop();
+ int leftCount = iIconIndexArray.count();
+
+ if (0 != leftCount)
+ {
+ int row = iIconIndexArray[0];
+ IRQPreset preset;
+ preset.name = iChannelList->at(row)->channelName;
+ preset.shortDesc = iChannelList->at(row)->shortDescription;
+ preset.type = IRQPreset::EIsds;
+ preset.presetId = iChannelList->at(row)->channelID;
+ preset.imgUrl = iChannelList->at(row)->imageURL;
+ iLogoProvider->getLogo(&preset);
+ }
+}
+
+void IrChannelModel::logoData(const QByteArray &aLogoData)
+{
+ if (aLogoData.size() > 0)
+ {
+ QPixmap tempMap;
+ bool ret = tempMap.loadFromData((const unsigned char*)aLogoData.constData(), aLogoData.size());
+ if( ret )
+ {
+ QIcon convertIcon(tempMap);
+ HbIcon *hbIcon = new HbIcon(convertIcon);
+ int index = iIconIndexArray[0];
+ setLogo(hbIcon, index);
+ }
+ }
+
+ iIconIndexArray.removeAt(0);
+ int leftCount = iIconIndexArray.count();
+ if( leftCount > 0 )
+ {
+ iTimer->start();
+ }
+}
+
+void IrChannelModel::updateIconIndexArray()
+{
+ iIconIndexArray.clear();
+
+ for (int i = 0; i < rowCount(); ++i)
+ {
+ if (iChannelList->at(i)->imageURL != "" && !iLogos.contains(i))
+ {
+ iIconIndexArray.append(i);
+ }
+ }
+
+ if (iIconIndexArray.size() > 0)
+ {
+ startDownloadingLogo();
+ }
+}
--- a/qtinternetradio/ui/src/irfavoritesmodel.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irfavoritesmodel.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -15,11 +15,14 @@
*
*/
#include <QtAlgorithms>
-#include <hbicon.h>
+#include <HbIcon>
+#include <QTimer>
#include "irqfavoritesdb.h"
#include "irqisdsdatastructure.h"
#include "irfavoritesmodel.h"
+#include "irqisdsclient.h"
+#include "irlogoprovider.h"
IRFavoritesModel::IRFavoritesModel(IRQFavoritesDB *aFavoritesDb, QObject *aParent)
: QAbstractListModel(aParent), iFavoritesDb(aFavoritesDb),
@@ -30,6 +33,13 @@
iPresetsList = aFavoritesDb->getPresets();
}
+ iIsdsClient = IRQIsdsClient::openInstance();
+ iLogoProvider = new IRLogoProvider(iIsdsClient);
+
+ iTimer = new QTimer;
+ iTimer->setInterval(10);
+ connect(iTimer, SIGNAL(timeout()), this, SLOT(downloadNextLogo()));
+
iStationLogo = new HbIcon("qtg_large_internet_radio");
}
@@ -38,6 +48,14 @@
delete iStationLogo;
clearPresetList();
clearAndDestroyLogos();
+
+ delete iLogoProvider;
+ if (iIsdsClient)
+ {
+ iIsdsClient->closeInstance();
+ iIsdsClient = NULL;
+ }
+ delete iTimer;
}
IRQPreset* IRFavoritesModel::getPreset(int aIndex) const
@@ -114,7 +132,7 @@
QVariantList list;
int row = aIndex.row();
- QString primaryText = iPresetsList->at(row)->name;
+ QString primaryText = iPresetsList->at(row)->nickName;
list.append(primaryText);
QString secondaryText = iPresetsList->at(row)->shortDesc;
@@ -158,6 +176,7 @@
clearPresetList();
clearAndDestroyLogos();
iPresetsList = iFavoritesDb->getPresets();
+ updateIconIndexArray();
emit modelChanged();
return true;
}
@@ -173,42 +192,6 @@
iLogos.clear();
}
-void IRFavoritesModel::clearFavoriteDB()
-{
- if (NULL == iPresetsList)
- {
- return;
- }
-
- int presetSize = iPresetsList->count();
-
- if(!presetSize)
- {
- return;
- }
-
- int uniqId = 0;
-
- while(presetSize--)
- {
- uniqId = iFavoritesDb->getUniqId(presetSize);
-
- //There is the probability that the return value<0, so I added this judgment.
- if(uniqId < 0 )
- {
- //if here, the Id, which is mapped to preset's item, can't be found.
- //jump out from while
- break;
- }
- iFavoritesDb->deletePreset(uniqId);
-
- }
-
- clearPresetList();
- clearAndDestroyLogos();
- emit modelChanged();
-}
-
void IRFavoritesModel::clearPresetList()
{
if (NULL == iPresetsList)
@@ -231,8 +214,14 @@
return false;
}
+ if (!iIconIndexArray.empty())
+ {
+ iIsdsClient->isdsLogoDownCancelTransaction();
+ iTimer->stop();
+ }
+
IRQPreset *preset = iPresetsList->at(aIndex);
- int ret = iFavoritesDb->deletePreset(preset->uniqID);
+ int ret = iFavoritesDb->deletePreset(*preset);
if ( 0 != ret )
{
return false;
@@ -249,6 +238,14 @@
}
iLogos.removeAt(aIndex);
endRemoveRows();
+
+ updateIconIndexArray();
+
+ if (!iIconIndexArray.empty())
+ {
+ iTimer->start();
+ }
+
return true;
}
@@ -259,6 +256,12 @@
return true;
}
+ if (!iIconIndexArray.empty())
+ {
+ iIsdsClient->isdsLogoDownCancelTransaction();
+ iTimer->stop();
+ }
+
int index = 0;
bool retVal = true;
QList<int> indexToBeDelete;
@@ -273,7 +276,8 @@
continue;
}
- if (0 != iFavoritesDb->deletePreset(iPresetsList->at(index)->uniqID))
+ IRQPreset *preset = iPresetsList->at(index);
+ if (0 != iFavoritesDb->deletePreset(*preset) )
{
retVal = false;
continue;
@@ -302,6 +306,13 @@
endRemoveRows();
}
+ updateIconIndexArray();
+
+ if (!iIconIndexArray.empty())
+ {
+ iTimer->start();
+ }
+
return retVal;
}
@@ -309,7 +320,68 @@
{
if (aIndex >= 0 && aIndex < iPresetsList->count())
{
- iPresetsList->at(aIndex)->name = aNewName;
+ iPresetsList->at(aIndex)->nickName = aNewName;
emit dataChanged(index(aIndex), index(aIndex));
}
}
+
+void IRFavoritesModel::startDownloadingLogo()
+{
+ iLogoProvider->activate(this, SLOT(logoData(const QByteArray&)));
+ iTimer->start();
+}
+
+void IRFavoritesModel::stopDownloadingLogo()
+{
+ iIsdsClient->isdsLogoDownCancelTransaction();
+ iTimer->stop();
+ iIconIndexArray.clear();
+ iLogoProvider->deactivate();
+}
+
+void IRFavoritesModel::downloadNextLogo()
+{
+ iTimer->stop();
+ int leftCount = iIconIndexArray.count();
+
+ if (0 != leftCount)
+ {
+ iLogoProvider->getLogo(iPresetsList->at(iIconIndexArray[0]));
+ }
+}
+
+void IRFavoritesModel::logoData(const QByteArray &aLogoData)
+{
+ if (aLogoData.size() > 0)
+ {
+ QPixmap tempMap;
+ bool ret = tempMap.loadFromData((const unsigned char*)aLogoData.constData(), aLogoData.size());
+ if( ret )
+ {
+ QIcon convertIcon(tempMap);
+ HbIcon *hbIcon = new HbIcon(convertIcon);
+ int index = iIconIndexArray[0];
+ setLogo(hbIcon, index);
+ }
+ }
+
+ iIconIndexArray.removeAt(0);
+ int leftCount = iIconIndexArray.count();
+ if( leftCount > 0 )
+ {
+ iTimer->start();
+ }
+}
+
+void IRFavoritesModel::updateIconIndexArray()
+{
+ iIconIndexArray.clear();
+
+ for (int i = 0; i < rowCount(); ++i)
+ {
+ if (getImgUrl(i) != "" && !isLogoReady(i))
+ {
+ iIconIndexArray.append(i);
+ }
+ }
+}
--- a/qtinternetradio/ui/src/irfavoritesview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irfavoritesview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -20,8 +20,6 @@
#include <hbmenu.h>
#include <hbgroupbox.h>
#include <hbselectiondialog.h>
-#include <QPixmap>
-#include <QTimer>
#include <HbInputDialog>
#include <hbscrollbar.h>
#include <HbLineEdit>
@@ -40,7 +38,6 @@
#include "iruidefines.h"
#include "irstationshare.h"
#include "irstationdetailsview.h"
-const int KBitmapSize = 59;
const QString KActionShareName("Share");
const QString KActionDeleteName("Delete");
@@ -57,23 +54,17 @@
: IrAbstractListViewBase(aApplication, aViewId),
iStationShare(NULL),
iMultiDeleteDialog(NULL),
- iMultiDeleteAction(NULL),
- iLogoPreset(NULL)
+ iMultiDeleteAction(NULL)
{
setFlag(EViewFlag_ClearStackWhenActivate|EViewFlag_StickyViewEnabled);
-
- initToolBar();
+ iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_ADD_TOOLBAR_SECTION);
+
iModel = new IRFavoritesModel(iFavorites, this);
iListView->setModel(iModel);
-
- iConvertTimer = new QTimer(this);
- iConvertTimer->setInterval(10);
-
+
connect(iModel, SIGNAL(modelChanged()), this, SLOT(modelChanged()));
connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
this, SLOT(networkRequestNotified(IRQNetworkEvent)));
- connect(iConvertTimer, SIGNAL(timeout()), this, SLOT(convertAnother()));
-
}
/*
@@ -81,9 +72,6 @@
*/
IRFavoritesView::~IRFavoritesView()
{
- delete iLogoPreset;
- iLogoPreset = NULL;
-
delete iMultiDeleteDialog;
iMultiDeleteDialog = NULL;
@@ -96,7 +84,6 @@
Q_UNUSED(aReason);
TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
- int leftCount = 0;
switch (aCommand)
{
@@ -106,17 +93,7 @@
break;
case EIR_ViewCommand_ACTIVATED:
- connect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset* )),
- this, SLOT(presetLogoDownload(IRQPreset* )));
- connect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
- this, SLOT(presetLogoDownloadError()));
-
- leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
-
+ iModel->startDownloadingLogo();
getViewManager()->saveScreenShot();
ret = EIR_NoDefault;
break;
@@ -124,17 +101,7 @@
case EIR_ViewCommand_DEACTIVATE:
iModel->clearAndDestroyLogos();
- iConvertTimer->stop();
- iIsdsClient->isdsLogoDownCancelTransaction();
- //iIconIndexArray must be cleared, because timer call back convertAnother() might be
- //called after view is deactivated. In that case, iModel->getImgURL(aIndex); will crash
- iIconIndexArray.clear();
-
- disconnect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset*)),
- this, SLOT(presetLogoDownload(IRQPreset* )));
- disconnect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
- this, SLOT(presetLogoDownloadError()));
-
+ iModel->stopDownloadingLogo();
ret = EIR_NoDefault;
break;
@@ -258,75 +225,6 @@
}
}
-void IRFavoritesView::startConvert(int aIndex)
-{
- QString url = iModel->getImgUrl(aIndex);
-
- IRQPreset tempPreset;
- tempPreset.imgUrl = url;
- tempPreset.type = IRQPreset::EIsds;
-
- iIsdsClient->isdsLogoDownSendRequest(&tempPreset, 0, KBitmapSize, KBitmapSize);
-}
-
-//if the logo is downloaded ok
-void IRFavoritesView::presetLogoDownload(IRQPreset* aPreset)
-{
- if (NULL == aPreset)
- {
- presetLogoDownloadError();
- return;
- }
-
- delete iLogoPreset;
- iLogoPreset = aPreset;
-
- if (iLogoPreset->logoData.size() > 0)
- {
- QPixmap tempMap;
- bool ret = tempMap.loadFromData((const unsigned char*)iLogoPreset->logoData.constData(), iLogoPreset->logoData.size());
- if( ret )
- {
- QIcon convertIcon(tempMap);
- HbIcon *hbIcon = new HbIcon(convertIcon);
- int index = iIconIndexArray[0];
- iModel->setLogo(hbIcon, index);
- iIconIndexArray.removeAt(0);
- int leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
- return;
- }
- }
-
- presetLogoDownloadError();
-}
-
-//if the logo download fails
-void IRFavoritesView::presetLogoDownloadError()
-{
- iIconIndexArray.removeAt(0);
- int leftCount = 0;
- leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
-}
-
-void IRFavoritesView::convertAnother()
-{
- iConvertTimer->stop();
- int leftCount = iIconIndexArray.count();
-
- if (0 != leftCount)
- {
- startConvert(iIconIndexArray[0]);
- }
-}
-
void IRFavoritesView::modelChanged()
{
#ifdef SUBTITLE_STR_BY_LOCID
@@ -335,7 +233,6 @@
QString headingStr = hbTrId("Favorites") + " (" + QString::number(iModel->rowCount()) + ")";
#endif
setHeadingText(headingStr);
- updateIconIndexArray();
iListView->reset();
iListView->setCurrentIndex(iModel->index(0));
@@ -349,12 +246,6 @@
QModelIndexList selectedIndexes = iMultiDeleteDialog->selectedModelIndexes();
if (!selectedIndexes.empty())
{
- if (!iIconIndexArray.empty())
- {
- iIsdsClient->isdsLogoDownCancelTransaction();
- iConvertTimer->stop();
- }
-
if(!iModel->deleteMultiFavorites(selectedIndexes))
{
#ifdef SUBTITLE_STR_BY_LOCID
@@ -364,18 +255,12 @@
#endif
}
- updateIconIndexArray();
#ifdef SUBTITLE_STR_BY_LOCID
QString headingStr = hbTrId("txt_irad_subtitle_favorites") + " (" + QString::number(iModel->rowCount()) + ")";
#else
QString headingStr = hbTrId("Favorites") + " (" + QString::number(iModel->rowCount()) + ")";
#endif
setHeadingText(headingStr);
-
- if (!iIconIndexArray.empty())
- {
- iConvertTimer->start();
- }
}
}
}
@@ -463,20 +348,6 @@
iStationShare->shareStations(*iModel->getPreset(current));
}
-void IRFavoritesView::updateIconIndexArray()
-{
- iIconIndexArray.clear();
-
- for (int i = 0; i < iModel->rowCount(); ++i)
- {
- if (iModel->getImgUrl(i) != ""
- && !iModel->isLogoReady(i))
- {
- iIconIndexArray.append(i);
- }
- }
-}
-
void IRFavoritesView::renameContextAction()
{
int current = iListView->currentIndex().row();
@@ -489,9 +360,9 @@
dlg->setPromptText(hbTrId("Rename"));
#endif
HbLineEdit* lineEdit = dlg->lineEdit();
- lineEdit->setMaxLength(256);
+ lineEdit->setMaxLength(KMaxLineEditLength);
dlg->setInputMode(HbInputDialog::TextInput);
- dlg->setValue(preset->name);
+ dlg->setValue(preset->nickName);
dlg->setAttribute(Qt::WA_DeleteOnClose);
dlg->open(this, SLOT(renameConfirmed(HbAction*)));
}
@@ -509,16 +380,9 @@
void IRFavoritesView::deleteContextAction()
{
- if (!iIconIndexArray.empty())
- {
- iIsdsClient->isdsLogoDownCancelTransaction();
- iConvertTimer->stop();
- }
-
int current = iListView->currentIndex().row();
if (iModel->deleteOneFavorite(current))
{
- updateIconIndexArray();
#ifdef SUBTITLE_STR_BY_LOCID
QString headingStr = hbTrId("txt_irad_subtitle_favorites") + " (" + QString::number(iModel->rowCount()) + ")";
#else
@@ -533,12 +397,7 @@
#else
popupNote(hbTrId("Operation failed"), HbMessageBox::MessageTypeWarning);
#endif
- }
-
- if (!iIconIndexArray.empty())
- {
- iConvertTimer->start();
- }
+ }
}
void IRFavoritesView::renameConfirmed(HbAction *aAction)
@@ -588,16 +447,6 @@
}
}
-void IRFavoritesView::initToolBar()
-{
- //add HbActions to the toolbar, the HbActions have been created in IrAbstractListViewBase
- HbToolBar *viewToolBar = toolBar();
- viewToolBar->addAction(iGenresAction);
- viewToolBar->addAction(iCollectionsAction);
- viewToolBar->addAction(iFavoritesAction);
- viewToolBar->addAction(iSearchAction);
-}
-
void IRFavoritesView::popupDeleteContextConfirmMessageBox()
{
#ifdef SUBTITLE_STR_BY_LOCID
--- a/qtinternetradio/ui/src/irfileviewservice.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irfileviewservice.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -15,17 +15,20 @@
*
*/
#include <xqserviceutil.h>
+#include <xqsharablefile.h>
#include "irfileviewservice.h"
#include "irplaylist.h"
#include "irapplication.h"
#include "irqsettings.h"
+#include "irqlogger.h"
#define INTERNETRADIO_SERVICE_NAME "internet_radio_10_1.com.nokia.symbian.IFileView"
IRFileViewService::IRFileViewService(IRApplication *aApplication) : XQServiceProvider(INTERNETRADIO_SERVICE_NAME),
iApplication(aApplication), iPlayList(NULL)
{
+ LOG_METHOD;
if (XQServiceUtil::isService())
{
//Publishes all public slots on this object
@@ -45,6 +48,7 @@
void IRFileViewService::view(const QString &aFileName)
{
+ LOG_METHOD;
if (NULL == iPlayList)
{
iPlayList = new IRPlayList;
@@ -69,7 +73,10 @@
}
}
-void IRFileViewService::view(const XQSharableFile &/*aSharableFile*/)
+void IRFileViewService::view(const XQSharableFile &aSharableFile)
{
-
+ LOG_METHOD;
+ QString name = aSharableFile.fileName();
+ LOG(STRING2CHAR(name));
+ view(name);
}
--- a/qtinternetradio/ui/src/irhistorymodel.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irhistorymodel.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -15,37 +15,58 @@
*
*/
-#include <hbicon.h>
+#include <HbIcon>
+#include <QTimer>
-#include "irqsonghistoryinfo.h"
-#include "irqsonghistoryengine.h"
+#include "irqisdsdatastructure.h"
+#include "channelhistorywrapper.h"
+#include "urlinfowrapper.h"
#include "irhistorymodel.h"
+#include "irqisdsclient.h"
+#include "irlogoprovider.h"
-IRHistoryModel::IRHistoryModel(QObject *aParent) : QAbstractListModel(aParent)
+IRHistoryModel::IRHistoryModel(QObject *aParent) : QAbstractListModel(aParent),
+ iHistoryEngine(NULL), iUrlInfoWrapper(NULL), iStationLogo(NULL),
+ iIsdsClient(NULL), iLogoProvider(NULL), iTimer(NULL)
{
iStationLogo = new HbIcon("qtg_large_internet_radio");
- iHistoryEngine = IRQSongHistoryEngine::openInstance();
- getAllList();
+ iHistoryEngine = new channelHistoryWrapper();
+
+ iUrlInfoWrapper = new urlInfoWrapper();
+
+ iIsdsClient = IRQIsdsClient::openInstance();
+ iLogoProvider = new IRLogoProvider(iIsdsClient);
+
+ iTimer = new QTimer();
+ iTimer->setInterval(10);
+ connect(iTimer, SIGNAL(timeout()), this, SLOT(downloadNextLogo()));
+
+ refreshModel();
}
IRHistoryModel::~IRHistoryModel()
{
+ clearModel();
+
delete iStationLogo;
iStationLogo = NULL;
-
- clearAndDestroyLogos();
-
- while (!iHistoryList.isEmpty())
+
+ delete iHistoryEngine;
+ iHistoryEngine = NULL;
+
+ delete iUrlInfoWrapper;
+ iUrlInfoWrapper = NULL;
+
+ stopDownloadingLogo();
+
+ delete iLogoProvider;
+ if (iIsdsClient)
{
- delete iHistoryList.takeFirst();
+ iIsdsClient->closeInstance();
+ iIsdsClient = NULL;
}
-
- if (iHistoryEngine)
- {
- iHistoryEngine->closeInstance();
- iHistoryEngine = NULL;
- }
+ delete iTimer;
}
int IRHistoryModel::rowCount(const QModelIndex &aParent) const
@@ -56,11 +77,17 @@
QString IRHistoryModel::getImageUrl(int aRow) const
{
- return iHistoryList.at(aRow)->getImageUrl();
+ return iHistoryList.at(aRow)->imgUrl;
}
void IRHistoryModel::setLogo(HbIcon *aIcon, int aIndex)
{
+ int elementCountNeedToAdd = aIndex + 1 - iLogos.size();
+ while (elementCountNeedToAdd > 0)
+ {
+ iLogos.append(NULL);
+ elementCountNeedToAdd--;
+ }
iLogos[aIndex] = aIcon;
emit dataChanged(index(aIndex), index(aIndex));
}
@@ -82,10 +109,10 @@
QVariantList list;
int row = aIndex.row();
- QString primaryText = iHistoryList.at(row)->getChannelName();
+ QString primaryText = iHistoryList.at(row)->nickName;
list.append(primaryText);
// fix bug #9888,if left descriptions as blank, only one line appears
- QString tempDes = iHistoryList.at(row)->getChannelDesc();
+ QString tempDes = iHistoryList.at(row)->shortDesc;
if (0 == tempDes.length())
{
tempDes = " ";
@@ -98,23 +125,29 @@
{
QVariantList list;
int row = aIndex.row();
- const HbIcon *icon = iLogos.value(row);
- if (icon)
+ if(row < iLogos.size())
{
- list.append(*icon);
+ const HbIcon *icon = iLogos[row];
+ if (icon)
+ {
+ list.append(*icon);
+ }
+ else
+ {
+ list.append(*iStationLogo);
+ }
}
else
{
list.append(*iStationLogo);
- }
-
+ }
return list;
}
return QVariant();
}
-IRQSongHistoryInfo* IRHistoryModel::getHistoryInfo(int aIndex)
+IRQPreset* IRHistoryModel::getHistoryInfo(int aIndex)
{
if (aIndex >= 0 && aIndex < iHistoryList.count())
{
@@ -124,54 +157,246 @@
return NULL;
}
-void IRHistoryModel::clearAllList()
+void IRHistoryModel::clearAllHistory()
{
- while (!iHistoryList.isEmpty())
+ if (iHistoryEngine->deleteChannelHistory())
{
- IRQSongHistoryInfo *firstItem = iHistoryList.takeFirst();
- delete firstItem;
+ clearModel();
+ emit modelChanged();
}
- iHistoryEngine->clearAllHistory();
- clearAndDestroyLogos();
- emit modelChanged();
}
bool IRHistoryModel::checkHistoryUpdate()
{
- getAllList();
+ refreshModel();
return true;
}
void IRHistoryModel::clearAndDestroyLogos()
{
- for (QMap<int, HbIcon*>::iterator it = iLogos.begin(); it != iLogos.end(); ++it)
+ int size = iLogos.size();
+ for (int i = 0; i < size; i ++)
{
- delete it.value();
+ delete iLogos[i];
+ iLogos[i] = NULL;
}
-
iLogos.clear();
}
-void IRHistoryModel::getAllList()
+void IRHistoryModel::refreshModel()
{
- iHistoryEngine->getAllHistory(iHistoryList);
-
+ clearModel();
+
+ QList<QVariant*>* historySet = NULL;
+ historySet = iHistoryEngine->getChannelHistory();
+
+ if (NULL == historySet)
+ {
+ return;
+ }
+ int dataSize = historySet->size();
+ for (int i = 0; i < dataSize; i++)
+ {
+ IRQPreset* preset = new IRQPreset();
+ preset->presetId = (*(historySet->at(i) + channelId)).toUInt();
+ preset->name = (*(historySet->at(i) + channelName)).toString();
+ preset->nickName = (*(historySet->at(i) + channelNickName)).toString();
+
+ preset->genreName = (*(historySet->at(i) + genreName)).toString();
+ preset->genreId = (*(historySet->at(i) + genreId)).toString();
+ preset->languageName = (*(historySet->at(i) + languageName)).toString();
+ preset->languageCode = (*(historySet->at(i) + languageCode)).toString();
+
+ preset->countryName = (*(historySet->at(i) + countryName)).toString();
+ preset->countryCode = (*(historySet->at(i) + countryCode)).toString();
+ preset->description = (*(historySet->at(i) + description)).toString();
+ preset->shortDesc = (*(historySet->at(i) + shortDesc)).toString();
+
+ preset->lastModified = (*(historySet->at(i) + lastModified)).toString();
+ preset->type = (*(historySet->at(i) + channelType)).toInt();
+ preset->musicStoreStatus = (*(historySet->at(i) + musicStoreStatus)).toString();
+
+ preset->imgUrl = (*(historySet->at(i) + imgUrl)).toString();
+
+ preset->advertisementUrl = (*(historySet->at(i) + advertisementUrl)).toString();
+ preset->advertisementInUse = (*(historySet->at(i) + advertisementInUse)).toString();
+
+ columnMap selectCriteria;
+ selectCriteria.insert(channelId, QString::number(preset->presetId));
+
+ QList<QVariant*>* urlInfoList = iUrlInfoWrapper->getUrlInfo(&selectCriteria, NULL, i, dataSize-1);
+ if (NULL == urlInfoList)
+ {
+ delete preset;
+ preset = NULL;
+ continue;
+ }
+ int urlSize = urlInfoList->size();
+ for (int j = 0; j < urlSize; j++)
+ {
+ IRQChannelServerURL urlInfo;
+ urlInfo.serverName = preset->name;
+ urlInfo.url = (*(urlInfoList->at(j) + channelUrl_URL)).toString();
+ urlInfo.bitrate = (*(urlInfoList->at(j) + bitRate_URL)).toInt();
+ preset->insertChannelServer(urlInfo);
+ }
+
+ while(false == urlInfoList->isEmpty())
+ {
+ delete []urlInfoList->takeFirst();
+ }
+ urlInfoList->clear();
+
+ delete urlInfoList;
+ urlInfoList = NULL;
+
+ iHistoryList.append(preset);
+ }
+
+ while(false == historySet->isEmpty())
+ {
+ delete []historySet->takeFirst();
+ }
+ historySet->clear();
+
+ delete historySet;
+ historySet = NULL;
+
+ updateIconIndexArray();
+
emit modelChanged();
}
-bool IRHistoryModel::deleteOneItem(int aIndex)
+void IRHistoryModel::clearModel()
+{
+ while (!iHistoryList.isEmpty())
+ {
+ IRQPreset *firstItem = iHistoryList.takeFirst();
+ delete firstItem;
+ }
+
+ clearAndDestroyLogos();
+ updateIconIndexArray();
+}
+
+bool IRHistoryModel::deleteHistory(int aIndex)
{
- bool ret = iHistoryEngine->deleteOneItem(aIndex);
-
- if( !ret )
+ if (aIndex < 0 && aIndex >= iHistoryList.count())
+ {
+ return false;
+ }
+
+ if (!iIconIndexArray.empty())
+ {
+ iIsdsClient->isdsLogoDownCancelTransaction();
+ iTimer->stop();
+ }
+
+ columnMap selectCriteria;
+ selectCriteria.insert(channelId, QString::number(iHistoryList.at(aIndex)->presetId));
+
+ if (!iHistoryEngine->deleteChannelHistory(&selectCriteria))
{
return false;
}
beginRemoveRows(QModelIndex(), aIndex, aIndex);
+
+ delete iHistoryList.at(aIndex);
iHistoryList.removeAt(aIndex);
+
+ if (aIndex < iLogos.size())
+ {
+ delete iLogos[aIndex];
+ iLogos.removeAt(aIndex);
+ }
+
+ updateIconIndexArray();
+
endRemoveRows();
- emit modelChanged();
+ emit modelChanged();
+
+ if (!iIconIndexArray.empty())
+ {
+ iTimer->start();
+ }
+
return true;
}
+
+void IRHistoryModel::startDownloadingLogo()
+{
+ iLogoProvider->activate(this, SLOT(logoData(const QByteArray&)));
+ iTimer->start();
+}
+
+void IRHistoryModel::stopDownloadingLogo()
+{
+ iIsdsClient->isdsLogoDownCancelTransaction();
+ iTimer->stop();
+ iIconIndexArray.clear();
+ iLogoProvider->deactivate();
+}
+
+void IRHistoryModel::downloadNextLogo()
+{
+ iTimer->stop();
+ int leftCount = iIconIndexArray.count();
+
+ if (0 != leftCount)
+ {
+ iLogoProvider->getLogo(iHistoryList.at(iIconIndexArray[0]));
+ }
+}
+
+void IRHistoryModel::logoData(const QByteArray &aLogoData)
+{
+ if (aLogoData.size() > 0)
+ {
+ QPixmap tempMap;
+ bool ret = tempMap.loadFromData((const unsigned char*)aLogoData.constData(), aLogoData.size());
+ if( ret )
+ {
+ QIcon convertIcon(tempMap);
+ HbIcon *hbIcon = new HbIcon(convertIcon);
+ int index = iIconIndexArray[0];
+ setLogo(hbIcon, index);
+ }
+ }
+
+ iIconIndexArray.removeAt(0);
+ int leftCount = iIconIndexArray.count();
+ if( leftCount > 0 )
+ {
+ iTimer->start();
+ }
+}
+
+bool IRHistoryModel::isLogoReady(int aIndex) const
+{
+ int logoListCount = iLogos.count();
+ if (aIndex >= 0
+ && aIndex < logoListCount)
+ {
+ return iLogos[aIndex] != NULL;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+void IRHistoryModel::updateIconIndexArray()
+{
+ iIconIndexArray.clear();
+
+ for (int i = 0; i < rowCount(); ++i)
+ {
+ if (getImageUrl(i) != "" && !isLogoReady(i))
+ {
+ iIconIndexArray.append(i);
+ }
+ }
+}
+
--- a/qtinternetradio/ui/src/irhistoryview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irhistoryview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -18,8 +18,6 @@
#include <hbmenu.h>
#include <hbaction.h>
#include <hbnotificationdialog.h>
-#include <QPixmap>
-#include <QTimer>
#include "irviewmanager.h"
#include "irapplication.h"
@@ -28,16 +26,13 @@
#include "irhistoryview.h"
#include "irqisdsdatastructure.h"
#include "irhistorymodel.h"
-#include "irqsonghistoryinfo.h"
#include "irqnetworkcontroller.h"
-#include "irqutility.h"
#include "irqenums.h"
#include "irqfavoritesdb.h"
#include "irstationdetailsview.h"
#include "iruidefines.h"
-const int KBitmapSize = 59;
const QString KActionAddName("Add");
const QString KActionDeleteName("Delete");
const QString KActionDetailsName("Details");
@@ -48,8 +43,7 @@
* Description : constructor
*/
IRHistoryView::IRHistoryView(IRApplication *aApplication, TIRViewId aViewId) :
- IrAbstractListViewBase(aApplication, aViewId), iClearHistoryAction(NULL),
- iLogoPreset(NULL)
+ IrAbstractListViewBase(aApplication, aViewId), iClearHistoryAction(NULL)
{
iModel = new IRHistoryModel(this);
iListView->setModel(iModel);
@@ -61,14 +55,10 @@
iClearHistoryAction = new HbAction(hbTrId("Clear list"), menu());
#endif
- iConvertTimer = new QTimer(this);
- iConvertTimer->setInterval(10);
-
connect(iClearHistoryAction, SIGNAL(triggered()), this, SLOT(popupClearHistoryConfirmMessageBox()));
connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
this, SLOT(networkRequestNotified(IRQNetworkEvent)));
connect(iModel, SIGNAL(modelChanged()), this, SLOT(modelChanged()));
- connect(iConvertTimer, SIGNAL(timeout()), this, SLOT(convertAnother()));
}
void IRHistoryView::popupClearHistoryConfirmMessageBox()
{
@@ -83,8 +73,6 @@
*/
IRHistoryView::~IRHistoryView()
{
- delete iLogoPreset;
- iLogoPreset = NULL;
}
/*
@@ -98,7 +86,6 @@
{
Q_UNUSED(aReason);
TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
- int leftCount = 0;
switch (aCommand)
{
@@ -109,33 +96,12 @@
break;
case EIR_ViewCommand_ACTIVATED:
- connect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset* )),
- this, SLOT(presetLogoDownload(IRQPreset* )));
- connect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
- this, SLOT(presetLogoDownloadError()));
-
- leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
+ iModel->startDownloadingLogo();
ret = EIR_NoDefault;
break;
case EIR_ViewCommand_DEACTIVATE:
-
- iModel->clearAndDestroyLogos();
- iConvertTimer->stop();
- iIsdsClient->isdsLogoDownCancelTransaction();
-
- //iIconIndexArray must be cleared, because timer call back convertAnother() might be
- //called after view is deactivated. In that case, iModel->getImgURL(aIndex); will crash
- iIconIndexArray.clear();
-
- disconnect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset*)),
- this, SLOT(presetLogoDownload(IRQPreset* )));
- disconnect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
- this, SLOT(presetLogoDownloadError()));
+ iModel->stopDownloadingLogo();
ret = EIR_NoDefault;
break;
@@ -156,24 +122,21 @@
void IRHistoryView::handleItemSelected()
{
int index = iListView->currentIndex().row();
- IRQSongHistoryInfo *hisInfo = iModel->getHistoryInfo(index);
- if (NULL == hisInfo)
+ IRQPreset *preset = iModel->getHistoryInfo(index);
+ if (NULL == preset)
{
return;
}
- IRQPreset preset;
- convertStationHistory2Preset(*hisInfo, preset);
-
- if (hisInfo->getChannelType())
+ if (preset->type)
{
// channel from isds server
- iPlayController->connectToChannel(&preset, EIRQHistoryIsds);
+ iPlayController->connectToChannel(preset, EIRQHistoryIsds);
}
else
{
// user defined channel
- iPlayController->connectToChannel(&preset,EIRQHistoryAdhoc);
+ iPlayController->connectToChannel(preset,EIRQHistoryAdhoc);
}
}
@@ -183,7 +146,7 @@
aNeedNetwork = true;
int index = iListView->currentIndex().row();
- iPlayController->setConnectingStationName(iModel->getHistoryInfo(index)->getChannelName());
+ iPlayController->setConnectingStationName(iModel->getHistoryInfo(index)->nickName);
}
#endif
@@ -220,19 +183,7 @@
if (iModel->checkHistoryUpdate())
{
iListView->reset();
- iListView->setCurrentIndex(iModel->index(0));
-
- //because we get all the history refreshed, so clear the icon array.
- iIconIndexArray.clear();
-
- //initialize the iconindices
- for (int i = 0; i < iModel->rowCount(); ++i)
- {
- if (iModel->getImageUrl(i) != "")
- {
- iIconIndexArray.append(i);
- }
- }
+ iListView->setCurrentIndex(iModel->index(0));
}
}
@@ -247,10 +198,7 @@
{
if (aAction == dialog->actions().at(0))
{
- iIconIndexArray.clear();
- iModel->clearAllList();
- iConvertTimer->stop();
- iIsdsClient->isdsLogoDownCancelTransaction();
+ iModel->clearAllHistory();
iListView->reset();
}
}
@@ -270,78 +218,6 @@
}
}
-void IRHistoryView::startConvert(int aIndex)
-{
- QString url = iModel->getImageUrl(aIndex);
-
- IRQPreset tempPreset;
- tempPreset.imgUrl = url;
- tempPreset.type = IRQPreset::EIsds;
- iIsdsClient->isdsLogoDownSendRequest(&tempPreset, 0, KBitmapSize, KBitmapSize);
-}
-
-//if the logo is downloaded ok
-void IRHistoryView::presetLogoDownload(IRQPreset* aPreset)
-{
- if (NULL == aPreset)
- {
- presetLogoDownloadError();
- return;
- }
-
-
- delete iLogoPreset;
- iLogoPreset = aPreset;
-
- if (iLogoPreset->logoData.size() > 0)
- {
- QPixmap tempMap;
- bool ret = tempMap.loadFromData((const unsigned char*)iLogoPreset->logoData.constData(), iLogoPreset->logoData.size());
- if( ret )
- {
- QIcon convertIcon(tempMap);
- HbIcon *hbIcon = new HbIcon(convertIcon);
- int index = iIconIndexArray[0];
- iModel->setLogo(hbIcon, index);
- iIconIndexArray.removeAt(0);
- int leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
- return;
- }
- }
-
- presetLogoDownloadError();
-}
-
-
-
-//if the logo download fails
-void IRHistoryView::presetLogoDownloadError()
-{
- // if the logo download fails, try to download the next
- iIconIndexArray.removeAt(0);
- int leftCount = 0;
- leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
-}
-
-void IRHistoryView::convertAnother()
-{
- iConvertTimer->stop();
- int leftCount = iIconIndexArray.count();
-
- if (0 != leftCount)
- {
- startConvert(iIconIndexArray[0]);
- }
-}
-
void IRHistoryView::modelChanged()
{
#ifdef SUBTITLE_STR_BY_LOCID
@@ -376,10 +252,8 @@
void IRHistoryView::addContextAction()
{
QModelIndex current = iListView->currentIndex();
- IRQSongHistoryInfo * currentInfo = iModel->getHistoryInfo(current.row());
- IRQPreset preset;
- convertStationHistory2Preset(*currentInfo, preset);
- int retValue = iFavorites->addPreset(preset);
+ IRQPreset * preset = iModel->getHistoryInfo(current.row());
+ int retValue = iFavorites->addPreset(*preset);
HbNotificationDialog *add2FavNote = new HbNotificationDialog();
add2FavNote->setModal(true);
@@ -427,7 +301,7 @@
void IRHistoryView::deleteContextAction()
{
int current = iListView->currentIndex().row();
- bool ret = iModel->deleteOneItem(current);
+ bool ret = iModel->deleteHistory(current);
if( !ret )
{
#ifdef SUBTITLE_STR_BY_LOCID
@@ -440,13 +314,10 @@
void IRHistoryView::detailsContextAction()
{
int selectedItemIndex = iListView->currentIndex().row();
- IRQSongHistoryInfo *channelDetailInfo = iModel->getHistoryInfo(selectedItemIndex);
-
- IRQPreset channelPreset;
- convertStationHistory2Preset(*channelDetailInfo, channelPreset);
+ IRQPreset *channelPreset = iModel->getHistoryInfo(selectedItemIndex);
IRStationDetailsView *stationDetailsView = static_cast<IRStationDetailsView*>(getViewManager()->getView(EIRView_StationDetailsView, true));
- stationDetailsView->setDetails(&channelPreset);
+ stationDetailsView->setDetails(channelPreset);
getViewManager()->activateView(EIRView_StationDetailsView);
}
@@ -484,25 +355,6 @@
contextMenu->open();
}
-void IRHistoryView::convertStationHistory2Preset(const IRQSongHistoryInfo& aHistoryInfo, IRQPreset& aPreset)
-{
- IRQChannelServerURL url;
- url.serverName = aHistoryInfo.getChannelName();
- url.url = aHistoryInfo.getStreamUrl();
- url.bitrate = aHistoryInfo.getBitrate();
- aPreset.name = aHistoryInfo.getChannelName();
- aPreset.insertChannelServer(url);
- aPreset.type = aHistoryInfo.getChannelType();
- aPreset.presetId = aHistoryInfo.getChannelId();
- aPreset.shortDesc = aHistoryInfo.getChannelDesc();
- aPreset.imgUrl = aHistoryInfo.getImageUrl();
- aPreset.genreName = aHistoryInfo.getGenreName();
- aPreset.countryName = aHistoryInfo.getCountryName();
- aPreset.languageName = aHistoryInfo.getLanguageName();
- aPreset.description = aHistoryInfo.getChannelDesc();
- aPreset.musicStoreStatus = aHistoryInfo.getMusicStoreStatus();
-}
-
--- a/qtinternetradio/ui/src/irlastplayedstationinfo.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irlastplayedstationinfo.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -64,7 +64,7 @@
#ifdef HS_WIDGET_ENABLED
QSettings settings(KIrSettingOrganization, KIrSettingApplication);
- settings.setValue(KIrSettingStationName,iLastPlayedStation->name);
+ settings.setValue(KIrSettingStationName,iLastPlayedStation->nickName);
#endif
QFile file(KFileName);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/ui/src/irlogoprovider.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QVariant>
+
+#include "irlogoprovider.h"
+#include "imgwrapper.h"
+#include "irqisdsclient.h"
+#include "irqisdsdatastructure.h"
+#include "iruidefines.h"
+
+
+IRLogoProvider::IRLogoProvider(IRQIsdsClient *aIsdsClient) : iIsdsClient(aIsdsClient)
+{
+
+}
+
+IRLogoProvider::~IRLogoProvider()
+{
+}
+
+void IRLogoProvider::getLogo(IRQPreset *aPreset)
+{
+ imgWrapper wrapper;
+ columnMap map;
+
+ map.insert(channelId, QString::number(aPreset->presetId));
+ map.insert(imgUrl, aPreset->imgUrl);
+ QList<QVariant*> *dataSet = wrapper.getImg(&map);
+ if (dataSet)
+ {
+ //logo data has been saved into database
+ if (dataSet->count() > 0)
+ {
+ QVariant *row = dataSet->at(0);
+ QByteArray logo = row[sLogoGet].toByteArray();
+ if (logo.size() > 0)
+ {
+ emit logoData(logo);
+ }
+ else
+ {
+ //logo data hasn't been saved into database, call isds client to get it
+ iIsdsClient->isdsLogoDownSendRequest(aPreset, 0, KBitmapSize, KBitmapSize);
+ }
+ }
+ else
+ {
+ //logo data hasn't been saved into database, call isds client to get it
+ iIsdsClient->isdsLogoDownSendRequest(aPreset, 0, KBitmapSize, KBitmapSize);
+ }
+
+ while (!dataSet->isEmpty())
+ {
+ delete []dataSet->takeFirst();
+ }
+ delete dataSet;
+ }
+ else
+ {
+ //logo data hasn't been saved into database, call isds client to get it
+ iIsdsClient->isdsLogoDownSendRequest(aPreset, 0, KBitmapSize, KBitmapSize);
+ }
+}
+
+void IRLogoProvider::activate(const QObject *aReceiver, const char *aFunc)
+{
+ connect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset* )),
+ this, SLOT(presetLogoDownload(IRQPreset* )));
+ connect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
+ this, SLOT(presetLogoDownloadError()));
+ connect(this, SIGNAL(logoData(const QByteArray&)), aReceiver, aFunc);
+}
+
+void IRLogoProvider::deactivate()
+{
+ disconnect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset*)),
+ this, SLOT(presetLogoDownload(IRQPreset* )));
+ disconnect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
+ this, SLOT(presetLogoDownloadError()));
+ disconnect(SIGNAL(logoData(const QByteArray&)));
+}
+
+void IRLogoProvider::presetLogoDownload(IRQPreset* aPreset)
+{
+ if (NULL == aPreset)
+ {
+ presetLogoDownloadError();
+ return;
+ }
+
+ //logo data is available, save it to database
+ imgWrapper wrapper;
+ columnMap rowData;
+ rowData.insert(imgUrl, aPreset->imgUrl);
+
+ logoMap logo;
+ logo.insert(bLogo, QByteArray());
+ logo.insert(sLogo, aPreset->logoData);
+ bool ret = wrapper.updateImg(&rowData, aPreset->presetId, &logo);
+
+ emit logoData(aPreset->logoData);
+ delete aPreset;
+}
+
+void IRLogoProvider::presetLogoDownloadError()
+{
+ QByteArray data;
+ emit logoData(data);
+}
--- a/qtinternetradio/ui/src/irnowplayingview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irnowplayingview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -26,11 +26,6 @@
#include <HbColorScheme>
#include <HbEvent>
-#ifdef NOWPLAYING_VIEW_OPTION_B
-#include <hbframedrawer.h>
-#include <hbframeitem.h>
-#endif
-
#include "irviewmanager.h"
#include "irapplication.h"
#include "irplaycontroller.h"
@@ -70,13 +65,11 @@
static const QString KSongColor("qtc_lcd_content_normal");
static const QString KStationColor("qtc_lcd_content_normal");
-#ifdef NOWPLAYING_VIEW_OPTION_B
-static const QString KLcdGraphics("qtg_fr_lcd");
-#endif
-
#ifdef STATISTIC_REPORT_TEST_ENABLED
-static const int KDummySongRecognitionUid = 0xE4EF7D71;
-static const int KDummyMusicStoreUid = 0xE609761B;
+static const int KDummySongRecognitionUid = 0xE4EF7D71;
+static const int KIRMusicStoreUid = 0xE609761B;
+#else
+static const int KIRMusicStoreUid = 0;
#endif
static void saveStationLogo(const QPixmap &aStationLogo);
@@ -255,17 +248,7 @@
iSongNameLabel->setTextColor(HbColorScheme::color(KSongColor));
iSongNameMarquee->setTextColor(HbColorScheme::color(KSongColor));
iStationName->setTextColor(HbColorScheme::color(KStationColor));
-
-#ifdef NOWPLAYING_VIEW_OPTION_B
- HbWidget * viewContainer = qobject_cast<HbWidget *> (iLoader.findObject(VIEW_CONTAINER));
- HbFrameDrawer* drawer = new HbFrameDrawer(KLcdGraphics, HbFrameDrawer::NinePieces);
- HbFrameItem* backgroundItem = new HbFrameItem(drawer, viewContainer);
- if (backgroundItem)
- {
- viewContainer->setBackgroundItem(backgroundItem);
- }
-#endif
-
+
#ifdef ADV_ENABLED
iAdvImage = qobject_cast<HbLabel *> (iLoader.findObject( NOW_PLAYING_VIEW_OBJECT_ADVERTISEMENT_IMAGE));
iAdvImage->setIcon(HbIcon(KDefaultStationLogo));
@@ -285,7 +268,7 @@
if(iPlayController->getNowPlayingPreset())
{
- iStationName->setPlainText(iPlayController->getNowPlayingPreset()->name);
+ iStationName->setPlainText(iPlayController->getNowPlayingPreset()->nickName);
}
loadStationLogo();
}
@@ -481,7 +464,7 @@
if (playList && 1 == playList->getNumberOfEntries())
{
IRQPreset *preset = playList->getPresetForEntry(0);
- iStationName->setPlainText(preset->name);
+ iStationName->setPlainText(preset->nickName);
iFindinNmsAllowed = (0 == preset->musicStoreStatus.compare("yes",Qt::CaseInsensitive));
#ifdef HS_WIDGET_ENABLED
iPlayController->reloadNowplayingPreset(preset,false,EIRQAdhocExternal);
@@ -503,7 +486,7 @@
IRQPreset *lastPreset = lastPlayedStationInfo->getLastPlayedStation();
if (lastPreset)
{
- iStationName->setPlainText(lastPreset->name);
+ iStationName->setPlainText(lastPreset->nickName);
iFindinNmsAllowed = (0 == lastPreset->musicStoreStatus.compare("yes",Qt::CaseInsensitive));
}
else
@@ -748,53 +731,59 @@
void IRNowPlayingView::handleMusicStoreAction()
{
LOG_METHOD;
-
- if(!iFindinNmsAllowed)
- {
-#ifdef STATISTIC_REPORT_TEST_ENABLED
- if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+
+ if (!IRQUtility::findAppByUid(KIRMusicStoreUid)) // if no music store, coming soon is shown.
{
- iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,iPlayController->getNowPlayingPreset()->presetId);
- }
-#else // STATISTIC_REPORT_TEST_ENABLED
#ifdef SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("txt_irad_info_not_allowed_by_this_station"), HbMessageBox::MessageTypeInformation);
-#else // SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("Not allowed by station"), HbMessageBox::MessageTypeInformation);
-#endif // SUBTITLE_STR_BY_LOCID
-#endif // STATISTIC_REPORT_TEST_ENABLED
- return;
+ popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
+#else
+ popupNote(hbTrId("Service Coming Soon"), HbMessageBox::MessageTypeInformation);
+#endif
+ return;
}
- if(!iSongNameAvailable)
- {
-#ifdef STATISTIC_REPORT_TEST_ENABLED
- if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
- {
- iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,iPlayController->getNowPlayingPreset()->presetId);
+ bool launchResult = false;
+ if (iFindinNmsAllowed && iSongNameAvailable)
+ {
+ // TODO : launch music store with search result page
+ launchResult = IRQUtility::launchAppByUid(KIRMusicStoreUid);
+ if (launchResult)
+ {
+ if (iPlayController->getNowPlayingPreset()->type)
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,iPlayController->getNowPlayingPreset()->presetId);
+ }
+ else
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,0);
+ }
+ }
}
-#else // STATISTIC_REPORT_TEST_ENABLED
-#ifdef SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("txt_irad_info_no_song_info"), HbMessageBox::MessageTypeInformation);
-#else // SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("No song info"), HbMessageBox::MessageTypeInformation);
-#endif // SUBTITLE_STR_BY_LOCID
-#endif // STATISTIC_REPORT_TEST_ENABLED
- return;
+ else
+ {
+ // TODO : lunch music store with homepage
+ launchResult = IRQUtility::launchAppByUid(KIRMusicStoreUid);
+ if (launchResult)
+ {
+ if (iPlayController->getNowPlayingPreset()->type)
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,iPlayController->getNowPlayingPreset()->presetId);
+ }
+ else
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,0);
+ }
+ }
}
-#ifdef STATISTIC_REPORT_TEST_ENABLED
- if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
- {
- iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,iPlayController->getNowPlayingPreset()->presetId);
+ if (!launchResult)
+ {
+#ifdef SUBTITLE_STR_BY_LOCID
+ popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
+#else
+ popupNote(hbTrId("Music store not ready"), HbMessageBox::MessageTypeInformation);
+#endif
}
-#else // STATISTIC_REPORT_TEST_ENABLED
-#ifdef SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
-#else // SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("Music store not ready"), HbMessageBox::MessageTypeInformation);
-#endif // SUBTITLE_STR_BY_LOCID
-#endif // STATISTIC_REPORT_TEST_ENABLED
}
void IRNowPlayingView::handleIdentifySongAction()
--- a/qtinternetradio/ui/src/iropenwebaddressview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/iropenwebaddressview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -38,7 +38,7 @@
#include "irqenums.h"
#include "iruidefines.h"
#include "irqsettings.h"
-static const int MAX_URL_CHARACTOR_NUMBER = 255;
+
static const int MAX_DATA_FORM_NUMBER_ROWS = 4;
static const int MIN_DATA_FORM_NUMBER_ROWS = 1;
@@ -101,7 +101,7 @@
connect(iPlayButton, SIGNAL(released()), this, SLOT(play()));
HbStyleLoader::registerFilePath(OPEN_WEB_ADDRESS_VIEW_PUSH_BUTTON_CSS);
HbStyleLoader::registerFilePath(OPEN_WEB_ADDRESS_VIEW_PUSH_BUTTON_WIDGETML);
-
+
connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
this, SLOT(networkRequestNotified(IRQNetworkEvent)));
@@ -115,8 +115,8 @@
{
if (iSettings)
{
- iSettings->setManuallyInputtedStationUrl(iUrl->contentWidgetData(QString("text")).toString());
- iSettings->setManuallyInputtedStationName(iName->contentWidgetData(QString("text")).toString());
+ iSettings->setManuallyInputtedStationUrl(iUrlEditorPtr->text());
+ iSettings->setManuallyInputtedStationName(iNameEditorPtr->text());
iSettings->closeInstance();
}
}
@@ -196,13 +196,13 @@
*/
void IROpenWebAddressView::initUrlAndName()
{
- QString temp = iUrl->contentWidgetData(QString("text")).toString();
+ QString temp = iUrlEditorPtr->text();
if (0 == temp.size())
{
iUrl->setContentWidgetData(QString("text"), QString("http://"));
}
- temp = iName->contentWidgetData(QString("text")).toString();
+ temp = iNameEditorPtr->text();
if (0 == temp.size())
{
#ifdef SUBTITLE_STR_BY_LOCID
@@ -223,7 +223,7 @@
#else
iUrl = new HbDataFormModelItem(HbDataFormModelItem::TextItem, hbTrId("Station address"));
#endif
- iUrl->setContentWidgetData("maxLength",MAX_URL_CHARACTOR_NUMBER);
+ iUrl->setContentWidgetData("maxLength", KMaxLineEditLength);
if (Qt::Horizontal == getViewManager()->orientation())
{
iUrl->setContentWidgetData("maxRows", MIN_DATA_FORM_NUMBER_ROWS);
@@ -237,7 +237,7 @@
iName = new HbDataFormModelItem(
HbDataFormModelItem::TextItem, hbTrId("Station name"));
#endif
- iName->setContentWidgetData("maxLength", MAX_URL_CHARACTOR_NUMBER);
+ iName->setContentWidgetData("maxLength", KMaxLineEditLength);
if (Qt::Horizontal == getViewManager()->orientation())
{
iName->setContentWidgetData("maxRows", MIN_DATA_FORM_NUMBER_ROWS);
@@ -313,7 +313,7 @@
{
IRQChannelServerURL server;
- server.url = iUrl->contentWidgetData(QString("text")).toString();
+ server.url = iUrlEditorPtr->text();
server.url.remove(" ");
// check the URL
@@ -329,7 +329,7 @@
// Give it an initial value, supposed to be 32 kbps.
server.bitrate = 32;
- server.serverName = iName->contentWidgetData(QString("text")).toString();
+ server.serverName = iNameEditorPtr->text();
if (0 == server.serverName.size())
{
#ifdef SUBTITLE_STR_BY_LOCID
@@ -341,8 +341,7 @@
aPreset.insertChannelServer(server);
aPreset.name = server.serverName;
- aPreset.description = hbTrId("txt_irad_info_added_station_description");
- aPreset.shortDesc = aPreset.description;
+ aPreset.description = "";
aPreset.type = 0;
aPreset.presetId = 0;
aPreset.uniqID = 0;
@@ -395,9 +394,9 @@
&& event->type() == QEvent::FocusIn )
{
#ifdef SUBTITLE_STR_BY_LOCID
- if(hbTrId("txt_irad_info_unnamed_station") == iName->contentWidgetData(QString("text")).toString())
+ if(hbTrId("txt_irad_info_unnamed_station") == iNameEditorPtr->text())
#else
- if(hbTrId("Unnamed station") == iName->contentWidgetData(QString("text")).toString())
+ if(hbTrId("Unnamed station") == iNameEditorPtr->text())
#endif
{
iName->setContentWidgetData(QString("text"), QString(""));
--- a/qtinternetradio/ui/src/irplaycontroller.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irplaycontroller.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -16,7 +16,7 @@
*/
#include <hbmessagebox.h>
#include <QTimer>
-#ifdef Q_CC_NOKIAX86
+#ifdef PLATSIM_DEBUG_CONF
#include <QFile>
#include <QTextStream>
#endif
@@ -30,19 +30,22 @@
#include "irviewmanager.h"
#include "irqisdsdatastructure.h"
#include "irlastplayedstationinfo.h"
-#include "irqnetworkcontroller.h"
-#include "irqsonghistoryengine.h"
+#include "irqnetworkcontroller.h"
#include "irqmetadata.h"
#include "irqsettings.h"
#include "irqfavoritesdb.h"
#include "irqstatisticsreporter.h"
#include "irenummapper.h"
#include "irqlogger.h"
+#include "irdbwrapper.h"
+#include "urlinfowrapper.h"
+#include "channelhistorywrapper.h"
+#include "songhistorywrapper.h"
#ifdef HS_WIDGET_ENABLED
#include "irservicedef.h"
#endif
-#ifdef Q_CC_NOKIAX86
+#ifdef PLATSIM_DEBUG_CONF
void getRadioServerAddress(QString & aUrl);
#endif
@@ -103,8 +106,7 @@
iConnectedFromBackup(EIRQIsds),
iStationLogoAvailable(false),
iStationLogoAvailableBackup(false),
- iMetaData(NULL),
- iSongHistoryEngine(NULL),
+ iMetaData(NULL),
iPlayState(EIdle),
iResuming(false),
iTryingBitrate(0),
@@ -112,7 +114,10 @@
iRealBitrate(0),
iLastError(EIRQErrorNone),
iStopReason(EIRQUnknownTermination),
- iErrorNote(NULL)
+ iErrorNote(NULL),
+ iDbWrapper(NULL),
+ iHistoryWrapper(NULL),
+ iUrlInfoWrapper(NULL)
{
// use the last played station to initiliaze the backup value.
// can regard the player is bootup, and initilize its LCD screen with last played station info if available.
@@ -141,11 +146,11 @@
connectSignalSlot();
iStatisticsReporter = IRQStatisticsReporter::openInstance();
+
- if( !iApplication->isEmbeddedInstance() )
- {
- iSongHistoryEngine = IRQSongHistoryEngine::openInstance();
- }
+ iDbWrapper = new IRDBWrapper();
+ iHistoryWrapper = new channelHistoryWrapper();
+ iUrlInfoWrapper = new urlInfoWrapper();
}
/*
@@ -169,17 +174,21 @@
iErrorNote = NULL;
saveStationLogoFlag(iStationLogoAvailable);
-
- if (iSongHistoryEngine)
- {
- iSongHistoryEngine->closeInstance();
- iSongHistoryEngine = NULL;
- }
+
if (iStatisticsReporter)
{
iStatisticsReporter->closeInstance();
}
+
+ delete iDbWrapper;
+ iDbWrapper = NULL;
+
+ delete iHistoryWrapper;
+ iHistoryWrapper = NULL;
+
+ delete iUrlInfoWrapper;
+ iUrlInfoWrapper = NULL;
}
/*
@@ -249,7 +258,7 @@
if (iUrlArray)
{
firstTryUrl = iUrlArray->at(0);
-#ifdef Q_CC_NOKIAX86
+#ifdef PLATSIM_DEBUG_CONF
firstTryUrl = "http://172.28.205.171:8000";
getRadioServerAddress(firstTryUrl);
#endif
@@ -265,15 +274,30 @@
void IRPlayController::resume()
{
qDebug("IRPlayController::resume(), Entering");
- if (iMediaPlayer && (EStopped == iPlayState))
+ if (iMediaPlayer && (EStopped == iPlayState) && iNowPlayingPreset)
{
iResuming = true;
-
- if (iLastPlayedUrl != "")
+
+ //Check whether quality settings have been changed.
+ QString firstTryUrl = getFirstTryUrl(iNowPlayingPreset);
+ if (firstTryUrl.isEmpty())
{
- qDebug("IRPlayController::resume(), iLastPlayedUrl is not empty, doPlay()");
+ return;
+ }
+ else if( firstTryUrl==iLastPlayedUrl )
+ {
+ qDebug("IRPlayController::resume(), play by iLastPlayedUrl, doPlay()");
+
doPlay(iLastPlayedUrl);
- }
+ }
+ else
+ {
+ iLastPlayedUrlBackup = iLastPlayedUrl;
+ iLastPlayedUrl = firstTryUrl;
+
+ qDebug("IRPlayController::resume(), play by new url, doPlay()");
+ doPlay(firstTryUrl);
+ }
}
qDebug("IRPlayController::resume(), Exiting");
}
@@ -399,6 +423,23 @@
}
}
+void IRPlayController::saveSong2DB(const IRQMetaData& aMetaData, const IRQPreset& aPreset)
+{
+ if( iApplication->isEmbeddedInstance() )
+ {
+ return;
+ }
+
+ songHistoryWrapper songs;
+ columnMap map;
+
+ map.insert(channelId, QString::number(aPreset.presetId));
+ map.insert(songName, aMetaData.getSongName());
+ map.insert(artistName, aMetaData.getArtistName());
+
+ songs.putSongHistory(&map);
+}
+
/*
* Description : get current volume setting from media player or
* central repository
@@ -586,8 +627,6 @@
if (iTryingBitrate != iRealBitrate)
{
iNowPlayingPreset->setUrlBitrate(0,iRealBitrate);
- //when bitrate is available, it should be written to favorites db
- iApplication->getFavoritesDB()->replaceUserDefinedPreset(*iNowPlayingPreset);
iTryingBitrate = iRealBitrate;
}
}
@@ -698,32 +737,29 @@
iPlayState = EPlaying;
iApplication->stopLoadingAnimation();
- iApplication->getViewManager()->activateView(EIRView_PlayingView);
+ iApplication->getViewManager()->activateView(EIRView_PlayingView);
+
+ emit playingStarted();
+
+ // Save the station information to database iNowPlayingPreset
+ saveStation2DB(iNowPlayingPreset);
if( !iApplication->isEmbeddedInstance() )
{
//update last played station
IRLastPlayedStationInfo *lastPlayedStationInfo = iApplication->getLastPlayedStationInfo();
lastPlayedStationInfo->updateLastPlayedStation(iNowPlayingPreset,iConnectedFrom);
- lastPlayedStationInfo->commitLastPlayedStation();
- }
-
- //increase the played times of current preset
- iApplication->getFavoritesDB()->increasePlayedTimes(*iNowPlayingPreset);
-
- emit playingStarted();
-
- // if the metadata is available, show it.
- emit metaDataAvailable(iMetaData);
-
- if( !iApplication->isEmbeddedInstance() )
- {
- // Save the station information to database
- IRQMetaData tmpMetaData;
- tmpMetaData.setBitrate(iRealBitrate);
- tmpMetaData.setStreamUrl(iLastPlayedUrl);
- iSongHistoryEngine->handleMetaDataReceived(tmpMetaData, *iNowPlayingPreset);
+ lastPlayedStationInfo->commitLastPlayedStation();
}
+ // if the metadata is available, show it. here, preset->nickName is already available
+ emit metaDataAvailable(iMetaData);
+
+ //save the metadata to the db
+ if( NULL != iMetaData )
+ {
+ saveSong2DB(*iMetaData,*iNowPlayingPreset);
+ }
+
// open stereo defaultly
iMediaPlayer->enableStereoEffect();
}
@@ -745,21 +781,16 @@
*/
void IRPlayController::handleMetaDataReceived(IRQMetaData& aIRmetaData)
{
- iMetaData = &aIRmetaData;
- //TO DO: there maybe a potential bug when the user cancel the play,
- if ((aIRmetaData.getSongName().trimmed() != "")
- || (aIRmetaData.getArtistName().trimmed() != ""))
- {
- //when we are play the musicplayer and get the metadata from lower layer, we save the
- //song's metadata into the db. After we save it to db, we emit the next signal to notify the UI
- iSongHistoryEngine->handleSongMetaDataReceived(*iMetaData,
- *iNowPlayingPreset);
- }
+ //when we get metadata, we just update the member but not save to song history db for
+ //if the preset is user-defined, we do not get the preset ID in current.
+ //just after the 100 percent progress, the play state will be playing
+ iMetaData = &aIRmetaData;
if (EPlaying == iPlayState)
{
// This signal will cause addBanner() work. Sometimes the metadata will come before
// the buffering is 100%, we need to avoid to show playing banner before 100% buffering.
+ saveSong2DB(*iMetaData, *iNowPlayingPreset);
emit metaDataAvailable(iMetaData);
}
}
@@ -927,25 +958,120 @@
void IRPlayController::startSession()
{
iGetServerResult = false;
-
- int channelId = 0;
- if(iNowPlayingPreset)
- {
- channelId = iNowPlayingPreset->presetId;
- }
if(iStatisticsReporter)
{
- iStatisticsReporter->sessionStarted(channelId,MAP_TO_ENGINE_ConnectedFrom(iConnectedFrom));
+ if (iNowPlayingPreset && iNowPlayingPreset->type) // for isds station, use the channel id
+ {
+ iStatisticsReporter->sessionStarted(iNowPlayingPreset->presetId,MAP_TO_ENGINE_ConnectedFrom(iConnectedFrom));
+ }
+ else // for user defined station, use 0 as channel id instead of the id generated from IRDB
+ {
+ iStatisticsReporter->sessionStarted(0,MAP_TO_ENGINE_ConnectedFrom(iConnectedFrom));
+ }
}
}
-#ifdef _DEBUG
-int IRPlayController::bitrateTrying() const
+void IRPlayController::saveStation2DB(IRQPreset *aPreset)
{
- return iTryingBitrate;
+ if (NULL == aPreset)
+ {
+ return;
+ }
+
+ columnMap stationInfoSet;
+
+ stationInfoSet.insert(channelName,aPreset->name);
+
+ if (aPreset->nickName.isEmpty())
+ {
+ aPreset->nickName = aPreset->name;
+ }
+ stationInfoSet.insert(channelNickName,aPreset->nickName);
+
+ if (aPreset->type) // isds station
+ {
+ stationInfoSet.insert(channelId, QString::number(aPreset->presetId));
+ }
+ else
+ {
+ // for user defined station, should query its existence at first
+ // if not, since putHistoryInfo() does NOT allow url info, same user defined station
+ // can only have name and nick name info, which will leads to two different channel id generated.
+ QString userDefinedUrl;
+ if (EIRQErrorNone == aPreset->getChannelUrlAt(0,userDefinedUrl))
+ {
+ stationInfoSet.insert(channelUrl,userDefinedUrl);
+ stationInfoSet.insert(channelType,QString::number(aPreset->type));
+ QList<uint> *channelIdList = iDbWrapper->getChannelId(&stationInfoSet);
+ if (channelIdList && (channelIdList->count() > 0))
+ {
+ aPreset->presetId = channelIdList->at(0);
+ stationInfoSet.insert(channelId, QString::number(channelIdList->at(0)));
+
+ }
+ if (channelIdList)
+ {
+ channelIdList->clear();
+ delete channelIdList;
+ channelIdList = NULL;
+ }
+ stationInfoSet.remove(channelType);
+ stationInfoSet.remove(channelUrl);
+ }
+ }
+
+ stationInfoSet.insert(genreName, aPreset->genreName);
+ stationInfoSet.insert(genreId, aPreset->genreId);
+ stationInfoSet.insert(languageName, aPreset->languageName);
+ stationInfoSet.insert(languageCode, aPreset->languageCode);
+
+ stationInfoSet.insert(countryName, aPreset->countryName);
+ stationInfoSet.insert(countryCode, aPreset->countryCode);
+ stationInfoSet.insert(description, aPreset->description);
+ stationInfoSet.insert(shortDesc, aPreset->shortDesc);
+
+ stationInfoSet.insert(lastModified, aPreset->lastModified);
+ stationInfoSet.insert(musicStoreStatus, aPreset->musicStoreStatus);
+
+ stationInfoSet.insert(imgUrl, aPreset->imgUrl);
+
+ stationInfoSet.insert(advertisementUrl, aPreset->advertisementUrl);
+ stationInfoSet.insert(advertisementInUse, aPreset->advertisementInUse);
+
+ // should remove url and channel type before put, otherwise false will be returned
+ stationInfoSet.remove(channelUrl);
+ stationInfoSet.remove(channelType);
+
+ bool ret = false;
+ if (aPreset->type) // isds station
+ {
+ ret = iHistoryWrapper->putChannelHistory(&stationInfoSet);
+ }
+ else // fetch the channel id for user defined station, generated by DB
+ {
+ uint generatedChannelId = 0;
+ ret = iHistoryWrapper->putChannelHistory(&stationInfoSet,&generatedChannelId);
+ aPreset->presetId = generatedChannelId;
+ }
+
+ if ((false == ret)||(0 == aPreset->presetId))
+ {
+ return;
+ }
+
+ columnUrlInfoInsertMap urlInfoSet;
+ QString url;
+ unsigned int bitrate;
+ for (int i=0; i < aPreset->getChannelURLCount(); i++)
+ {
+ aPreset->getChannelUrlAt(i,url);
+ aPreset->getChannelBitrate(i,bitrate);
+ urlInfoSet.insert(url,bitrate);
+ }
+
+ iUrlInfoWrapper->resetUrlInfo(&urlInfoSet, aPreset->presetId);
}
-#endif
void saveStationLogoFlag(bool aIsStationLogoAvailable)
{
@@ -956,7 +1082,7 @@
}
//get IP address configuration of test radio server
-#ifdef Q_CC_NOKIAX86
+#ifdef PLATSIM_DEBUG_CONF
void getRadioServerAddress(QString & aUrl)
{
QFile file("C:\\data\\QTIRConfigure.txt");
--- a/qtinternetradio/ui/src/irplaylist.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irplaylist.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -108,8 +108,9 @@
preset->insertChannelServer(server);
preset->name = item->title();
- preset->description = item->file();
- preset->shortDesc = item->file();
+ preset->nickName = item->title();
+ preset->description = "";
+ preset->shortDesc = "";
preset->type = 0;
preset->uniqID = 0;
preset->presetId = 0;
--- a/qtinternetradio/ui/src/irplsview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irplsview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -92,8 +92,9 @@
IRQPreset preset;
preset.insertChannelServer(server);
preset.name = iPlsModel->getTitle(currentRow);
- preset.description = iPlsModel->getFile(currentRow);
- preset.shortDesc = iPlsModel->getFile(currentRow);
+ preset.nickName = iPlsModel->getTitle(currentRow);
+ preset.description = "";
+ preset.shortDesc = "";
preset.type = 0;
preset.uniqID = 0;
preset.presetId = 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/ui/src/irqsonghistoryinfo.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "irqsonghistoryinfo.h"
+
+void IRQSongInfo::setSongName(const QString& aName)
+{
+ iSongName = aName;
+}
+
+const QString& IRQSongInfo::getSongName() const
+{
+ return iSongName;
+}
+
+void IRQSongInfo::setArtistName(const QString& aArtist)
+{
+ iSongArtist = aArtist;
+}
+
+void IRQSongInfo::setStationName(const QString& aStationName)
+{
+ iStationName = aStationName;
+}
+
+const QString& IRQSongInfo::getArtistName() const
+{
+ return iSongArtist;
+}
+
+const QString& IRQSongInfo::getStationName() const
+{
+ return iStationName;
+}
+void IRQSongInfo::setMusicshopStatus(const QString& aStatus)
+{
+ iMusicshopStatus = aStatus;
+}
+
+const QString& IRQSongInfo::getMusicshopStatus() const
+{
+ return iMusicshopStatus;
+}
+
+void IRQSongInfo::setChannelID(const QString& aChannelID)
+{
+ iChannelID = aChannelID;
+}
+
+const QString& IRQSongInfo::getChannelID() const
+{
+ return iChannelID;
+}
+
+void IRQSongInfo::setAllInfo(const QString& aStationName, const QString& aSongName, const QString& aArtist, const QString& aStatus, const QString& aChannelID)
+{
+ iStationName = aStationName;
+ iSongName = aSongName;
+ iSongArtist = aArtist;
+ iMusicshopStatus = aStatus;
+ iChannelID = aChannelID;
+}
+
+
+
--- a/qtinternetradio/ui/src/irsearchchannelsview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irsearchchannelsview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -15,7 +15,6 @@
*
*/
-#include <qtimer.h>
#include <hblistview.h>
#include <hbsearchpanel.h>
#include <hbaction.h>
@@ -40,22 +39,18 @@
#include "irplaycontroller.h"
#include "irqlogger.h"
#include "irqsettings.h"
-
-const uint KBitmapSize = 59;
IRSearchChannelsView::IRSearchChannelsView(IRApplication* aApplication,
TIRViewId aViewId): IRBaseView(aApplication, aViewId),
- iListView(NULL),iSearchPanelWidget(NULL),iSearchState(ESearch_init),
- iChannelModel(NULL),iPreset(NULL),iLogoPreset(NULL),
- iConvertTimer(NULL)
+ iHeadingLabel(NULL),iListView(NULL),iSearchPanelWidget(NULL),iSearchState(ESearch_init),
+ iChannelModel(NULL),iPreset(NULL),iFirstTime(true)
{
LOG_METHOD;
- iSettings = IRQSettings::openInstance();
+ iIRSettings = IRQSettings::openInstance();
loadLayout();
connectWidget();
switch2InitState();
initMenu();
- initTimer();
}
void IRSearchChannelsView::initMenu()
@@ -66,25 +61,14 @@
connect(exitAction, SIGNAL(triggered()), iApplication, SIGNAL(quit()));
}
-void IRSearchChannelsView::initTimer()
-{
- LOG_METHOD;
- iConvertTimer = new QTimer(this);
- iConvertTimer->setInterval(10);
-
- connect(iConvertTimer, SIGNAL(timeout()), this, SLOT(convertAnother()));
-}
-
-
-
IRSearchChannelsView::~IRSearchChannelsView()
{
LOG_METHOD;
- if (iSettings)
+ if (iIRSettings)
{
- iSettings->setSearchText(iKeyText);
- iSettings->closeInstance();
+ iIRSettings->setSearchText(iKeyText);
+ iIRSettings->closeInstance();
}
if( iPreset != NULL )
@@ -92,18 +76,6 @@
delete iPreset;
iPreset = NULL;
}
-
- if( iLogoPreset != NULL )
- {
- delete iLogoPreset;
- iLogoPreset = NULL;
- }
-
- if( NULL != iChannelModel )
- {
- iChannelModel->save2Cache();
- }
-
}
void IRSearchChannelsView::loadLayout()
@@ -118,9 +90,11 @@
iLoader.setObjectTree( roots );
iLoader.load(SEARCH_CHANNELS_VIEW_LAYOUT_FILENAME);
+ iHeadingLabel = qobject_cast<HbGroupBox *>(iLoader.findWidget(SEARCH_CHANNELS_VIEW_HEADINGTEXT_WIDGET));
+
iSearchPanelWidget = qobject_cast<HbSearchPanel *>(iLoader.findWidget(SEARCH_CHANNELS_VIEW_SEARCHPANEL_WIDGET));
QString searchText;
- iSettings->getSearchText(searchText);
+ iIRSettings->getSearchText(searchText);
iKeyText = searchText;
iSearchPanelWidget->setCriteria(searchText);
@@ -132,9 +106,7 @@
iListView->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded);
iChannelModel = new IrChannelModel(this);
- iChannelModel->initWithCache();
iListView->setModel(iChannelModel);
- scrollbar->setValue(0.0);
iListView->installEventFilter(this);
@@ -165,13 +137,7 @@
connect(iIsdsClient, SIGNAL(operationException(IRQError)),
this, SLOT(operationException(IRQError)));
connect(iIsdsClient, SIGNAL(presetResponse(IRQPreset *)),
- this, SLOT(presetResponse(IRQPreset *)));
- connect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset* )),
- this, SLOT(presetLogoDownload(IRQPreset* )));
- connect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
- this, SLOT(presetLogoDownloadError()));
-
-
+ this, SLOT(presetResponse(IRQPreset *)));
}
void IRSearchChannelsView::disconnectIsdsClient()
@@ -183,10 +149,6 @@
SLOT(operationException(IRQError)));
disconnect(iIsdsClient, SIGNAL(presetResponse(IRQPreset *)),
this, SLOT(presetResponse(IRQPreset *)));
- disconnect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset*)),
- this, SLOT(presetLogoDownload(IRQPreset* )));
- disconnect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
- this, SLOT(presetLogoDownloadError()));
}
void IRSearchChannelsView::switch2InitState()
@@ -201,7 +163,7 @@
LOG_METHOD;
iSearchPanelWidget->clearFocus();
iListView->setFocus();
- iSearchState = ESearch_Loading;
+ iSearchState = ESearch_Loading;
iApplication->startLoadingAnimation(this, SLOT(minimizeSearchPanel()));
}
@@ -243,7 +205,9 @@
if(EIR_UseNetwork_StartSearch == getUseNetworkReason())
{
Q_ASSERT( !iKeyText.isEmpty() );
- iIsdsClient->isdsSearchRequest(iKeyText);
+ iChannelModel->stopDownloadingLogo();
+ switch2LoadingState();
+ iIsdsClient->isdsSearchRequest(iKeyText);
}
else if( EIR_UseNetwork_SelectItem == getUseNetworkReason() )
{
@@ -281,11 +245,10 @@
if( ESearch_Loading == iSearchState )
{
iIsdsClient->isdsCancelRequest();
- iConvertTimer->stop();
- iIsdsClient->isdsLogoDownCancelTransaction();
}
-
-
+
+ iChannelModel->stopDownloadingLogo();
+
setUseNetworkReason(EIR_UseNetwork_NoReason);
switch2LoadingState();
iIsdsClient->isdsSearchRequest(iKeyText);
@@ -295,16 +258,17 @@
{
LOG_METHOD;
switch2InitState();
-
+
QString errStr;
switch(aError)
{
case EIRQErrorNotFound:
-#ifdef SUBTITLE_STR_BY_LOCID
+#ifdef SUBTITLE_STR_BY_LOCID
errStr = hbTrId("txt_irad_info_no_matching_station_found");
#else
- errStr = hbTrId("No matching station found");
+ errStr = hbTrId("No matching station found");
#endif
+ iChannelModel->cleanupDatabase();
break;
default:
#ifdef SUBTITLE_STR_BY_LOCID
@@ -316,7 +280,6 @@
}
popupNote(errStr, HbMessageBox::MessageTypeWarning);
- iChannelModel->cleanupDatabase();
}
void IRSearchChannelsView::clickItem(const QModelIndex&)
@@ -345,28 +308,17 @@
LOG_METHOD;
delete iPreset;
iPreset = aPreset;
-
+
if (iPreset)
{
iPlayController->connectToChannel(iPreset,EIRQIsds);
}
}
-void IRSearchChannelsView::convertAnother()
-{
- LOG_METHOD;
- iConvertTimer->stop();
- int leftCount = iIconIndexArray.count();
-
- if( leftCount > 0 )
- {
- startConvert(iIconIndexArray[0]);
- }
-}
-
void IRSearchChannelsView::dataChanged()
{
LOG_METHOD;
+ resetHeadingText();
switch2InitState();
iListView->reset();
if( iChannelModel->rowCount() )
@@ -377,98 +329,16 @@
//we move the focus to the listview and the search panel will
//hide the virtual keyboard at the same time
- iListView->setFocus();
-
- iIconIndexArray.clear();
- //initialize the iconindices
- for (int i = 0; i < iChannelModel->rowCount(); ++i)
- {
- if (iChannelModel->imageUrl(i) != "")
- {
- iIconIndexArray.append(i);
- }
- }
-
- if( iIconIndexArray.count() > 0 )
- {
- iConvertTimer->start();
- }
-}
-
-void IRSearchChannelsView::startConvert(int aIndex)
-{
- LOG_METHOD;
- QString url = iChannelModel->imageUrl(aIndex);
-
- IRQPreset tempPreset;
- tempPreset.imgUrl = url;
- tempPreset.type = IRQPreset::EIsds;
-
- bool cached = iIsdsClient->isdsIsLogoCached(&tempPreset, KBitmapSize, KBitmapSize);
-
- if( !cached )
- {
- bool network = iNetworkController->getNetworkStatus();
- //if the network is not ready, some exception happens and we don't get the logos
- //for they are not so important.
- if( !network )
- {
- return;
- }
- }
-
- iIsdsClient->isdsLogoDownSendRequest(&tempPreset, 0, KBitmapSize, KBitmapSize);
+ iListView->setFocus();
}
-//if the logo is downloaded ok
-void IRSearchChannelsView::presetLogoDownload(IRQPreset* aPreset)
+void IRSearchChannelsView::resetHeadingText()
{
- LOG_METHOD;
- if( NULL == aPreset )
- {
- presetLogoDownloadError();
- return;
- }
-
-
- delete iLogoPreset;
- iLogoPreset = aPreset;
-
- if (iLogoPreset->logoData.size() > 0)
- {
- QPixmap tempMap;
- bool ret = tempMap.loadFromData((const unsigned char*)iLogoPreset->logoData.constData(), iLogoPreset->logoData.size());
- QIcon convertIcon(tempMap);
-
- if( ret )
- {
- HbIcon *hbIcon = new HbIcon(convertIcon);
- int index = iIconIndexArray[0];
- iChannelModel->setLogo(hbIcon, index);
- iIconIndexArray.removeAt(0);
- int leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
- return;
- }
- }
-
- presetLogoDownloadError();
-}
-
-//if the logo download fails
-void IRSearchChannelsView::presetLogoDownloadError()
-{
- LOG_METHOD;
- // if the logo download fails, try to download the next
- iIconIndexArray.removeAt(0);
- int leftCount = iIconIndexArray.count();
- if( leftCount > 0 )
- {
- iConvertTimer->start();
- }
+#ifdef SUBTITLE_STR_BY_LOCID
+ iHeadingLabel->setHeading(hbTrId("txt_irad_subtitle_search_results") + " (" + QString::number(iChannelModel->rowCount()) + ")");
+#else
+ iHeadingLabel->setHeading(hbTrId("Search results") + " (" + QString::number(iChannelModel->rowCount()) + ")");
+#endif
}
void IRSearchChannelsView::minimizeSearchPanel()
@@ -476,10 +346,8 @@
LOG_METHOD;
if( ESearch_Loading == iSearchState )
{
- iPlayController->cancelBuffering();
iIsdsClient->isdsCancelRequest();
- iConvertTimer->stop();
- iIsdsClient->isdsLogoDownCancelTransaction();
+ iChannelModel->stopDownloadingLogo();
switch2InitState();
}
@@ -509,8 +377,7 @@
switch (aCommand)
{
- case EIR_ViewCommand_ACTIVATED:
- iIconIndexArray.clear();
+ case EIR_ViewCommand_ACTIVATED:
iListView->clearFocus();
iSearchPanelWidget->setFocusDelegation(FocusDelegationFirstChild);
iSearchPanelWidget->setFocus();
@@ -520,13 +387,21 @@
showVkb();
}
connectIsdsClient();
+ if (iFirstTime)
+ {
+ iChannelModel->initWithCache();
+ iFirstTime = false;
+ }
+ else
+ {
+ iChannelModel->startDownloadingLogo();
+ }
break;
case EIR_ViewCommand_DEACTIVATE:
disconnectIsdsClient();
iIsdsClient->isdsCancelRequest();
- iConvertTimer->stop();
- iIsdsClient->isdsLogoDownCancelTransaction();
+ iChannelModel->stopDownloadingLogo();
switch2InitState();
break;
--- a/qtinternetradio/ui/src/irsearchresultdb.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irsearchresultdb.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -15,31 +15,22 @@
*
*/
-#include <QFile>
-#include <QSqlQuery>
-#include <QSqlRecord>
-#include <QSqlDatabase>
#include <QVariant>
-
+#include "searchrltwrapper.h"
#include "irsearchresultdb.h"
#include "irqisdsdatastructure.h"
+const int KTruncateSize = 255;
-IRSearchResultDB::IRSearchResultDB()
+IRSearchResultDB::IRSearchResultDB() : iSearchRltWrapper(NULL)
{
- createDBConnection();
+ iSearchRltWrapper = new searchRltWrapper();
}
IRSearchResultDB::~IRSearchResultDB()
{
- if (iDB->isOpen())
- {
- iDB->close();
- }
-
- delete iDB;
- iDB = NULL;
+ delete iSearchRltWrapper;
}
@@ -52,42 +43,43 @@
return EIRQErrorBadParameter;
}
- if( iDB->isOpen() )
+ if( iSearchRltWrapper )
{
clearCache();
-
+
+ //create column struct of table;
+ columnMap* pColMap = new columnMap();
+ QString num, name, imageURL, shortDescription;
+ int chnlID;
+ bool initFlag = true;
for(int i=0; i<aChannelList->count(); i++)
{
IRQChannelItem* insertItem = aChannelList->at(i);
- QString name = insertItem->channelName;
- int channelID = insertItem->channelID;
- QString imageURL = insertItem->imageURL;
- QString description = insertItem->shortDescription;
+ name = insertItem->channelName;
+ chnlID = insertItem->channelID;
+ num.setNum(chnlID);
+ imageURL = insertItem->imageURL;
+ shortDescription = insertItem->shortDescription;
//if some data overflows, we just skip it.note that
//the VARCHAR is word-based, so here we use the real size
- if( name.size()>= 256 || imageURL.size() >= 256 || description.size() >= 256 )
- {
- continue;
- }
-
- QSqlQuery query;
- bool result;
+ name.truncate(KTruncateSize);
+ imageURL.truncate(KTruncateSize);
+ shortDescription.truncate(KTruncateSize);
+
+ pColMap->clear();
+ pColMap->insert(channelId, num);
+ pColMap->insert(channelName, name);
+ pColMap->insert(imgUrl, imageURL);
+ pColMap->insert(shortDesc, shortDescription);
+
+ iSearchRltWrapper->addSearchRlt(pColMap, initFlag);
+ initFlag = false;
- result = query.prepare("INSERT INTO searchresult (name, channelID, imageURL, description) "
- "VALUES (:name, :channelID, :imageURL, :description)");
- query.bindValue(":name", name);
- query.bindValue(":channelID",channelID);
- query.bindValue(":imageURL", imageURL);
- query.bindValue(":description", description);
-
- result = query.exec();
- if( !result )
- {
- ret = EIRQErrorServiceUnavailable;
- break;
- }
}
+
+ iSearchRltWrapper->addSearchRltFinished();
+ delete pColMap;
}
else
{
@@ -99,44 +91,52 @@
QList<IRQChannelItem*> *IRSearchResultDB::getCahcedChannelList()
{
- if( !iDB->isOpen() )
+ if( !iSearchRltWrapper )
{
return NULL;
}
-
+
+ QList<QVariant*>* searchRlt = NULL;
QList<IRQChannelItem*> *channelList = new QList<IRQChannelItem*>();
- QSqlQuery query("SELECT * FROM searchresult");
- QSqlRecord rec = query.record();
- int nameCol = rec.indexOf("name");
- int channelIDCol = rec.indexOf("channelID");
- int imageURLCol = rec.indexOf("imageURL");
- int descriptionCol = rec.indexOf("description");
-
- while(query.next())
+ searchRlt = iSearchRltWrapper->getSearchRlt(NULL, NULL);
+
+ if (NULL == searchRlt)
+ {
+ return channelList;
+ }
+
+ for(int i = 0; i < searchRlt->size(); i++)
{
IRQChannelItem *oneItem = new IRQChannelItem();
- oneItem->channelName = query.value(nameCol).toString();
- oneItem->channelID = query.value(channelIDCol).toInt();
- oneItem->imageURL = query.value(imageURLCol).toString();
- oneItem->shortDescription = query.value(descriptionCol).toString();
+ oneItem->channelName = (*( searchRlt->at(i) + channelName) ).toString();
+ oneItem->channelID = (*( searchRlt->at(i) + channelId)).toUInt();
+ oneItem->imageURL = (*( searchRlt->at(i) + imgUrl) ).toString();
+ oneItem->shortDescription = (*( searchRlt->at(i) + shortDesc) ).toString();
channelList->append(oneItem);
}
-
+
+ while(false == searchRlt->isEmpty())
+ {
+ delete []searchRlt->takeFirst();
+ }
+ searchRlt->clear();
+ delete searchRlt;
+ searchRlt = NULL;
+
return channelList;
}
IRQError IRSearchResultDB::clearCache()
{
IRQError ret = EIRQErrorNone;
- if( !iDB->open())
+ if( !iSearchRltWrapper)
{
ret = EIRQErrorServiceUnavailable;
}
else
{
- QSqlQuery query("DELETE FROM searchresult");
- bool ret = query.exec();
- if( !ret )
+ bool retval = iSearchRltWrapper->deleteSearchRlt(NULL, NULL);
+ if (!retval)
{
ret = EIRQErrorServiceUnavailable;
}
@@ -144,37 +144,3 @@
return ret;
}
-
-void IRSearchResultDB::createDBConnection()
-{
- bool created = QFile::exists("searchresult.dat");
- QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
- iDB = new QSqlDatabase(db);
-
- iDB->setDatabaseName("searchresult.dat");
-
- if (!iDB->open())
- {
- return;
- }
-
-
- if (!created)
- {
- bool dbResult = false;
- QSqlQuery query;
- //note: the VARCHAR is word-based but not byte-based. and 255
- //means 255 unicode words.
- dbResult = query.exec("CREATE TABLE searchresult ("
- "id INTEGER PRIMARY KEY AUTOINCREMENT, "
- "name VARCHAR(255) NOT NULL, "
- "channelID INTEGER, "
- "imageURL VARCHAR(255), "
- "description VARCHAR(255) NOT NULL)");
-
- if (!dbResult)
- {
- return;
- }
- }
-}
--- a/qtinternetradio/ui/src/irsettingsview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irsettingsview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -29,9 +29,8 @@
IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) :
IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL)
{
-
setFlag(EViewFlag_UnStackable);
-
+ setTitle(hbTrId("txt_irad_title_internet_radio"));
initView();
}
@@ -42,6 +41,7 @@
void IRSettingsView::initView()
{
QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, this);
+ layout->setContentsMargins(0, 0, 0, 0);
setLayout(layout);
HbGroupBox * titleText = new HbGroupBox();
--- a/qtinternetradio/ui/src/irsonghistorymodel.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irsonghistorymodel.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -14,15 +14,16 @@
* Description:
*
*/
-#include <hbglobal.h>
-
+#include <hbglobal.h>
#include "irqsonghistoryinfo.h"
-#include "irqsonghistoryengine.h"
#include "irsonghistorymodel.h"
+#include "songhistorywrapper.h"
+#include "irdbviewstruct.h"
-IRSongHistoryModel::IRSongHistoryModel(QObject *aParent) : QAbstractListModel(aParent)
-{
- mHistoryEngine = IRQSongHistoryEngine::openInstance();
+IRSongHistoryModel::IRSongHistoryModel(QObject *aParent) : QAbstractListModel(aParent),
+ mHistoryWrapper(NULL)
+{
+ mHistoryWrapper = new songHistoryWrapper();
getAllList();
}
@@ -31,13 +32,9 @@
while (!mSongHistoryList.isEmpty())
{
delete mSongHistoryList.takeFirst();
- }
+ }
- if (mHistoryEngine)
- {
- mHistoryEngine->closeInstance();
- mHistoryEngine = NULL;
- }
+ delete mHistoryWrapper;
}
int IRSongHistoryModel::rowCount(const QModelIndex &aParent) const
@@ -118,15 +115,14 @@
{
IRQSongInfo *firstItem = mSongHistoryList.takeFirst();
delete firstItem;
- }
-
- mHistoryEngine->clearAllSongHistory();
+ }
+ mHistoryWrapper->deleteSongHistory();
emit modelChanged();
}
bool IRSongHistoryModel::checkSongHistoryUpdate()
-{
+{
getAllList();
return true;
}
@@ -134,8 +130,42 @@
void IRSongHistoryModel::getAllList()
{
- mHistoryEngine->getAllSongHistory(mSongHistoryList);
+
+ QList<QVariant*> *dataSet = mHistoryWrapper->getSongHistory();
+ int dataCount = 0;
+
+ if( NULL != dataSet )
+ {
+ dataCount = dataSet->count();
+ }
+
+ while (!mSongHistoryList.isEmpty())
+ {
+ IRQSongInfo *firstItem = mSongHistoryList.takeFirst();
+ delete firstItem;
+ }
+
+ QString stationsName, songsName, artistsName, status, channelsID;
+ if (0 < dataCount)
+ {
+ for (int i = 0; i < dataCount; ++i)
+ {
+ IRQSongInfo *songInfo = new IRQSongInfo();
+ QVariant *row = dataSet->at(i);
+ stationsName = row[channelNickName].toString();
+ songsName = row[songName].toString();
+ artistsName = row[artistName].toString();
+ status = row[musicStoreStatus].toString();
+ channelsID = row[channelId].toString();
+ songInfo->setAllInfo(stationsName, songsName, artistsName, status, channelsID);
+
+ delete[] row;
+ mSongHistoryList.append(songInfo);
+ }
+ }
+
+ delete dataSet;
emit modelChanged();
}
@@ -146,14 +176,28 @@
bool IRSongHistoryModel::deleteOneItem(int aIndex)
{
- bool ret = mHistoryEngine->deleteOneSongHistoryItem(aIndex);
+ if( aIndex < 0 || aIndex >= mSongHistoryList.count() )
+ {
+ return false;
+ }
+
+ IRQSongInfo *currentItem = mSongHistoryList.at(aIndex);
+
+ columnMap map;
+ map.insert(songName, currentItem->getSongName());
+ map.insert(artistName, currentItem->getArtistName());
+ map.insert(channelId, currentItem->getChannelID());
+ bool ret = mHistoryWrapper->deleteSongHistory(&map);
+
if( !ret )
{
return false;
}
beginRemoveRows(QModelIndex(), aIndex, aIndex);
+ //delete the current item to avoid memory leaking
+ delete currentItem;
mSongHistoryList.removeAt(aIndex);
endRemoveRows();
--- a/qtinternetradio/ui/src/irsonghistoryview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irsonghistoryview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -19,6 +19,7 @@
#include <hbaction.h>
#include <hbicon.h>
#include <QTimer>
+#include <QVariant>
#include "irviewmanager.h"
#include "irapplication.h"
@@ -31,12 +32,16 @@
#include "irqsettings.h"
#include "irqutility.h"
#include "iruidefines.h"
+#include "irdbwrapper.h"
+#include "irqisdsdatastructure.h"
const QString KActionSearchInMusicStoreName("SearchInMusicStore");
const QString KActionDeleteName("Delete");
-#ifdef STATISTIC_REPORT_TEST_ENABLED
-static const int KDummyMusicStoreUid = 0xE609761B;
+#ifdef STATISTIC_REPORT_TEST_ENABLED
+static const int KIRMusicStoreUid = 0xE609761B;
+#else
+static const int KIRMusicStoreUid = 0;
#endif
// public functions
@@ -133,61 +138,85 @@
*/
void IRSongHistoryView::handleItemSelected()
{
- // TODO : NEED preset id related to the song
- int index = iListView->currentIndex().row();
- IRQSongInfo *hisInfo = iModel->getSongHistoryInfo(index);
-
- if( hisInfo && ( 0 != hisInfo->getMusicshopStatus().compare("yes",Qt::CaseInsensitive) ) )
+ if (!IRQUtility::findAppByUid(KIRMusicStoreUid)) // if no music store, coming soon is shown.
{
-#ifdef STATISTIC_REPORT_TEST_ENABLED
- if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
- {
- iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,0);
- }
-#else // STATISTIC_REPORT_TEST_ENABLED
#ifdef SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("txt_irad_info_not_allowed_by_this_station"), HbMessageBox::MessageTypeInformation);
-#else // SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("Not allowed by station"), HbMessageBox::MessageTypeInformation);
-#endif // SUBTITLE_STR_BY_LOCID
-#endif // STATISTIC_REPORT_TEST_ENABLED
+ popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
+#else
+ popupNote(hbTrId("Service Coming Soon"), HbMessageBox::MessageTypeInformation);
+#endif
return;
}
- if( (NULL == hisInfo) ||
- ( hisInfo->getSongName().isEmpty() &&
- hisInfo->getArtistName().isEmpty()
- )
- )
+ IRQSongInfo *hisInfo = iModel->getSongHistoryInfo(iListView->currentIndex().row());
+ int presetType = 0; // user defined
+
+ IRDBWrapper irDb;
+ columnMap selectCriteriaSet;
+ selectCriteriaSet.insert(channelId,hisInfo->getChannelID());
+
+ QList<QVariant*>* dataSet = NULL;
+ dataSet = irDb.getIRDB(&selectCriteriaSet);
+
+ if (dataSet && (dataSet->size()>0))
+ {
+ presetType = (*(dataSet->at(0) + channelType)).toInt();
+ }
+
+ if (dataSet)
+ {
+ while(false == dataSet->isEmpty())
+ {
+ delete []dataSet->takeFirst();
+ }
+ dataSet->clear();
+
+ delete dataSet;
+ dataSet = NULL;
+ }
+
+ bool launchResult = false;
+ if( hisInfo && ( 0 != hisInfo->getMusicshopStatus().compare("yes",Qt::CaseInsensitive) ) )
{
-#ifdef STATISTIC_REPORT_TEST_ENABLED
- // TODO : have to save preset id related to the song
- if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+ // TODO : launch music store with search result page
+ launchResult = IRQUtility::launchAppByUid(KIRMusicStoreUid);
+ if (launchResult)
{
- iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,0);
- }
-#else // STATISTIC_REPORT_TEST_ENABLED
+ if (presetType)
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,iPlayController->getNowPlayingPreset()->presetId);
+ }
+ else
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,0);
+ }
+ }
+ }
+ else
+ {
+ // TODO : lunch music store with homepage
+ launchResult = IRQUtility::launchAppByUid(KIRMusicStoreUid);
+ if (launchResult)
+ {
+ if (presetType)
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,iPlayController->getNowPlayingPreset()->presetId);
+ }
+ else
+ {
+ iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,0);
+ }
+ }
+ }
+
+ if (!launchResult)
+ {
#ifdef SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("txt_irad_info_no_song_info"), HbMessageBox::MessageTypeInformation);
-#else // SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("No song info"), HbMessageBox::MessageTypeInformation);
-#endif // SUBTITLE_STR_BY_LOCID
-#endif // STATISTIC_REPORT_TEST_ENABLED
- return;
- }
-
-#ifdef STATISTIC_REPORT_TEST_ENABLED
- if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
- {
- iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,0);
- }
-#else // STATISTIC_REPORT_TEST_ENABLED
-#ifdef SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
-#else // SUBTITLE_STR_BY_LOCID
- popupNote(hbTrId("Music store not ready"), HbMessageBox::MessageTypeInformation);
-#endif // SUBTITLE_STR_BY_LOCID
-#endif // STATISTIC_REPORT_TEST_ENABLED
+ popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
+#else
+ popupNote(hbTrId("Music store not ready"), HbMessageBox::MessageTypeInformation);
+#endif
+ }
}
--- a/qtinternetradio/ui/src/irstationdetailsview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irstationdetailsview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -52,9 +52,9 @@
/*
* Description : update the station information.
*/
-void IRStationDetailsView::setDetails(IRQPreset * aPreset)
+void IRStationDetailsView::setDetails(const IRQPreset * aPreset)
{
- iStationName->setPlainText(aPreset->name);
+ iStationName->setPlainText(aPreset->nickName);
iGenres->setPlainText(aPreset->genreName);
iLanguage->setPlainText(aPreset->languageName);
iCountry->setPlainText(aPreset->countryName);
@@ -80,7 +80,7 @@
void IRStationDetailsView::setDetails()
{
IRQPreset *nowPlayingPreset = iPlayController->getNowPlayingPreset();
- iStationName->setPlainText(nowPlayingPreset->name);
+ iStationName->setPlainText(nowPlayingPreset->nickName);
iGenres->setPlainText(nowPlayingPreset->genreName);
iLanguage->setPlainText(nowPlayingPreset->languageName);
iCountry->setPlainText(nowPlayingPreset->countryName);
--- a/qtinternetradio/ui/src/irstationsview.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irstationsview.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -137,7 +137,7 @@
aNeedNetwork = true;
int index = iListView->currentIndex().row();
- iPlayController->setConnectingStationName(iDataProvider->getChannelItemByIndex(index)->channelName);
+ iPlayController->setConnectingStationName(iDataProvider->getChannelItemByIndex(index)->channelName,true);
}
#endif
--- a/qtinternetradio/ui/src/irviewmanager.cpp Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/src/irviewmanager.cpp Mon Oct 04 00:07:46 2010 +0300
@@ -321,7 +321,7 @@
(EIRView_StationDetailsView == viewToHide->id())
)
{
- setCurrentView(aView,true,Hb::ViewSwitchUseAltEvent);
+ setCurrentView(aView,true,Hb::ViewSwitchUseAltEvent | Hb::ViewSwitchCachedFullScreen);
}
else
{
--- a/qtinternetradio/ui/ui.pro Fri Sep 17 08:27:59 2010 +0300
+++ b/qtinternetradio/ui/ui.pro Mon Oct 04 00:07:46 2010 +0300
@@ -59,10 +59,10 @@
../irqcommon/inc \
../irqstatisticsreporter/inc \
../irqfavoritesdb/inc \
- ../irqnetworkcontroller/inc \
- ../irqsonghistory/inc \
+ ../irqnetworkcontroller/inc \
../irqsettings/inc \
- ../irqlogger/inc \
+ ../irqlogger/inc \
+ ../irdb/inc \
../irqsystemeventhandler/inc
CONFIG += hb service
@@ -74,8 +74,7 @@
-lirqisdsclient \
-lirqmediaplayer \
-lirqutility \
- -lirqfavorites \
- -lirqsonghistory \
+ -lirqfavorites \
-lirqsettings \
-lremconcoreapi \
-lremconinterfacebase \
@@ -86,6 +85,7 @@
-lxqsettingsmanager \
-lxqservice \
-lxqserviceutil \
+ -lirdb \
-lhgcacheproxymodel
symbian{
@@ -137,7 +137,10 @@
inc/irsearchresultdb.h \
inc/irfileviewservice.h \
inc/irplayingbanner.h \
- inc/irhbapplication.h
+ inc/irhbapplication.h \
+ inc/irlogoprovider.h \
+ inc/irqsonghistoryinfo.h
+
#source files list
SOURCES += main.cpp \
@@ -178,7 +181,10 @@
irsearchresultdb.cpp \
irfileviewservice.cpp \
irplayingbanner.cpp \
- irhbapplication.cpp
+ irhbapplication.cpp \
+ irlogoprovider.cpp \
+ irqsonghistoryinfo.cpp
+
#docml
DOCML += resources/layout/abstractlistviewbase.docml \