--- /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