--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/clientapi/src/CIptvVodContentContentBriefDetails.cpp Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,269 @@
+/*
+* Copyright (c) 2004-2005 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 "CIptvVodContentContentBriefDetails.h"
+#include "CIptvMyVideosGlobalFileId.h"
+
+// CONSTANTS
+const TInt KTUint32SizeInBytes = 4;
+const TInt KTUint16SizeInBytes = 2;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// CIptvVodContentContentBriefDetails::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------
+//
+void CIptvVodContentContentBriefDetails::ConstructL()
+ {
+ iFileId = CIptvMyVideosGlobalFileId::NewL();
+ iPreviewGlobalFileId = CIptvMyVideosGlobalFileId::NewL();
+ }
+
+// ---------------------------------------------------------
+// CIptvVodContentContentBriefDetails::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+EXPORT_C CIptvVodContentContentBriefDetails* CIptvVodContentContentBriefDetails::NewL()
+ {
+ CIptvVodContentContentBriefDetails* self = new(ELeave) CIptvVodContentContentBriefDetails();
+ CleanupStack::PushL(self);
+
+ self->ConstructL();
+
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CIptvVodContentContentBriefDetails::~CIptvVodContentContentBriefDetails
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CIptvVodContentContentBriefDetails::~CIptvVodContentContentBriefDetails()
+ {
+ delete iFileId;
+ delete iPreviewGlobalFileId;
+ delete iBrowserUrl;
+ }
+
+// ---------------------------------------------------------
+// CIptvVodContentContentBriefDetails::CIptvVodContentContentBriefDetails
+// C++ default constructor
+// ---------------------------------------------------------
+//
+CIptvVodContentContentBriefDetails::CIptvVodContentContentBriefDetails()
+ {
+ }
+
+// ---------------------------------------------------------
+// Set browser URL
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CIptvVodContentContentBriefDetails::SetBrowserUrlL(const TDesC& aBrowserUrl)
+ {
+ if (aBrowserUrl.Length() > 0)
+ {
+ delete iBrowserUrl;
+ iBrowserUrl = NULL;
+ iBrowserUrl = HBufC::NewL(aBrowserUrl.Length());
+ TPtr16 p = iBrowserUrl->Des();
+ p.Copy(aBrowserUrl);
+ }
+ }
+
+// ---------------------------------------------------------
+// Get browser URL
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TPtrC CIptvVodContentContentBriefDetails::GetBrowserUrlL()
+ {
+ if (iBrowserUrl)
+ {
+ return iBrowserUrl->Des();
+ }
+
+ return TPtrC();
+ }
+
+// ---------------------------------------------------------
+// Externalize
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvVodContentContentBriefDetails::ExternalizeL(RWriteStream& aStream) const
+ {
+ // Global file id
+ iFileId->ExternalizeL(aStream);
+
+ // Preview global file id
+ iPreviewGlobalFileId->ExternalizeL(aStream);
+
+ // Content ID indetifier.
+ aStream.WriteUint32L(iContentId);
+
+ // Content name
+ CIptvUtil::WriteDesToStreamL(iName, aStream);
+
+ // Complete thumbnail load path.
+ CIptvUtil::WriteDesToStreamL(iThumbnailPath, aStream);
+
+ // PubDate
+ TInt64 time = iPubDate.Int64();
+ TUint32 lower = (0x00000000FFFFFFFFULL) & time;
+ TUint32 upper = (0x00000000FFFFFFFFULL) & (time >> 32);
+ aStream.WriteUint32L(lower);
+ aStream.WriteUint32L(upper);
+
+ // Browser url
+ if (iBrowserUrl)
+ {
+ CIptvUtil::WriteDesToStreamL(*iBrowserUrl, aStream);
+ }
+ else
+ {
+ aStream.WriteUint16L(0);
+ }
+
+ // Size
+ aStream.WriteUint32L(iSize);
+
+ // Duration (playtime)
+ aStream.WriteUint32L(iPlaytime);
+
+ // Language
+ CIptvUtil::WriteDesToStreamL(iLanguage, aStream);
+
+ // Rating age.
+ aStream.WriteUint16L( iRatingAge );
+ }
+
+// ---------------------------------------------------------
+// Internalize
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CIptvVodContentContentBriefDetails::InternalizeL(RReadStream& aStream)
+ {
+ // Global file id
+ iFileId->InternalizeL(aStream);
+
+ // Preview global file id
+ iPreviewGlobalFileId->InternalizeL(aStream);
+
+ // Content ID indetifier.
+ iContentId = aStream.ReadUint32L();
+
+ // Content name
+ CIptvUtil::ReadDesFromStreamL(iName, aStream);
+
+ // Thumbnail path
+ CIptvUtil::ReadDesFromStreamL(iThumbnailPath, aStream);
+
+ // PubDate
+ TUint32 lower = aStream.ReadUint32L();
+ TUint32 upper = aStream.ReadUint32L();
+ TInt64 time = 0;
+ time = lower;
+ TInt64 longUpper = (TInt64) upper;
+ longUpper = longUpper << 32;
+ longUpper &= (0xFFFFFFFF00000000ULL);
+ time |= longUpper;
+ iPubDate = time;
+
+ // Browser url
+ delete iBrowserUrl;
+ iBrowserUrl = NULL;
+ iBrowserUrl = HBufC::NewL(KIptvEpgContentBrowserUrlMaxLength);
+ TPtr16 p = iBrowserUrl->Des();
+ CIptvUtil::ReadDesFromStreamL(p, aStream);
+ iBrowserUrl = iBrowserUrl->ReAllocL(iBrowserUrl->Length());
+
+ // Size
+ iSize = aStream.ReadUint32L();
+
+ // Duration (playtime)
+ iPlaytime = aStream.ReadUint32L();
+
+ // Language
+ CIptvUtil::ReadDesFromStreamL(iLanguage, aStream);
+
+ // Rating age.
+ iRatingAge = aStream.ReadUint16L();
+ }
+
+// ---------------------------------------------------------
+// Count externalized size
+//
+// ---------------------------------------------------------
+//
+EXPORT_C TUint32 CIptvVodContentContentBriefDetails::CountExternalizeSize()
+ {
+ TUint32 size = 0;
+ TUint32 browserUrlSize = 0;
+
+ if (iBrowserUrl)
+ {
+ browserUrlSize = (iBrowserUrl->Length() * 2);
+ }
+
+ // Global file id
+ size = iFileId->CountExternalizeSize() +
+
+ // Preview global file id
+ iPreviewGlobalFileId->CountExternalizeSize() +
+
+ // Content ID indetifier.
+ KTUint32SizeInBytes +
+
+ // Content name
+ KTUint16SizeInBytes + (iName.Length() * 2) +
+
+ // Thumbnail path
+ KTUint16SizeInBytes + (iThumbnailPath.Length() * 2) +
+
+ // pubDate
+ ( KTUint32SizeInBytes * 2 ) +
+
+ // Browser url
+ KTUint16SizeInBytes + browserUrlSize +
+
+ // Size
+ KTUint32SizeInBytes +
+
+ // Duration (playtime)
+ KTUint32SizeInBytes +
+
+ // Language
+ KTUint16SizeInBytes + (iLanguage.Length() * 2) +
+
+ // Rating age.
+ KTUint16SizeInBytes;
+
+ return size;
+ }
+
+// End of file.