diff -r 608f67c22514 -r 896e9dbc5f19 internetradio2.0/favoritesdbinc/irfavoritesdb.h --- a/internetradio2.0/favoritesdbinc/irfavoritesdb.h Tue Jul 06 14:07:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,301 +0,0 @@ -/* -* Copyright (c) 2006-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: ?Description -* -*/ - - -#ifndef IRFAVORITESDB_H -#define IRFAVORITESDB_H - -#include "pspresetobserver.h" -#include "psserv.h" - -class CIRIsdsPreset; -class CIRPreset; -class CPSPresetNotifier; - - -//typedefed to array of pointer array -typedef RPointerArray RIRPresetArray; - -//this class is an handle to the presetclient -//provides apis to access the presetserver functionalities - -NONSHARABLE_CLASS( CIRFavoritesDb ):public CBase ,public MPSPresetObserver - { - -public: - - /**CIRFavoritesDb::NewL() - *standard symbian 1st phase constructor - *@return CIRFavoritesDb* ,db instance - */ - IMPORT_C static CIRFavoritesDb* NewL(); - - - /**CIRFavoritesDb::~CIRFavoritesDb() - *standard c++ destructor - */ - ~CIRFavoritesDb(); - - - /**CIRFavoritesDb::AddPresetL() - *exported function to add a preset - *@param CIRIsdsPreset& the isds preset,TInt index(not in use for 3.2) - *@return KerrNone on success,KErrNoMemory if the no of presets is 20 - */ - IMPORT_C void AddPresetL(CIRIsdsPreset& aPreset,TInt& aIndex, TBool aIsLogoAvialable=EFalse); - - - /**CIRFavoritesDb::AddPresetL() - *exported,overloaded function to add a preset manually - *@param TDesC name,TDesC url of the preset,TInt,TIntindex and id not in use for 3.2 - *@return KerrNone on success,KErrNoMemory if the no of presets is 20 - */ - IMPORT_C void AddPresetL(const TDesC& aName,const TDesC& aURl, - TInt& aReturn, TBool aIsLogoAvialable=EFalse); - - - /**CIRFavoritesDb::DeletePresetL() - *exported, function to delete a preset - *@param TInt is the id of the preset to be deleted - *@return KerrNone on success, - */ - IMPORT_C void DeletePresetL( TInt aUniqId ); - - - /**CIRFavoritesDb::GetAllPresetL() - *exported,function to get the list of saved presets in the array iFavPresetList - */ - IMPORT_C void GetAllPreset(); - - /* - * get all presets sorted by played times - */ - IMPORT_C const RIRPresetArray& GetAllSortedPresets(); - - /**CIRFavoritesDb::SearchPreset() - *exported, function to find out if a preset exists in the favorites list - *@param TInt the id of the preset to search. - *@return the index number of the preset being searched(if found) else KErrNotFound - */ - IMPORT_C TInt SearchPreset( const TInt aUniqPresetId, - const TInt aIsdsPresetId); - - - /**CIRFavoritesDb::GetPreviousPreset() - *exported, function to find out if a preset exists in the favorites list - *@param TInt the id of the preset . - *@return the index number of the previous preset - */ - IMPORT_C TInt GetPreviousPreset(TInt aIndex); - - - /**CIRFavoritesDb::GetNextPreset() - *exported, function to find out if a preset exists in the favorites list - *@param TInt the id of the preset . - *@return the index number of the next preset - */ - IMPORT_C TInt GetNextPreset(TInt aIndex); - - - - /**CIRFavoritesDb::SwapPresetsInDbL() - *returns the previous preset for a given presetId - *@param TInt,TInt,TInt,TIntswaps the presets between two - *channelIds for given channel Indices - *@return TInt system wode error code - **/ - IMPORT_C void SwapPresetsInDbL(TInt aChannelIdFrom,TInt aChannelIdTo, - TInt aChannelIndexFro,TInt aChannelIndexTo); - - - /**CIRFavoritesDb::ReplacePresetL() - *replaces a preset with a new preset - *@param CIRIsdsPreset instance - *for presetSync - *@return TInt system wode error code - **/ - IMPORT_C void ReplacePresetL(CIRIsdsPreset& aNewPreset); - - - /**CIRFavoritesDb::ReplaceUserDefinedPresetL() - *replaces a userdefined preset with a new userdefined preset - *@param CIRIsdsPreset instance - *for presetSync - *@return TInt system wide error code - **/ - IMPORT_C void ReplaceUserDefinedPresetL(CIRIsdsPreset& aNewPreset); - - - /**CIRFavoritesDb::MakePresetUserDefinedL() - *for a favorite preset that has been removed from the isds. - *it is made a user defined preset by changing the type to 0. - *index value is preseved so that the relative positions in the saved - *stations view remains the same. - *@param TInt,TInt - *@return TInt - **/ - IMPORT_C void MakePresetUserDefinedL(TInt aChannelId,TInt aUserDefinedChannelId); - - /** - *const RVRPresetArray& CVRPresetHandler::Presets() const - * @return RIRPresetArray& an array containing all Internet Radio presets. - */ - IMPORT_C const RIRPresetArray& Presets() const; - /** - *TInt CIRFavoritesDb::EmptyPresetCount() const - *Returns the number of empty presets - *@return TInt the number of empty presets - */ - IMPORT_C TInt EmptyPresetCount() const; - - /** - *TInt CIRFavoritesDb::AddObserver( MPSPresetObserver& aObserver ) - *Adds an observer that is notified upon changes in presets. - *@param MPSPresetObserver& - */ - - IMPORT_C TInt AddObserver( const MPSPresetObserver& aObserver ); - - /** - *TInt CIRPresetHandler::RemoveObserver( MPSPresetObserver& aObserver ) - *Removes an observer for a preset. - */ - IMPORT_C void RemoveObserver(const MPSPresetObserver& aObserver ); - - /**CIRFavoritesDb::MaxPresetCount() - *returns the maximum number of presets that can be stored in the favorites list - *@return TInt maximum number of presets that can be stored in the favorites list - **/ - IMPORT_C TInt MaxPresetCount(); - - /** CIRFavoritesDb::SetMoveStatus(TBool aStatus) - * @aStatus, sets the status of the Move functionality progression - **/ - IMPORT_C void SetMoveStatus(TBool aStatus); - - /** CIRFavoritesDb::GetMoveStatus() - * returns the status of the Move functionality - **/ - IMPORT_C TBool GetMoveStatus(); - - /* - * Increase the played times of a channel if it has been in the favorites - * return : KErrNone if success - * KErrNotFound if the preset is not in the favorites - */ - IMPORT_C TInt IncreasePlayedTimesL(const CIRIsdsPreset &aIsdsPreset); - - IMPORT_C TInt RenamePresetL(const CIRIsdsPreset &aIsdsPreset, const TDesC &aNewName); - - private: - - /**CIRFavoritesDb::HandlePresetChangedL() - *function to notify a change in saved presets - *@param TInt,TUid,TPSReason the id of the preset,the id of the - *preset handler i.e CIRPreset,the reason of change. - */ - void HandlePresetChangedL( TInt aId, TUid aDataHandler, MPSPresetObserver::TPSReason aReason ); - - - /**CIRFavoritesDb::MovePresetL() - *moves a preset to destination index - *@param TInt,TInt,the preset id ,the destination index - **/ - void MovePresetL( const TInt aId,const TInt aDestinationIndex ); - - - /**CIRFavoritesDb::ConstructL() - *Standard 2nd phase construction - **/ - void ConstructL(); - - - /**CIRFavoritesDb::SortByIndex() - *sorts the preset list by index - **/ - void SortByIndex(); - - /** - *TInt CIRFavoritesDb::MatchingPresetId( TInt aId ) - *returns the index of the preset whose id is aId - *@return TInt the index of the preset whose id is aId - */ - TInt MatchingPresetId( TInt aId ); - - - /** - *TInt CIRFavoritesDb::CreatePresetL( TInt aIndex ) - *creates a preset by the index aIndex - *@param TInt aIndex,index of the new preset - *@return CIRPreset* - */ - CIRPreset* CreatePresetL( TInt aIndex ); - - /* - * Search a user defined preset by name and url - */ - TInt SearchUserDefinedPreset(const TDesC &aName, const TDesC &aUrl); - -public: - - /** - *CIRFavoritesDb::PresetByIndex(TInt aIndex) - * Returns a preset by its id. - * @param aId Id of the preset. - * @return The preset matching the id or NULL if no such preset exists. - */ - CIRPreset* PresetByIndex( TInt aIndex ); - - - /** - * CIRFavoritesDb::PresetById(TInt aIndex) - * Returns a preset by its id. - * @param aId Id of the preset. - * @return The preset matching the id or NULL if no such preset exists. - */ - IMPORT_C CIRPreset* PresetById( TInt aId ); - - - /**the preset list accessible to ui*/ - /** Internet Radio presets currently stored in the preset server. */ - RIRPresetArray iFavPresetList; -private: - - /** Session with the preset server. */ - RPSServ iServ; -//private: - - /** Notifier that informs about changes in presets. */ - CPSPresetNotifier* iNotifier; - /** Observers to notify when presets change. */ - RPointerArray iObservers; - - /** The maximum number of supported presets. */ - TInt iMaxPresetCount; - - /**type of presets(source)*/ - enum TChannelType - { - EUserDefined,/**added by user*/ - EIsdsPreset,/**fetched from isds*/ - }; - - /** iMoveStatus, to know the status of the Move funcitionality */ - TBool iMoveStatus; -}; - -#endif //end IRFAVORITESDB_H