diff -r 453dfc402455 -r 0aa8cc770c8a mtpdataproviders/mtpplaybackcontroldp/mtpplaybackinterface/inc/cmtpplaybackparam.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mtpdataproviders/mtpplaybackcontroldp/mtpplaybackinterface/inc/cmtpplaybackparam.h Tue Aug 31 16:03:15 2010 +0300 @@ -0,0 +1,104 @@ +// Copyright (c) 2010 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: +// + +/** + @file + @internalComponent +*/ + +#ifndef CMTPPLAYBACKPARAM_H +#define CMTPPLAYBACKPARAM_H + +#include "mtpdebug.h" + +/** + Category identifier +*/ +enum TMTPPbCategory + { + /** Init value **/ + EMTPPbCatNone=0, + /** SingleMusic **/ + EMTPPbCatMusic=1, + /** PlayList**/ + EMTPPbCatPlayList = 2, + /** Ablum **/ + EMTPPbCatAlbum = 3 + }; + +enum TMTPPbDataType + { + EMTPPbTypeNone, + EMTPPbInt32, + EMTPPbUint32, + EMTPPbSuidSet, + EMTPPbVolumeSet, + EMTPPbTypeEnd + }; + +class TMTPPbDataSuid + { +public: + TMTPPbDataSuid(TMTPPbCategory aCategory, const TDesC& aSuid); + + TMTPPbCategory Category() const; + const TDesC& Suid() const; + +private: + //The category + TMTPPbCategory iPlayCategory; + //The suid of object for initialization + TFileName iSuid; + }; + +/** +* Encapsulates parameter for playback commands and events. +*/ +class CMTPPbParamBase : public CBase + { +public: + virtual const TMTPPbDataSuid& SuidSetL() const; + virtual TInt32 Int32L() const; + virtual TUint32 Uint32L() const; + virtual ~CMTPPbParamBase(); + TMTPPbDataType Type() const; + +protected: + /** + * The constuctor. + * @param aCategory, category of object for initialization, + */ + CMTPPbParamBase(); + CMTPPbParamBase(TInt32 aValue); + CMTPPbParamBase(TUint32 aValue); + CMTPPbParamBase(TMTPPbCategory aCategory, const TDesC& aSuid); + + void ConstructL(TMTPPbCategory aCategory, const TDesC& aSuid); + void ConstructL(TInt32 aValue); + void ConstructL(TUint32 aValue); + void ConstructL(const CMTPPbParamBase& aParam); + void SetType(TMTPPbDataType); + TAny* GetData() const; + void SetData(TAny* aData); + +private: + __FLOG_DECLARATION_MEMBER; + + TMTPPbDataType iParamType; + TAny* iData; + }; + +#endif //CMTPPLAYBACKPARAM_H +