--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/clientapi/src/CIptvMyVideosVideoBriefDetails.cpp Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,319 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* 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:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Defines data class structure for the API*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <s32strm.h>
+#include "CIptvMyVideosVideoBriefDetails.h"
+
+// CONSTANTS
+const TInt KTUint32SizeInBytes = 4;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::CIptvMyVideosVideoBriefDetails
+// ---------------------------------------------------------
+//
+CIptvMyVideosVideoBriefDetails::CIptvMyVideosVideoBriefDetails()
+ : iVideoFlags((TIptvMyVideosVideoFlags)0),
+ iDownloadTime(2005,(TMonth)0,1,0,0,0,0),
+ iContentId(0),
+ iServiceId(0)
+ {
+ // Note: The initial value of iDownloadTime is used in comparisons on DB level.
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::ConstructL
+// ---------------------------------------------------------
+//
+void CIptvMyVideosVideoBriefDetails::ConstructL()
+ {
+ iFileId = CIptvMyVideosGlobalFileId::NewL();
+
+ iThumbnailPath = HBufC::NewL( 0 );
+ iName = HBufC::NewL( 0 );
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CIptvMyVideosVideoBriefDetails* CIptvMyVideosVideoBriefDetails::NewL()
+ {
+ CIptvMyVideosVideoBriefDetails* self = CIptvMyVideosVideoBriefDetails::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::NewLC
+// ---------------------------------------------------------
+//
+EXPORT_C CIptvMyVideosVideoBriefDetails* CIptvMyVideosVideoBriefDetails::NewLC()
+ {
+ CIptvMyVideosVideoBriefDetails* self = new (ELeave) CIptvMyVideosVideoBriefDetails();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::~CIptvMyVideosVideoBriefDetails
+// ---------------------------------------------------------
+//
+CIptvMyVideosVideoBriefDetails::~CIptvMyVideosVideoBriefDetails()
+ {
+ delete iFileId;
+ delete iThumbnailPath;
+ delete iName;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::ExternalizeL
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvMyVideosVideoBriefDetails::ExternalizeL(RWriteStream& aStream) const
+ {
+ // Global file ID identifier.
+ iFileId->ExternalizeL(aStream);
+
+ // Thumbnail path.
+ CIptvUtil::WriteHBufCToStreamL( iThumbnailPath, aStream );
+
+ // Video flags.
+ aStream.WriteUint32L(static_cast<TUint32>(iVideoFlags));
+
+ // Video name.
+ CIptvUtil::WriteHBufCToStreamL( iName, aStream );
+
+ // Download time.
+ aStream.WriteInt32L(iDownloadTime.Year());
+ aStream.WriteUint32L(static_cast<TUint32>(iDownloadTime.Month()));
+ aStream.WriteInt32L(iDownloadTime.Day());
+ aStream.WriteInt32L(iDownloadTime.Hour());
+ aStream.WriteInt32L(iDownloadTime.Minute());
+ aStream.WriteInt32L(iDownloadTime.Second());
+ aStream.WriteInt32L(iDownloadTime.MicroSecond());
+
+ // Content Id (from service provider data).
+ aStream.WriteUint32L(iContentId);
+
+ // Original service provider.
+ aStream.WriteUint32L(iServiceId);
+
+ // Age profile / rating age.
+ aStream.WriteUint32L( iAgeProfile );
+
+ // File size
+ aStream.WriteInt32L( iFileSize );
+
+ // Play time
+ aStream.WriteReal32L( iPlayTime );
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::InternalizeL
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvMyVideosVideoBriefDetails::InternalizeL(RReadStream& aStream)
+ {
+ // Global file ID identifier.
+ iFileId->InternalizeL(aStream);
+
+ // Thumbnail path.
+ HBufC* temp = CIptvUtil::ReadHBufCFromStreamL( aStream );
+ delete iThumbnailPath;
+ iThumbnailPath = temp;
+
+ // Video flags.
+ iVideoFlags = static_cast<TIptvMyVideosVideoFlags>(aStream.ReadUint32L());
+
+ // Video name.
+ temp = CIptvUtil::ReadHBufCFromStreamL( aStream );
+ delete iName;
+ iName = temp;
+
+ // Download time.
+ iDownloadTime.SetYear(aStream.ReadInt32L());
+ iDownloadTime.SetMonth(static_cast<TMonth>(aStream.ReadUint32L()));
+ iDownloadTime.SetDay(aStream.ReadInt32L());
+ iDownloadTime.SetHour(aStream.ReadInt32L());
+ iDownloadTime.SetMinute(aStream.ReadInt32L());
+ iDownloadTime.SetSecond(aStream.ReadInt32L());
+ iDownloadTime.SetMicroSecond(aStream.ReadInt32L());
+
+ // Content Id (from service provider data).
+ iContentId = aStream.ReadUint32L();
+
+ // Original service provider.
+ iServiceId = aStream.ReadUint32L();
+
+ // Age profile / rating age.
+ iAgeProfile = aStream.ReadUint32L();
+
+ // File size
+ iFileSize = aStream.ReadInt32L();
+
+ // Play time
+ iPlayTime = aStream.ReadReal32L();
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::CountExternalizeSize
+// ---------------------------------------------------------
+//
+EXPORT_C TUint32 CIptvMyVideosVideoBriefDetails::CountExternalizeSize()
+ {
+ TUint32 size = 0;
+
+ // Global file ID identifier.
+ size = (iFileId->CountExternalizeSize()) +
+
+ // Thumbnail path.
+ KTUint32SizeInBytes + (iThumbnailPath->Length() * 2) +
+
+ // Video flags.
+ KTUint32SizeInBytes +
+
+ // Video name.
+ KTUint32SizeInBytes + (iName->Length() * 2) +
+
+ // Download time.
+ (7 * KTUint32SizeInBytes) +
+
+ // Content Id.
+ KTUint32SizeInBytes +
+
+ // Original service provider.
+ KTUint32SizeInBytes +
+
+ // Age profile / rating age.
+ KTUint32SizeInBytes +
+
+ // File size
+ sizeof(iFileSize) +
+
+ // Play time
+ sizeof(iPlayTime);
+
+ return size;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::PlayTime
+// ---------------------------------------------------------
+//
+EXPORT_C TReal32 CIptvMyVideosVideoBriefDetails::PlayTime()
+ {
+ return iPlayTime;
+ }
+
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::SetPlayTime
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvMyVideosVideoBriefDetails::SetPlayTime(
+ TReal32 aPlayTime )
+ {
+ iPlayTime = aPlayTime;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::SetPlayTime
+// ---------------------------------------------------------
+//
+EXPORT_C TInt CIptvMyVideosVideoBriefDetails::FileSize()
+ {
+ return iFileSize;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::SetPlayTime
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvMyVideosVideoBriefDetails::SetFileSize(
+ TInt aSize )
+ {
+ iFileSize = aSize;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::SetThumbnailPathL
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvMyVideosVideoBriefDetails::SetThumbnailPathL( const TDesC& aThumbnailPath )
+ {
+ if ( aThumbnailPath.Length() > KIptvEpgCategoryIconFilePathMaxLength )
+ {
+ User::Leave( KErrArgument );
+ }
+
+ HBufC* temp = aThumbnailPath.AllocL();
+ delete iThumbnailPath;
+ iThumbnailPath = temp;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::ThumbnailPath
+// ---------------------------------------------------------
+//
+EXPORT_C const TDesC& CIptvMyVideosVideoBriefDetails::ThumbnailPath() const
+ {
+ if ( iThumbnailPath )
+ {
+ return *iThumbnailPath;
+ }
+
+ return KIptvEmptyDes;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::SetNameL
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvMyVideosVideoBriefDetails::SetNameL( const TDesC& aName )
+ {
+ if ( aName.Length() > KIptvMyVideosNameMaxLength )
+ {
+ User::Leave( KErrArgument );
+ }
+
+ HBufC* temp = aName.AllocL();
+ delete iName;
+ iName = temp;
+ }
+
+// ---------------------------------------------------------
+// CIptvMyVideosVideoBriefDetails::Name
+// ---------------------------------------------------------
+//
+EXPORT_C const TDesC& CIptvMyVideosVideoBriefDetails::Name() const
+ {
+ if ( iName )
+ {
+ return *iName;
+ }
+
+ return KIptvEmptyDes;
+ }
+
+// End of file.