internetradio2.0/datastructuresinc/irbrowsechannelitems.h
changeset 0 09774dfdd46b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/datastructuresinc/irbrowsechannelitems.h	Mon Apr 19 14:01:53 2010 +0300
@@ -0,0 +1,193 @@
+/*
+* 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 IRBROWSECHANNELITEMS_H
+#define IRBROWSECHANNELITEMS_H
+
+#include <e32base.h>
+
+class RReadStream;
+class RWriteStream;
+
+/**
+ * This class provides the basic structure to hold the browse information 
+ *information that come from the isds server.
+ *It also provides the basic getter and setter functions to 
+ *manage the browse information.
+ * @code
+ *CIRBrowseChannelItems* browse = CIRBrowseChannelItems::NewL()
+ *browse->SetXXX();
+ *browse->GetXXX()
+ *delete browse;
+ * @endcode
+ *   
+ */
+class CIRBrowseChannelItems : public CBase
+	{
+public :
+
+	/**
+	*CIRBrowseChannelItems::NewLC()
+	*Static function
+	*standard two phased constructor
+	*@return CIRBrowseChannelItems*
+	*/
+	IMPORT_C	static CIRBrowseChannelItems* NewLC();
+
+	/**
+	*CIRBrowseChannelItems::NewL()
+	*Static function
+	*standard two phased constructor
+	*@return CIRBrowseChannelItems*
+	*/
+	IMPORT_C	static CIRBrowseChannelItems* NewL();
+
+	/**
+	*CIRBrowseChannelItems::ConstructL()
+	*standard two phased constructor
+	*/
+	void ConstructL() const;
+
+	/**
+	*CIRBrowseChannelItems::~CIRBrowseChannelItems()
+	*standard C++ destructor
+	*/
+	~CIRBrowseChannelItems();
+
+public:
+
+	/**
+	*CIRBrowseChannelItems::SetTextL()
+	*Set data namely channelname,channelid,description
+	*@param TDesC,TDesC,TDesC
+	*/
+	IMPORT_C	void   SetTextL(
+		const TDesC& aChannelName,const TDesC& aChannelId,const TDesC& aDescription);
+
+	/**
+	*CIRBrowseChannelItems::SetGetOperationL()
+	*Set data get methord
+	*@param TDesC
+	*/
+	IMPORT_C	void	 SetGetOperationL(const TDesC& aChannelGetOperation);
+
+	/**
+	*CIRBrowseChannelItems::SetSize()
+	*Set data size of data
+	*@param TDesC
+	*/
+	IMPORT_C	void	 SetSize(const TDesC& aSize);
+
+	/**
+	*CIRBrowseChannelItems::SetImageUrl()
+	*Set data for iImgUrl
+	*@param TDesC
+	*/
+	IMPORT_C	void	 SetImageUrl(const TDesC& aImgUrl);
+
+	/**
+	*CIRBrowseChannelItems::SetGetOperation()
+	*Set data for the get operation
+	*@param TDesC
+	*/
+	IMPORT_C	void 	 SetGetOperation(TDesC& aCatGetOperation);
+
+	/**
+	*CIRBrowseChannelItems::ExternalizeL()
+	*Externalizes data into persistent storage
+	*@param RWriteStream
+	*/
+	IMPORT_C	void   ExternalizeL(RWriteStream& aStream) const;
+
+	/**
+	*CIRBrowseChannelItems::InternalizeL()
+	*internalizes data from persistent storage
+	*@param RReadStream
+	*/
+	IMPORT_C	void   InternalizeL(RReadStream& aStream);
+
+	/**
+	*CIRBrowseChannelItems::SetLastPlayedUrl()
+	*Sets the last played url
+	*/
+	IMPORT_C	void SetLastPlayedUrl();
+
+	/**
+	*CIRBrowseChannelItems::SetBitrate()
+	*Set data for 3bitrates
+	*@param TDesC,TDesC,TDesC
+	*/
+	IMPORT_C	void SetBitrate(
+		const TDesC &aBitrate1,const TDesC &aBitrate2,const TDesC &aBitrate3);
+
+	/**
+	*CIRBrowseChannelItems::SetBitrate()
+	*Set data for 2 bitrates
+	*@param TDesC,TDesC
+	*/
+	IMPORT_C	void SetBitrate(const TDesC &aBitrate1,const TDesC &aBitrate2);
+
+	/**
+	*CIRBrowseChannelItems::SetBitrate()
+	*Set data for 1 bitrate
+	*@param TDesC
+	*/
+	IMPORT_C	void SetBitrate(const TDesC &aBitrate1);
+
+	//For Advertisements
+	/**
+	*CIRBrowseChannelItems::SetBannerUrl(const TDesC& aBannerUrl)
+	*Set data Banner Url
+	*@param TDesC
+	*/
+	IMPORT_C void SetBannerUrl(const TDesC& aBannerUrl);
+	
+	
+	/**
+	*CIRBrowseChannelItems::SetClickThroughUrl(const TDesC& aClickThroughUrl)
+	*Set data Banner Url
+	*@param TDesC
+	*/
+	IMPORT_C  void SetClickThroughUrl(const TDesC& aClickThroughUrl);
+
+public :
+	//channel name
+	HBufC*   iChannelName;
+	//short description
+	HBufC*   iShortDescription;
+	//url to fetch the preset from
+	HBufC*   iChannelGetOperation;
+	//url to fetch the image from
+	RBuf     iImgUrl;
+	//supported bitrates(were required for bitrate view)
+	//not in use now
+	TInt     iBitrate1;
+	TInt     iBitrate2;
+	TInt     iBitrate3;
+	//channel id
+	TUint    iChannelID;
+	TInt	 iSize;
+	
+	
+		//For Advertisements
+	HBufC* iBannerUrl;
+	HBufC* iClickThroughUrl;
+
+	};
+
+#endif // IRBROWSECHANNELITEMS_H