internetradio2.0/presetplugininc/irpreset.h
changeset 0 09774dfdd46b
child 8 3b03c28289e6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/presetplugininc/irpreset.h	Mon Apr 19 14:01:53 2010 +0300
@@ -0,0 +1,381 @@
+/*
+* Copyright (c) 2006-2008 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 IRPRESET_H
+#define IRPRESET_H
+
+#include <badesca.h>
+#include <pspresetinterface.h>
+
+class CIRIsdsPreset;
+
+const TUid KIRPreset = { 0x10009DC1 };
+
+/**
+ *preset abstract class to expose general apis to the app
+ *it is the base class for IRPresetImpl,which is a plugin
+ *the plugin implements all the pure virtual functions
+*/
+class CIRPreset:public CPSPresetInterface
+	{
+
+public:
+
+	/**
+	*CIRPreset::SetId()
+	*sets id
+	*@param TDesC,supplied by xml parser
+	*/
+	virtual void SetId(const TDesC &aId)=0;
+
+	/**
+	*CIRPreset::SetId()
+	*sets id
+	*@param TInt,provided to manipulate the id number
+	*/
+	virtual void SetId(TInt aId)=0;
+
+
+	/**
+	*CIRPreset::SetLangInfo()
+	*sets the preset language name and the code
+	*@param TdesC,TdesC language id and name to be set
+	*/
+	virtual void SetLangInfo(const TDesC &aLangId,const TDesC& aLangName)=0;
+
+	/**
+	*CIRPreset::SetCountryInfo()
+	*sets the preset country name and the code
+	*@param TdesC,TdesC country id and country name to be set
+	*/
+	virtual void SetCountryInfo(const TDesC &aCountryId,
+		const TDesC& aCountryName)=0;
+
+	/**
+	*CIRPreset::SetLangCode()
+	*sets the language code
+	*@param TdesC language code
+	*/
+	virtual void SetLangCode(const TDesC &aLangId)=0;
+
+	/**
+	*CIRPreset::SetLang()
+	*sets the language
+	*@param TdesC language
+	*/
+	virtual void SetLang(const TDesC& aLangName)=0;
+
+	/**
+	*CIRPreset::SetCountryCode()
+	*sets the language code
+	*@param TdesC language code
+	*/
+	virtual void SetCountryCode(const TDesC &aCountryId)=0;
+
+	/**
+	*CIRPreset::SetCountryName()
+	*sets the language name
+	*@param TdesC language name
+	*/
+	virtual void SetCountryName(const TDesC& aCountryName)=0;
+
+	/**
+	*CIRPreset::SetLastModifiedTime()
+	*gets the channel  url at a particular index
+	*@param TDesC,time stamp
+	*/
+	virtual void SetLastModifiedTime(const TDesC &aLastModified)=0;
+
+	/**
+	*CIRPreset::SetGenreInfo()
+	*sets the genreid and name
+	*@param aGenreId
+	*@param aGenreName
+	*/
+	virtual void SetGenreInfo(const TDesC& aGenreId,
+		const TDesC& aGenreName)=0;
+
+	/**
+	*CIRPreset::SetImgUrl()
+	*sets the image url
+	*@param aImgUrl
+	*/
+	virtual void SetImgUrl(const TDesC& aImgUrl)=0;
+
+	/**
+	*CIRPreset::SetAdvertisementInUse()
+	*sets the advertisementinuse url
+	*@param aAdvertisementInUse
+	*/
+	virtual void SetAdvertisementInUse(const TDesC& aAdvertisementInUse)=0;
+
+	/**
+	*CIRPreset::SetDescription()
+	*sets the description for the channel
+	*@param aDescription
+	*/
+	virtual void SetDescription(const TDesC& aDescription)=0;
+
+	/**
+	*CIRPreset::SetAdvertisementUrl()
+	*sets the advertisement url
+	*@param aAdvertisementUrl
+	*/
+	virtual void SetAdvertisementUrl(const TDesC& aAdvertisementUrl)=0;
+
+	/**
+	*CIRPreset::SetUrlCount()
+	*sets the count of the number of urls
+	*/
+	virtual void SetUrlCount()=0;
+
+	/**
+	*CIRPreset::SetShortDesc()
+	*sets the short description
+	*@param aShortDesc
+	*/
+	virtual void SetShortDesc(const TDesC& aShortDesc)=0;
+
+
+	/**
+	*CIRPreset::SetMusicStoreStatus()
+	*sets the musicStoreEnabled flag
+	*@param aMusicStoreStatus
+	*/
+	virtual void SetMusicStoreStatus(const TDesC& aMusicStoreStatus)=0;
+
+
+	/**
+	*CIRPreset::SetUrlCount()
+	*sets the count of the number of urls
+	*@param aCnt ,count
+	*/
+	virtual void SetUrlCount(TInt aCnt)=0;
+
+	/**
+	*CIRPreset::SetIndex()
+	*sets the index for the preset.used only for presets in the fav list
+	*@param aInt
+	*/
+	//not required
+	//virtual void SetIndex(TInt aInt)=0
+
+	/**
+	*CIRPreset::SetUrlL()
+	*sets the channel server url
+	*@param aServerName ,server name
+	*@param aUrl ,server url
+	*@param aBitrate .server bitrate
+	*/
+	virtual void SetUrlL(const TDesC &aServerName,const TDesC &aUrl,
+		const TDesC &aBitrate)=0;
+
+	/**
+	*CIRPreset::SetUrlL()
+	*sets the channel server url
+	*@param aServerName ,server name
+	*@param aUrl ,server url
+	*@param aBitrate ,server bitrate
+	*/
+	virtual void SetUrlL(const TDesC &aServerName,const TDesC &aUrl,
+		TInt aBitrate)=0;
+
+	/**
+	*CIRPreset::SetChannelType()
+	*sets the channel type
+	*@param aChannelType userdefined,isds,adhoc
+	*/
+	virtual void SetChannelType(TInt aChannelType)=0;
+
+	/**
+	*CIRPreset::GetId()
+	*gets the channel id
+	*@return TInt
+	*/
+	virtual TInt GetId()const=0;
+
+	/**
+	*CIRPreset::GetLangId()
+	*gets the channel channelangid
+	*@return TDesC
+	*/
+	virtual const TDesC& GetLangId() const=0;
+
+	/**
+	*CIRPreset::GetLangName()
+	*gets the channel language name
+	*@return TDesC
+	*/
+	virtual const TDesC& GetLangName() const=0;
+
+	/**
+	*CIRPreset::GetCountryId()
+	*gets the channel countryid
+	*@return TDesC
+	*/
+	virtual const TDesC& GetCountryId() const=0;
+
+	/**
+	*CIRPreset::GetCountryName()
+	*gets the channel country name
+	*@return TDesC
+	*/
+	virtual const TDesC& GetCountryName() const=0;
+
+	/**
+	*CIRPreset::GetLastModifiedTime()
+	*gets the channel last modified time stamp
+	*@return TDesC
+	*/
+	virtual const TDesC& GetLastModifiedTime() const=0;
+
+	/**
+	*CIRPreset::GetDescription()
+	*gets the channel description
+	*@return TDesC
+	*/
+	virtual const TDesC& GetDescription() const=0;
+
+	/**
+	*CIRPreset::GetShortDescription()
+	*gets the channel  short description
+	*@return TDesC
+	*/
+	virtual const TDesC& GetShortDescription() const=0;
+
+
+	/**
+	*CIRPreset::GetMusicStoreStatus()
+	*gets the channel  musicStoreEnabled flag
+	*@return TDesC
+	*/
+	virtual const TDesC& GetMusicStoreStatus() const=0;
+
+
+    /**
+    *CIRPreset::GetChannelType()
+	*gets the channel  Type
+	*@return TInt
+	*/
+	virtual TInt GetChannelType()const=0;
+
+	/**
+	*CIRPreset::GetGenreId()
+	*gets the channel  genreid
+	*@return TDesC
+	*/
+	virtual const TDesC& GetGenreId() const=0;
+
+	/**
+	*CIRPreset::GetGenreName()
+	*gets the channel  genre name
+	*@return TDesC
+	*/
+	virtual const TDesC& GetGenreName() const=0;
+
+	/**
+	*CIRPreset::GetAdvertisementUrl()
+	*gets the channel  advertisement url
+	*@return TDesC
+	*/
+	virtual const TDesC& GetAdvertisementUrl() const=0;
+
+	/**
+	*CIRPreset::GetImgUrl()
+	*gets the channel  image url
+	*@return TDesC
+	*/
+	virtual const TDesC& GetImgUrl()const=0;
+
+    /**
+    *CIRPreset::GetUrlCount()
+	*gets the channel  url count
+	*@return TDesC
+	*/
+	virtual TInt GetUrlCount()const=0;
+
+	/*
+	 * get the channel url at specified position
+	 *
+	 */
+	virtual const TDesC& GetChannelUrlAt(TInt aIndex) const = 0;
+	
+	/**
+	*CIRPreset::GetAvailableBitrates()
+	*gets the bitrate array
+	*@return RArray<TInt>
+	*/
+    virtual RArray<TInt>& GetAvailableBitrates()=0;
+
+	/**
+ 	*void CIRPresetImpl::CIRIsdsPresetToCIRPresetImpl(const CIRIsdsPreset& aIsdsPreset)
+ 	*used to convert the isdspresets to plugnized presets.
+ 	*Does a deep copy for all the member variables
+ 	*@param CIRIsdsPreset&,the preset to be copied from
+	*/
+    virtual void CIRIsdsPresetToCIRPresetImpl(const CIRIsdsPreset& aIsdsPreset)=0;
+
+	/**
+	*CIRPreset::CopyPresetData()
+	*copy data to CIRIsdsPreset
+	*@param CIRIsdsPreset&,the preset to be copied into
+	*/
+	virtual void CopyPresetData(CIRIsdsPreset& aIsdsPreset) const =0;
+
+	/**
+	*CIRPreset::UniqId()
+	*gets the unique id
+	*@return TUint32
+	*/
+	virtual TUint32 UniqId()=0;
+
+	/**
+	*CIRPreset::SetUniqId()
+	*sets the unique id for the preset
+	*@param aId
+	*/
+	virtual void SetUniqId( const TUint32 aId)=0;
+
+	 /**
+     * Sets the logo data for this preset for a specific size.
+     *
+     * @param   aData           Raw image data to set.
+     * @param   aSize           Size of the logo in pixels.
+     */
+    virtual void SetLogoData( const TDesC8& aData ) = 0;
+
+    /**
+     * Returns the logo data for this preset.
+     *
+     * If the returned descriptor's length is zero, then it means
+     * that the preset does not have a logo.
+     */
+    virtual  const TDesC8& GetLogoData() const = 0;
+
+    /*
+     * Returns the played times of the channel
+     */
+    virtual TInt GetPlayedTimes() const = 0;
+    
+    /*
+     * Set the played times of the channel
+     */
+    virtual void SetPlayedTimes(TInt aPlayedTimes) = 0;
+	};
+
+#endif	//end of IRPRESET_H