internetradio2.0/datastructuressrc/irbrowsechannelitems.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 19 Apr 2010 14:01:53 +0300
changeset 0 09774dfdd46b
permissions -rw-r--r--
Revision: 201011 Kit: 201015

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


#include <s32strm.h>

#include "irbrowsechannelitems.h"
#include "irdebug.h"

// ======== LOCAL FUNCTIONS ========

// ======== MEMBER FUNCTIONS ========

// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::NewLC()
//Static function
//standard two phased constructor
// ---------------------------------------------------------------------------
//	
EXPORT_C CIRBrowseChannelItems* CIRBrowseChannelItems::NewLC()
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::NewLC - Entering" );
	CIRBrowseChannelItems* self = new (ELeave) CIRBrowseChannelItems;
	CleanupStack::PushL(self);
	self->ConstructL();
	IRLOG_DEBUG( "CIRBrowseChannelItems::NewLC - Exiting." );
	return self;
	}


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::NewL()
//Static function
//standard two phased constructor
// ---------------------------------------------------------------------------
//
EXPORT_C CIRBrowseChannelItems* CIRBrowseChannelItems::NewL()
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::NewL - Entering" );
	CIRBrowseChannelItems* self = CIRBrowseChannelItems::NewLC();
	CleanupStack::Pop(self);
	IRLOG_DEBUG( "CIRBrowseChannelItems::NewL - Exiting." );
	return self;
	}


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::ConstructL()
//standard two phased constructor
// ---------------------------------------------------------------------------
//
 void CIRBrowseChannelItems::ConstructL() const
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::ConstructL" );
	return;
	}


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::~CIRBrowseChannelItems()
//standard C++ destructor
// ---------------------------------------------------------------------------
//	
 CIRBrowseChannelItems::~CIRBrowseChannelItems()
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::~CIRBrowseChannelItems - Entering" );
	delete iChannelName;
	iChannelName=NULL;
	delete iChannelGetOperation;
	iChannelGetOperation=NULL;
	delete iShortDescription;
	iShortDescription=NULL;
	iImgUrl.Close();
	
	delete iBannerUrl;
	iBannerUrl=NULL;
	delete iClickThroughUrl;
	iClickThroughUrl=NULL;

	IRLOG_DEBUG( "CIRBrowseChannelItems::~CIRBrowseChannelItems - Exiting." );
	}


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetTextL()
//Set data namely channelname,channelid,description
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetTextL(const TDesC& aChannelName,
	const TDesC& aChannelId,const TDesC& aDescription)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetTextL - Entering" );
	iChannelName = aChannelName.Alloc();
	iShortDescription=aDescription.Alloc();	
	TLex var(aChannelId);
	var.Val(iChannelID);
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetTextL - Exiting." );
	}
	

// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetGetOperationL()
//Set data get methord
// ---------------------------------------------------------------------------
//	
EXPORT_C void CIRBrowseChannelItems::SetGetOperationL(
	const TDesC& aChannelGetOperation)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetGetOperationL - Entering" );
	iChannelGetOperation = aChannelGetOperation.Alloc();
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetGetOperationL - Exiting." );
	}


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetSize()
//Set data size of data
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetSize(const TDesC& aSize)
	{
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetSize - Entering" );
	TLex var(aSize);
	var.Val(iSize);
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetSize - Exiting." );
	}


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetImageUrl()
//Set the url for the iImgUrl
// ---------------------------------------------------------------------------
//	
EXPORT_C void CIRBrowseChannelItems::SetImageUrl(const TDesC& aImgUrl)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetImageUrl - Entering" );
	iImgUrl.Create(aImgUrl.Length());
	iImgUrl.Copy(aImgUrl);
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetImageUrl - Exiting." );
	}
	

// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::ExternalizeL()
//Externalizes data into persistent storage
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::ExternalizeL(RWriteStream& aStream) const
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::ExternalizeL - Entering" );
	if (iChannelName )
		{
		aStream.WriteInt32L(iChannelName->Des().MaxLength());
		aStream << *iChannelName;
		}
	else 
		{
		aStream.WriteInt32L(0);
		}
	if((iShortDescription) && (iShortDescription->Des().MaxLength() != 0))
		{	
		TInt a = iShortDescription->Des().MaxLength();
		aStream.WriteInt32L(iShortDescription->Des().MaxLength());
		aStream << *iShortDescription;
		}
	else
		{
		aStream.WriteInt32L(0);
		}
	if(iChannelGetOperation)
		{
		aStream.WriteInt32L(iChannelGetOperation->Des().MaxLength());
		aStream << *iChannelGetOperation;
		}
	else
		{
		aStream.WriteInt32L(0);
		}
	aStream.WriteInt32L(iBitrate1);
	aStream.WriteInt32L(iBitrate2);
	aStream.WriteInt32L(iBitrate3);
	aStream.WriteUint32L(iChannelID);
	if(iBannerUrl)
		{
		aStream.WriteInt32L(iBannerUrl->Des().MaxLength());
		aStream <<*iBannerUrl;
		}
	else
		{
		aStream.WriteInt32L(0);
		}
	
	if(iClickThroughUrl)	
		{
		aStream.WriteInt32L(iClickThroughUrl->Des().MaxLength());
		aStream <<*iClickThroughUrl;
		}
	else
		{
		aStream.WriteInt32L(0);
		}
		
	if(iImgUrl.Length() != 0)
		{
		aStream.WriteInt32L(iImgUrl.MaxLength());
		aStream <<iImgUrl;
		}
	else
		{
		aStream.WriteInt32L(0);	
		}

	IRLOG_DEBUG( "CIRBrowseChannelItems::ExternalizeL - Exiting." );
	}  


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::InternalizeL()
//internalizes data from persistent storage
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::InternalizeL(RReadStream& aStream)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::InternalizeL - Entering" );
	TInt maxlen;
	maxlen     = aStream.ReadInt32L();
	if(maxlen!=0)
		{
		iChannelName = HBufC::NewL(aStream,maxlen);
		}
	maxlen     = aStream.ReadInt32L();
	if(maxlen!=0)
		{
		iShortDescription = HBufC::NewL(aStream,maxlen);
		}
	maxlen     = aStream.ReadInt32L();
	if(maxlen!=0)
		{
		iChannelGetOperation = HBufC::NewL(aStream,maxlen);
		}
	iBitrate1  = aStream.ReadInt32L();
	iBitrate2  = aStream.ReadInt32L();
	iBitrate3  = aStream.ReadInt32L();
	iChannelID = aStream.ReadUint32L();
	
	
	
	maxlen = aStream.ReadInt32L();
	if(maxlen!=0)
		{
		iBannerUrl = HBufC::NewL(aStream, maxlen);
		}
	maxlen = aStream.ReadInt32L();
	if(maxlen!=0)
		{
		iClickThroughUrl = HBufC::NewL(aStream, maxlen);
		}
	maxlen = aStream.ReadInt32L();
	if(maxlen!=0)
		{
		iImgUrl.Close();
		iImgUrl.CreateL(aStream, maxlen);			
		}
	

	IRLOG_DEBUG( "CIRBrowseChannelItems::InternalizeL - Exiting." );
	}  
	


// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetBitrate()
//Set data for 3bitrates
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBitrate(const TDesC &aBitrate1,
	const TDesC &aBitrate2,const TDesC &aBitrate3)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate3 - Entering" );
	TLex var1(aBitrate1);
	var1.Val(iBitrate1);
	TLex var2(aBitrate2);
	var2.Val(iBitrate2);
	TLex var3(aBitrate3);
	var3.Val(iBitrate3);	
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate3 - Exiting." );
	}
	

// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetBitrate()
//Set data for 2 bitrates
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBitrate(const TDesC &aBitrate1,
	const TDesC &aBitrate2)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate2 - Entering" );
	TLex var1(aBitrate1);
	var1.Val(iBitrate1);
	TLex var2(aBitrate2);
	var2.Val(iBitrate2);
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate2 - Exiting." );
	}
	

// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetBitrate()
//Set data for 1 bitrate
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBitrate(const TDesC &aBitrate1)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate1 - Entering" );
	TLex var1(aBitrate1);
	var1.Val(iBitrate1);	
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate1 - Exiting." );
	}

// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetBannerUrl()
//Set data namely BannerUrl
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBannerUrl(const TDesC& aBannerUrl)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBannerUrl - Entering" );
	iBannerUrl = aBannerUrl.Alloc();
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetBannerUrl - Exiting." );
	}
	

// ---------------------------------------------------------------------------
//CIRBrowseChannelItems::SetBannerUrl()
//Set data namely BannerUrl
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetClickThroughUrl(const TDesC& aClickThroughUrl)
	{
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetClickThroughUrl - Entering" );
	iClickThroughUrl = aClickThroughUrl.Alloc();
	IRLOG_DEBUG( "CIRBrowseChannelItems::SetClickThroughUrl - Exiting." );
	}