internetradio2.0/ircommon/src/irlastplayedsongs.cpp
changeset 14 896e9dbc5f19
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/ircommon/src/irlastplayedsongs.cpp	Wed Aug 18 09:40:26 2010 +0300
@@ -0,0 +1,192 @@
+/*
+ * 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;
+	}
+