sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: sl@0: #ifndef __MMFCONTROLLEREXTENDEDDATA_H__ sl@0: #define __MMFCONTROLLEREXTENDEDDATA_H__ sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: #include sl@0: sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: const TUid KUidInterfaceMMFDataSinkHolder = {0x101F76D4}; sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: const TUid KUidInterfaceMMFDataSourceHolder = {0x101F76D5}; sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: const TUid KUidMMFControllerExtendedDataHolder = {0x102834AC}; sl@0: sl@0: /** sl@0: @internalComponent sl@0: sl@0: Create a const TUid with the same values as the controller sl@0: ECOM plugin interface UID sl@0: */ sl@0: const TUid KUidInterfaceMMFController = {KMmfUidPluginInterfaceController}; sl@0: sl@0: /** sl@0: @internalComponent sl@0: sl@0: IPC messages for interface KUidInterfaceMMFController in the controller framework. sl@0: */ sl@0: enum TMMFControllerMessages sl@0: { sl@0: EMMFControllerAddDataSource, sl@0: EMMFControllerAddDataSink, sl@0: EMMFControllerRemoveDataSource, sl@0: EMMFControllerRemoveDataSink, sl@0: EMMFControllerReset, sl@0: EMMFControllerPrime, sl@0: EMMFControllerPlay, sl@0: EMMFControllerPause, sl@0: EMMFControllerStop, sl@0: EMMFControllerGetPosition, sl@0: EMMFControllerSetPosition, sl@0: EMMFControllerGetDuration, sl@0: EMMFControllerGetNumberOfMetaDataEntries, sl@0: EMMFControllerGetSizeOfMetaDataEntry,//use internally sl@0: EMMFControllerGetMetaDataEntry, sl@0: EMMFControllerSetPrioritySettings, sl@0: EMMFControllerCancelAddDataSource, sl@0: EMMFControllerCancelAddDataSink, sl@0: EMMFControllerAddFileHandleDataSource, sl@0: EMMFControllerAddFileHandleDataSink, sl@0: EMMFControllerSourceSinkInitDataPreload, sl@0: EMMFControllerAddFileHandleDataSourceWithInitData, sl@0: EMMFControllerAddFileHandleDataSinkWithInitData sl@0: }; sl@0: sl@0: /** sl@0: @internalComponent sl@0: sl@0: The controller proxy session. sl@0: sl@0: Only one session can be connected to a controller proxy server. sl@0: sl@0: */ sl@0: NONSHARABLE_CLASS(CMMFControllerExtendedData) : public CMMFObject sl@0: { sl@0: public: sl@0: CMMFControllerExtendedData(); sl@0: sl@0: ~CMMFControllerExtendedData(); sl@0: sl@0: // Set/Get the source/sink initialization data used by CMMFController sl@0: // Ownership of aSourceSinkInitData is transferred (NULL pointer is allow) sl@0: // If source/sink initialization data is already set, previous one will be destroyed sl@0: void SetSourceSinkInitData(HBufC8* aSourceSinkInitData); sl@0: HBufC8* SourceSinkInitData() const; sl@0: void ResetSourceSinkInitData(); sl@0: sl@0: // Set/Get the client thread ID used by CMMFController sl@0: void SetClientThreadId(TThreadId aClientThreadId); sl@0: TThreadId ClientThreadId() const; sl@0: sl@0: // Set/Get the Secure DRM mode of CMMFController sl@0: void SetSecureDrmMode(TBool aSecureDrmMode); sl@0: TBool SecureDrmMode() const; sl@0: sl@0: //from CMMFObject sl@0: void HandleRequest(TMMFMessage& aMessage); sl@0: private: sl@0: /** sl@0: Extended data uses by CMMFController: Source/Sink initialization data sl@0: It serves as a temporary storage for Source/Sink initialization sl@0: Client should request the server to use and cleanup this variable ASAP sl@0: once it is being loaded sl@0: */ sl@0: HBufC8* iSourceSinkInitData; sl@0: sl@0: /** sl@0: Extended data uses by CMMFController: The client thread Id sl@0: */ sl@0: TThreadId iClientThreadId; sl@0: sl@0: /** sl@0: Extended data uses by CMMFController: Controller Scecure DRM Mode sl@0: */ sl@0: TBool iSecureDrmMode; sl@0: }; sl@0: sl@0: #endif //__MMFCONTROLLEREXTENDEDDATA_H__