internetradio2.0/ircommon/src/irlastplayedsongs.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 09:40:26 +0300
changeset 14 896e9dbc5f19
permissions -rw-r--r--
Revision: 201031 Kit: 201033

/*
 * Copyright (c) 2009 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:
 *
 */

#include <s32strm.h>

#include "irdebug.h"
#include "irlastplayedsongs.h"

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

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

// ---------------------------------------------------------------------------
// Function : NewL
// Function returns an instance of CIRLastPlayedSongs
// Two phase constructor
// ---------------------------------------------------------------------------
//
EXPORT_C CIRLastPlayedSongs* CIRLastPlayedSongs::NewL()
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::NewL - Entering" );
	CIRLastPlayedSongs* self = CIRLastPlayedSongs::NewLC();
	CleanupStack::Pop( self );
	IRLOG_DEBUG( "CIRLastPlayedSongs::NewL - Exiting." );
	return self;
	}


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


// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::~CIRLastPlayedSongs()
// standard C++ destructor
// ---------------------------------------------------------------------------
//
CIRLastPlayedSongs::~CIRLastPlayedSongs()
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::~CIRLastPlayedSongs - Entering" );
	delete iSongName;
	iSongName = NULL;
	delete iArtistName;
	iArtistName = NULL;
	IRLOG_DEBUG( "CIRLastPlayedSongs::~CIRLastPlayedSongs - Exiting." );
	}


// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::SetSongName()
// Function to set song name from a TDesC
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRLastPlayedSongs::SetSongName( const TDesC& aSongName )
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::SetSongName - Entering" );
	iSongName = aSongName.Alloc();
	IRLOG_DEBUG( "CIRLastPlayedSongs::SetSongName - Exiting." );
	}


// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::GetSongName()
// Function to get song name from a TDesC
// ---------------------------------------------------------------------------
//
EXPORT_C TDesC& CIRLastPlayedSongs::GetSongName()
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::GetSongName" );
	return *iSongName;
	}


// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::SetArtistName()
// Function to set artist name from a TDesC
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRLastPlayedSongs::SetArtistName( const TDesC& aArtistName )
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::SetArtistName - Entering" );
	iArtistName = aArtistName.Alloc();
	IRLOG_DEBUG( "CIRLastPlayedSongs::SetArtistName - Exiting." );
	}


// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::GetArtistName()
// Function to get artist name from a TDesC
// ---------------------------------------------------------------------------
//
EXPORT_C TDesC& CIRLastPlayedSongs::GetArtistName()
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::GetArtistName" );
	return *iArtistName;
	}
	

// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::ExternalizeL()
// externalizes the data
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRLastPlayedSongs::ExternalizeL( RWriteStream& aWriteStream )
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::ExternalizeL - Entering" );
	TInt32 len = iSongName->Length();
	TRAP_IGNORE( aWriteStream.WriteInt32L( len ) )
	aWriteStream << *iSongName;
	len = iArtistName->Length();
	TRAP_IGNORE( aWriteStream.WriteInt32L( len ) )
	aWriteStream << *iArtistName;	
	IRLOG_DEBUG( "CIRLastPlayedSongs::ExternalizeL - Exiting." );	
	}
	

// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::InternalizeL()
// internalizes the data
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRLastPlayedSongs::InternalizeL( RReadStream& aReadStream )
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::InternalizeL - Entering" );
	TInt8 len;
	len = aReadStream.ReadInt8L();
	iSongName = HBufC::NewL( aReadStream, len );
	len=aReadStream.ReadInt8L();
	iArtistName = HBufC::NewL( aReadStream, len) ;
	IRLOG_DEBUG( "CIRLastPlayedSongs::InternalizeL - Exiting." );
	}
		

// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::=()
// standard C++ copy constructor(deep copy) 
// ---------------------------------------------------------------------------
//	
EXPORT_C CIRLastPlayedSongs& CIRLastPlayedSongs::operator = ( const 
	CIRLastPlayedSongs& aSng )
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::operator= - Entering" );
	 if ( &aSng == this )
		{
		return *this;
		}
	 
	iArtistName = aSng.iArtistName;
	iSongName = aSng.iSongName;
	IRLOG_DEBUG( "CIRLastPlayedSongs::operator= - Exiting." );
	return *this;
	}


// ---------------------------------------------------------------------------
// CIRLastPlayedSongs::ConstructL()
// standard second phase constructor
// ---------------------------------------------------------------------------
//
void CIRLastPlayedSongs::ConstructL()
	{
	IRLOG_DEBUG( "CIRLastPlayedSongs::ConstructL" );
	return;
	}