diff -r 000000000000 -r 96612d01cf9f videofeeds/utils/inc/CIptvMediaContent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/utils/inc/CIptvMediaContent.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,230 @@ +/* +* Copyright (c) 2004-2008 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: Utilities to handle media content.* +*/ + + + + +#ifndef CIPTVMEDIACONTENT_H +#define CIPTVMEDIACONTENT_H + +#include +#include +#include "CIptvUtil.h" +#include "IptvDebug.h" + +const TInt KIptvMediumMaxLength = 10; + +/** + * Utility class for handling media content. + * + * @lib IptvUtil.lib + * @since Video Center 2.0 + */ +class CIptvMediaContent : public CBase + { + public: + + /** + * Two-phased constructor. + * @param + */ + IMPORT_C static CIptvMediaContent* NewL(); + + /** + * Destructor. + */ + virtual ~CIptvMediaContent(); + + /** + * Print + */ + IMPORT_C void PrintL(); + + /** + * Externalize. + */ + IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; + + /** + * Internalize. + */ + IMPORT_C void InternalizeL( RReadStream& aStream ); + + /** + * Count externalized size. + */ + IMPORT_C TUint32 CountExternalizeSize(); + + /** + * Set media URL. + */ + IMPORT_C void SetMediaContentUrlL( const TDesC& aBrowserUrl ); + + /** + * Get media URL. + */ + IMPORT_C TPtrC GetMediaContentUrl() const; + + private: // New functions + + /** + * C++ default constructor. + */ + CIptvMediaContent(); + + public: // Data members + + /** + * Expression types + */ + enum TExpression + { + EFull = 0, + ESample, + ENonStop + }; + + /** + * Content key (same as content id) + */ + TUint32 iContentKey; + + /** + * Index (This index identifies content access objects which + * belong to some content defined by iContentKey) + */ + TUint32 iIndex; + + /** + * Download type. + */ + TUint32 iDownloadType; + + /** + * File id (Part of global file id (1/2) + */ + TUint32 iFileId; + + /** + * Drive id (Part of global file id (2/2) + */ + TUint32 iDriveId; + + /** + * File size (MRSS) + */ + TUint32 iFileSize; + + /** + * Mime-type (MRSS) + */ + TBuf iMimeType; + + /** + * Medium (MRSS) (Not used in client side) + * Medium is the type of object + * (image | audio | video | document | executable). + * While this attribute can at times seem redundant if type is supplied, + * it is included because it simplifies decision making on the reader + * side, as well as flushes out any ambiguities between MIME type and + * object type. It is an optional attribute. + */ + TBuf iMedium; + + /** + * Is default. (MRSS) (Not used in client side) + * isDefault determines if this is the default object that should be + * used for the . There should only be one default object + * per . It is an optional attribute. + */ + TBool iIsDefault; + + /** + * Expression. (MRSS) + * Expression determines if the object is a sample or the full version + * of the object, or even if it is a continuous stream + * (sample | full | nonstop). Default value is 'full'. + * It is an optional attribute + */ + TUint32 iExpression; + + /** + * Bitrate. (MRSS) (Not used in client side) + * Bitrate is the kilobits per second rate of media. + * It is an optional attribute + */ + TUint32 iBitrate; + + /** + * Framerate. (MRSS) (Not used in client side) + * Framerate is the number of frames per second for the media object. + * It is an optional attribute + */ + TUint32 iFramerate; + + /** + * Samplingrate (MRSS) (Not used in client side) + * Samplingrate is the number of samples per second taken to create + * the media object. It is expressed in thousands of samples + * per second (kHz). It is an optional attribute. + */ + TUint32 iSamplingrate; + + /** + * Duration. (MRSS) + * Duration is the number of seconds the media object plays. + * It is an optional attribute. + */ + TUint32 iDuration; + + /** + * Height. (MRSS) (Not used in client side) + * Height is the height of the media object. It is an optional attribute. + */ + TUint32 iHeight; + + /** + * Width. (MRSS) (Not used in client side) + * Width is the width of the media object. It is an optional attribute. + */ + TUint32 iWidth; + + /** + * Language. (MRSS) + * Lang is the primary language encapsulated in the media object. + * Language codes possible are detailed in + * RFC 3066. This attribute is used similar to the xml:lang attribute + * detailed in the XML 1.0 Specification (Third Edition). + * It is an optional attribute. + */ + TBuf iLanguage; + + /** + * Last viewing position of this video. + */ + TUint32 iLastPosition; + + private: + + /** + * Content URL (MRSS) + * Own. + */ + HBufC* iMediaContentUrl; + + }; + +#endif // CIPTVMEDIACONTENT_H