diff -r 000000000000 -r a2952bb97e68 mmappfw_plat/mpx_common_api/inc/mpxmediageneraldefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmappfw_plat/mpx_common_api/inc/mpxmediageneraldefs.h Thu Dec 17 08:55:47 2009 +0200 @@ -0,0 +1,494 @@ +/* +* 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 "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: Definitions for general media type +* +*/ + + + +#ifndef CMPXMEDIAGENERALDEFS_H +#define CMPXMEDIAGENERALDEFS_H + + +#include +#include + +/** +* Content ID identifying general category of content provided +* in the media object and associated attributes. This should +* be supported by ALL media objects as a common base +*/ + +const TInt KMPXMediaIdGeneral=0x101FFC40; +/** +* Attributes supported for KMPXMediaIdGeneral +*/ +/** +* TMPXGeneralType}; see below for enum definition +*/ +const TMPXAttributeData KMPXMediaGeneralType={KMPXMediaIdGeneral,0x01}; + +/** +* TMPXGeneralCategory}; see below for enum definition +*/ +const TMPXAttributeData KMPXMediaGeneralCategory={KMPXMediaIdGeneral,0x02}; + +/** +* Descriptor. File path if local (excluding scheme). +*/ +const TMPXAttributeData KMPXMediaGeneralUri={KMPXMediaIdGeneral,0x04}; + +/** +* Descriptor. Drive}; if local (and physical) +*/ +const TMPXAttributeData KMPXMediaGeneralDrive={KMPXMediaIdGeneral,0x08}; + +/** +* TInt}; in bytes +*/ +const TMPXAttributeData KMPXMediaGeneralSize={KMPXMediaIdGeneral,0x10}; + +/** +* TInt. +* 0 if static}; KMaxTInt if continous stream. If container}; +* then duration applies to sum of contents +*/ +const TMPXAttributeData KMPXMediaGeneralDuration={KMPXMediaIdGeneral,0x20}; + +/** +* Descriptor +*/ +const TMPXAttributeData KMPXMediaGeneralTitle={KMPXMediaIdGeneral,0x40}; + +/** +* TTime.Int64(). Storing as TTime instead TInt64 +* will result in compilation warning. +*/ +const TMPXAttributeData KMPXMediaGeneralDate={KMPXMediaIdGeneral,0x80}; + +/** +* Descriptor +*/ +const TMPXAttributeData KMPXMediaGeneralComment={KMPXMediaIdGeneral,0x100}; + +/** +* Descriptor +*/ +const TMPXAttributeData KMPXMediaGeneralMimeType={KMPXMediaIdGeneral,0x200}; + +/** +* CFbsBitmap - for now could +* be file path in future to enable easier +* porting of client (i.e. UI) +*/ +const TMPXAttributeData KMPXMediaGeneralThumbnail1={KMPXMediaIdGeneral,0x400}; + +/** +* CFbsBitmap - for now could +* be file path in future to enable easier +* porting of client (i.e. UI) +*/ +const TMPXAttributeData KMPXMediaGeneralThumbnail2={KMPXMediaIdGeneral,0x800}; + +/** +* TIconInfo - Bitmap +*/ +const TMPXAttributeData KMPXMediaGeneralIcon={KMPXMediaIdGeneral,0x1000}; + +/** +* TBool +*/ +const TMPXAttributeData KMPXMediaGeneralRemote={KMPXMediaIdGeneral,0x2000}; + +/** +* TBool +*/ +const TMPXAttributeData KMPXMediaGeneralSynchronized={KMPXMediaIdGeneral,0x4000}; + +/** +* TBool +*/ +const TMPXAttributeData KMPXMediaGeneralDeleted={KMPXMediaIdGeneral,0x8000}; + +/** +* TBool +*/ +const TMPXAttributeData KMPXMediaGeneralModified ={KMPXMediaIdGeneral, 0x10000}; + +/** +* TInt. Number of items (if container}; else +* would trivially be 1) +*/ +const TMPXAttributeData KMPXMediaGeneralCount={KMPXMediaIdGeneral,0x20000}; + +/** +* TMPXItemId (as def'd in CollectionPath) +* ID of item +*/ +const TMPXAttributeData KMPXMediaGeneralId={KMPXMediaIdGeneral,0x40000}; + +/** +* Collection id of this media +*/ +const TMPXAttributeData KMPXMediaGeneralCollectionId={KMPXMediaIdGeneral,0x80000}; + +/** +* TBool}; indicates if Uri is a broken link +* DEPRECATED - TO BE REMOVED IN INCREMENT 9 RELEASE +* This attribute has been replaced by +* KMPXMediaGeneralFlagsIsInvalid bit in +* const TMPXAttributeData KMPXMediaGeneralFlags +*/ +const TMPXAttributeData KMPXMediaGeneralBrokenLink={KMPXMediaIdGeneral,0x100000}; + +/** +* TUint}; indicates which rights an end user +* does not have to perform on the media. +* Non-permissible actions are defined in +* TMPXGeneralNonPermissibleActions. Values +* can be combined. +*/ +const TMPXAttributeData KMPXMediaGeneralNonPermissibleActions={KMPXMediaIdGeneral,0x200000}; + +/** +* TMPXItemId (as def'd in CollectionPath) +* ID of item's container or container +*/ +const TMPXAttributeData KMPXMediaGeneralContainerId={KMPXMediaIdGeneral,0x400000}; + +/** +* Descriptor}; subtitle for this media +*/ +const TMPXAttributeData KMPXMediaGeneralSubTitle={KMPXMediaIdGeneral,0x800000}; + +/** +* Copyright information +*/ +const TMPXAttributeData KMPXMediaGeneralCopyright={KMPXMediaIdGeneral,0x1000000}; + +/** +* Flags stored in the database}; TUint +*/ +const TMPXAttributeData KMPXMediaGeneralFlags={KMPXMediaIdGeneral,0x2000000}; + +/** +* Last playback position}; TInt +*/ +const TMPXAttributeData KMPXMediaGeneralLastPlaybackPosition={KMPXMediaIdGeneral,0x4000000}; + +/** +* Last playback Time +* TTime.Int64(). Storing as TTime instead TInt64 +* will result in compilation warning. +*/ +const TMPXAttributeData KMPXMediaGeneralLastPlaybackTime={KMPXMediaIdGeneral,0x8000000}; + +/** +* Play Count}; TUInt +*/ +const TMPXAttributeData KMPXMediaGeneralPlayCount={KMPXMediaIdGeneral,0x10000000}; + +/** +* Media container path +*/ +const TMPXAttributeData KMPXMediaGeneralContainerPath={KMPXMediaIdGeneral,0x20000000}; + +/** +* Media collection path}; CMPXCollectionPath +*/ +const TMPXAttributeData KMPXMediaGeneralPath={KMPXMediaIdGeneral,0x40000000}; + +/** TInt +* +* A single word of general value users defined +* +* In practice, this word can be used to hold a pointer to allocated +* memory; this makes that memory available to all code running on behalf +* of the same thread. +* +*/ +const TMPXAttributeData KMPXMediaGeneralValue={KMPXMediaIdGeneral,0x80000000}; + +/** +* Every attribute +*/ +const TMPXAttributeData KMPXMediaGeneralAll={KMPXMediaIdGeneral,0xffffffff}; + +/** +* Basic set of attributes, typically used for browsing where minimal data is +* required. Type, category, title, duration +*/ +const TMPXAttributeData KMPXMediaGeneralBasic={KMPXMediaIdGeneral,0x01|0x02|0x20|0x40}; + +/** +* Attributes supported for KMPXMediaIdGeneral +* +* @deprecated Use the above consts +*/ +enum + { + /** + * TMPXGeneralType, see below for enum definition + */ + EMPXMediaGeneralType=0x01, + + /** + * TMPXGeneralCategory, see below for enum definition + */ + EMPXMediaGeneralCategory=0x02, + + /** + * Descriptor. File path if local (excluding scheme). + */ + EMPXMediaGeneralUri=0x04, + + /** + * Descriptor. Drive, if local (and physical) + */ + EMPXMediaGeneralDrive=0x08, + + /** + * TInt, in bytes + */ + EMPXMediaGeneralSize=0x10, + + /** + * TInt. + * 0 if static, KMaxTInt if continous stream. If container, + * then duration applies to sum of contents + */ + EMPXMediaGeneralDuration=0x20, + + /** + * Descriptor + */ + EMPXMediaGeneralTitle=0x40, + + /** + * TTime.Int64(). Storing as TTime instead TInt64 + * will result in compilation warning. + */ + EMPXMediaGeneralDate=0x80, + + /** + * Descriptor + */ + EMPXMediaGeneralComment=0x100, + + /** + * Descriptor + */ + EMPXMediaGeneralMimeType=0x200, + + /** + * CFbsBitmap - for now could + * be file path in future to enable easier + * porting of client (i.e. UI) + */ + EMPXMediaGeneralThumbnail1=0x400, + + /** + * CFbsBitmap - for now could + * be file path in future to enable easier + * porting of client (i.e. UI) + */ + EMPXMediaGeneralThumbnail2=0x800, + + /** + * TIconInfo - Bitmap + */ + EMPXMediaGeneralIcon=0x1000, + + /** + * TBool + */ + EMPXMediaGeneralRemote=0x2000, + + /** + * TBool + */ + EMPXMediaGeneralSynchronized=0x4000, + + /** + * TBool + */ + EMPXMediaGeneralDeleted=0x8000, + + /** + * TBool + */ + EMPXMediaGeneralModified = 0x10000, + + /** + * TInt. Number of items (if container, else + * would trivially be 1) + */ + EMPXMediaGeneralCount=0x20000, + + /** + * TMPXItemId (as def'd in CollectionPath) + * ID of item + */ + EMPXMediaGeneralId=0x40000, + + /** + * Collection id of this media + */ + EMPXMediaGeneralCollectionId=0x80000, + + /** + * TBool, indicates if Uri is a broken link + * DEPRECATED - TO BE REMOVED IN INCREMENT 9 RELEASE + * This attribute has been replaced by + * KMPXMediaGeneralFlagsIsInvalid bit in + * EMPXMediaGeneralFlags + */ + EMPXMediaGeneralBrokenLink=0x100000, + + /** + * TUint, indicates which rights an end user + * does not have to perform on the media. + * Non-permissible actions are defined in + * TMPXGeneralNonPermissibleActions. Values + * can be combined. + */ + EMPXMediaGeneralNonPermissibleActions=0x200000, + + /** + * TMPXItemId (as def'd in CollectionPath) + * ID of item's container or container + */ + EMPXMediaGeneralContainerId=0x400000, + + /** + * Descriptor, subtitle for this media + */ + EMPXMediaGeneralSubTitle=0x800000, + + /** + * Copyright information + */ + EMPXMediaGeneralCopyright=0x1000000, + + /** + * Flags stored in the database, TUint + */ + EMPXMediaGeneralFlags=0x2000000, + + /** + * Last playback position, TInt + */ + EMPXMediaGeneralLastPlaybackPosition=0x4000000, + + /** + * Last playback Time + * TTime.Int64(). Storing as TTime instead TInt64 + * will result in compilation warning. + */ + EMPXMediaGeneralLastPlaybackTime=0x8000000, + + /** + * Play Count, TUInt + */ + EMPXMediaGeneralPlayCount=0x10000000, + + /** + * Media container path + */ + EMPXMediaContainerPath=0x20000000, + + /** + * Media collection path, CMPXCollectionPath + */ + EMPXMediaPath=0x40000000, + + /** + * Every attribute + */ + EMPXMediaGeneralAll=0xffffffff, + + /** + * Basic set of attributes, typically used for + * browsing where minimal data is required + */ + EMPXMediaGeneralBasic=EMPXMediaGeneralType| + EMPXMediaGeneralCategory| + EMPXMediaGeneralTitle| + EMPXMediaGeneralDuration + }; + + +enum TMPXGeneralType + { + EMPXNoType, + EMPXGroup, + EMPXItem, + EMPXOtherType + }; + +enum TMPXGeneralCategory + { + EMPXNoCategory, + EMPXCollection, + EMPXPlaylist, + EMPXSong, + EMPXPodcast, + EMPXArtist, + EMPXAlbum, + EMPXGenre, + EMPXComposer, + EMPXFile, + EMPXImage, + EMPXVideo, + EMPXRadio, + EMPXMessage, + EMPXTag, + EMPXCommand, + EMPXMonth, + EMPXOther + }; + +enum TMPXGeneralNonPermissibleActions + { + EMPXRead=0x01, + EMPXWrite=0x02, + EMPXCache=0x04 + }; + +const TUint KMPXMediaGeneralFlagsDriveInfo=0x1F; // lower 5 bits + +// Top bit indicates whether to set or reset flag value. +// If this bit is set, then the parameter that is passed in will +// specify which bits to be set. +// If this bit is unset, then the parameter that is passed in will +// specify which bits will be unset. +const TUint KMPXMediaGeneralFlagsSetOrUnsetBit=0x80000000; // top bit +const TUint KMPXMediaGeneralFlagsIsCorrupted=0x40000000; // second bit +const TUint KMPXMediaGeneralFlagsIsInvalid=0x20000000; // third bit +const TUint KMPXMediaGeneralFlagsIsDrmProtected=0x10000000; // forth bit +const TUint KMPXMediaGeneralFlagsIsDrmLicenceInvalid=0x08000000; // fifth bit +const TUint KMPXMediaGeneralFlagsIsVirtual=0x04000000; // sixth bit +const TUint KMPXMediaGeneralFlagsIsMissingDetails=0x02000000; // seventh bit + +/* +* Simple structure to hold icon info +*/ +NONSHARABLE_STRUCT( TIconInfo ) + { + TInt bitmapId; + TInt maskId; + TFileName bmpfile; + }; + +#endif // CMPXMEDIAGENERALDEFS_H