engine/src/ShowInfo.cpp
changeset 2 29cda98b007e
child 60 4d230e702aa3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/engine/src/ShowInfo.cpp	Thu Feb 25 14:29:19 2010 +0000
@@ -0,0 +1,245 @@
+/*
+* Copyright (c) 2007-2010 Sebastian Brannstrom, Lars Persson, EmbedDev AB
+*
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:
+* EmbedDev AB - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ShowInfo.h"
+#include <e32hashtab.h>
+
+EXPORT_C CShowInfo* CShowInfo::NewL(TUint aVersion)
+	{
+	CShowInfo* self = CShowInfo::NewLC(aVersion);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CShowInfo* CShowInfo::NewLC(TUint /*aVersion*/) {
+	CShowInfo* self = new (ELeave) CShowInfo();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+void CShowInfo::ConstructL()
+	{
+	iDownloadState = ENotDownloaded;
+	iDelete = EFalse;
+	iShowType = EAudioPodcast;
+	}
+
+CShowInfo::CShowInfo()
+	{
+	iTrackNo = KMaxTUint; 
+	}
+
+EXPORT_C CShowInfo::~CShowInfo()
+	{
+	delete iTitle;
+	delete iUrl;
+	delete iDescription;
+	delete iFileName;
+	}
+
+EXPORT_C const TDesC& CShowInfo::Title() const
+	{
+	return iTitle ? *iTitle : KNullDesC();
+	}
+
+EXPORT_C void CShowInfo::SetTitleL(const TDesC &aTitle)
+	{
+	if (iTitle)
+		{
+		delete iTitle;
+		iTitle = NULL;
+		}
+	iTitle = aTitle.AllocL();
+	}
+
+EXPORT_C const TDesC& CShowInfo::Url() const
+	{
+	return iUrl ? *iUrl : KNullDesC();
+	}
+
+EXPORT_C void CShowInfo::SetUrlL(const TDesC &aUrl)
+	{
+	if (iUrl)
+		{
+		delete iUrl;
+		iUrl = NULL;
+		}
+	iUrl = aUrl.AllocL();
+	iUid = DefaultHash::Des16(Url());
+	}
+
+EXPORT_C const TDesC& CShowInfo::Description() const
+	{
+	return iDescription ? *iDescription : KNullDesC();
+	}
+
+EXPORT_C void CShowInfo::SetDescriptionL(const TDesC &aDescription)
+	{
+	if (iDescription)
+		{
+		delete iDescription;
+		iDescription = NULL;
+		}
+
+	iDescription = aDescription.AllocL();
+	}
+
+EXPORT_C TTimeIntervalMicroSeconds CShowInfo::Position() const
+	{
+	return iPosition;
+	}
+
+EXPORT_C void CShowInfo::SetPosition(TTimeIntervalMicroSeconds aPosition)
+	{
+	iPosition = aPosition;
+	}
+
+EXPORT_C TUint CShowInfo::PlayTime() const
+	{
+	return iPlayTime;
+	}
+
+EXPORT_C void CShowInfo::SetPlayTime(TUint aPlayTime)
+	{
+	iPlayTime = aPlayTime;
+	}
+
+EXPORT_C TPlayState CShowInfo::PlayState() const
+	{
+	return iPlayState;
+	}
+
+EXPORT_C void CShowInfo::SetPlayState(TPlayState aPlayState)
+	{
+	iPlayState = aPlayState;
+	}
+
+EXPORT_C TDownloadState CShowInfo::DownloadState() const
+	{
+	return iDownloadState;
+	}
+
+EXPORT_C void CShowInfo::SetDownloadState(TDownloadState aDownloadState)
+	{
+	iDownloadState = aDownloadState;
+	}
+
+EXPORT_C TUint CShowInfo::FeedUid() const
+	{
+	return iFeedUid;
+	}
+
+EXPORT_C void CShowInfo::SetFeedUid(TUint aFeedUid)
+	{
+	iFeedUid = aFeedUid;
+	}
+
+EXPORT_C void CShowInfo::SetUid(TUint aUid)
+	{
+	iUid = aUid;
+	}
+		
+EXPORT_C TUint CShowInfo::Uid() const
+	{
+	return iUid;
+	}
+
+EXPORT_C TUint CShowInfo::ShowSize() const
+	{
+	return iShowSize;
+	}
+
+EXPORT_C void CShowInfo::SetShowSize(TUint aShowSize)
+	{
+	iShowSize = aShowSize;
+	}
+
+EXPORT_C const TTime CShowInfo::PubDate() const
+	{
+	return iPubDate;
+	}
+
+EXPORT_C void CShowInfo::SetPubDate(TTime aPubDate)
+	{
+	iPubDate = aPubDate;
+	}
+
+EXPORT_C const TDesC& CShowInfo::FileName() const
+	{
+	return iFileName ? *iFileName : KNullDesC();
+	}
+
+EXPORT_C void CShowInfo::SetFileNameL(const TDesC &aFileName)
+	{
+	if (iFileName)
+		{
+		delete iFileName;
+		iFileName = NULL;
+		}
+	iFileName = aFileName.AllocL();
+	}
+
+EXPORT_C void CShowInfo::SetShowType(TShowType aShowType)
+	{
+	iShowType = aShowType;
+	}
+
+EXPORT_C TShowType CShowInfo::ShowType() const
+	{
+	return iShowType;
+	}
+
+EXPORT_C void CShowInfo::SetTrackNo(TUint aTrackId)
+	{
+	iTrackNo = aTrackId;
+	}
+
+EXPORT_C TUint CShowInfo::TrackNo() const
+	{
+	return iTrackNo;
+	}
+
+EXPORT_C CShowInfo::CShowInfo(CShowInfo *aInfo)
+	{
+	iTitle = aInfo->Title().Alloc();
+	iUrl = aInfo->Url().Alloc();
+	iDescription = aInfo->Description().Alloc();
+	iFileName = aInfo->FileName().Alloc();
+	iPosition = aInfo->Position();
+	iPlayTime = aInfo->PlayTime();
+	iPlayState = aInfo->PlayState();
+	iDownloadState = aInfo->DownloadState();
+	iFeedUid = aInfo->FeedUid();
+	iUid = aInfo->Uid();
+	iShowSize = aInfo->ShowSize();
+	iTrackNo = aInfo->TrackNo();
+	iPubDate = aInfo->PubDate();
+	iShowType = aInfo->ShowType();
+	iLastError = aInfo->LastError();
+	}
+
+EXPORT_C void CShowInfo::SetLastError(TInt aLastError)
+	{
+	iLastError = aLastError;
+	}
+
+EXPORT_C TInt CShowInfo::LastError() const
+	{
+	return iLastError;
+	}