Update contrib.
1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
17 #ifndef __MMFCONTROLLEREXTENDEDDATA_H__
18 #define __MMFCONTROLLEREXTENDEDDATA_H__
20 #include <mmf/server/mmfdatasource.h>
21 #include <mmf/server/mmfdatasink.h>
22 #include <mmf/common/mmfcontrollerframework.h>
23 #include <mmf/common/mmfcontrollerpluginresolver.h>
24 #include <mmfplugininterfaceuids.hrh>
31 const TUid KUidInterfaceMMFDataSinkHolder = {0x101F76D4};
35 const TUid KUidInterfaceMMFDataSourceHolder = {0x101F76D5};
39 const TUid KUidMMFControllerExtendedDataHolder = {0x102834AC};
44 Create a const TUid with the same values as the controller
45 ECOM plugin interface UID
47 const TUid KUidInterfaceMMFController = {KMmfUidPluginInterfaceController};
52 IPC messages for interface KUidInterfaceMMFController in the controller framework.
54 enum TMMFControllerMessages
56 EMMFControllerAddDataSource,
57 EMMFControllerAddDataSink,
58 EMMFControllerRemoveDataSource,
59 EMMFControllerRemoveDataSink,
65 EMMFControllerGetPosition,
66 EMMFControllerSetPosition,
67 EMMFControllerGetDuration,
68 EMMFControllerGetNumberOfMetaDataEntries,
69 EMMFControllerGetSizeOfMetaDataEntry,//use internally
70 EMMFControllerGetMetaDataEntry,
71 EMMFControllerSetPrioritySettings,
72 EMMFControllerCancelAddDataSource,
73 EMMFControllerCancelAddDataSink,
74 EMMFControllerAddFileHandleDataSource,
75 EMMFControllerAddFileHandleDataSink,
76 EMMFControllerSourceSinkInitDataPreload,
77 EMMFControllerAddFileHandleDataSourceWithInitData,
78 EMMFControllerAddFileHandleDataSinkWithInitData
84 The controller proxy session.
86 Only one session can be connected to a controller proxy server.
89 NONSHARABLE_CLASS(CMMFControllerExtendedData) : public CMMFObject
92 CMMFControllerExtendedData();
94 ~CMMFControllerExtendedData();
96 // Set/Get the source/sink initialization data used by CMMFController
97 // Ownership of aSourceSinkInitData is transferred (NULL pointer is allow)
98 // If source/sink initialization data is already set, previous one will be destroyed
99 void SetSourceSinkInitData(HBufC8* aSourceSinkInitData);
100 HBufC8* SourceSinkInitData() const;
101 void ResetSourceSinkInitData();
103 // Set/Get the client thread ID used by CMMFController
104 void SetClientThreadId(TThreadId aClientThreadId);
105 TThreadId ClientThreadId() const;
107 // Set/Get the Secure DRM mode of CMMFController
108 void SetSecureDrmMode(TBool aSecureDrmMode);
109 TBool SecureDrmMode() const;
112 void HandleRequest(TMMFMessage& aMessage);
115 Extended data uses by CMMFController: Source/Sink initialization data
116 It serves as a temporary storage for Source/Sink initialization
117 Client should request the server to use and cleanup this variable ASAP
118 once it is being loaded
120 HBufC8* iSourceSinkInitData;
123 Extended data uses by CMMFController: The client thread Id
125 TThreadId iClientThreadId;
128 Extended data uses by CMMFController: Controller Scecure DRM Mode
130 TBool iSecureDrmMode;
133 #endif //__MMFCONTROLLEREXTENDEDDATA_H__