First public contribution.
1 // Copyright (c) 2007-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.
16 #ifndef MMFDRMPLUGINSERVERSESSION_H
17 #define MMFDRMPLUGINSERVERSESSION_H
21 #include <mmf/common/mmfipc.h>
22 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
23 #include <mmf/common/mmfipcserver.h>
26 using namespace ContentAccess;
28 #include "MmfDrmPluginClientServer.h"
31 class CMMFDRMPluginServer;
33 class CMMFDRMPluginServerSession : public CMmfIpcSession
39 static CMMFDRMPluginServerSession* NewL();
40 ~CMMFDRMPluginServerSession();
41 void CreateL(const CMmfIpcServer& aServer);
42 void ServiceL(const RMmfIpcMessage& aMessage);
45 CMMFDRMPluginServerSession();
47 void DoLaunchControllerL(const RMmfIpcMessage& aMessage);
48 void DoPanicControllerThreadL(const RMmfIpcMessage& aMessage);
49 void DoKillControllerThreadL(const RMmfIpcMessage& aMessage);
50 void SetControllerServerInfo(RHandleBase& aControllerSessionHandle,
51 TThreadId& aControllerThreadId);
52 void DoSetThreadPriorityL(const RMmfIpcMessage& aMessage);
54 void DoOpenContentByFilePathL(const RMmfIpcMessage& aMessage);
55 void DoOpenContentByFileHandleL(const RMmfIpcMessage& aMessage);
56 void GetContentInitDataL(const TDesC8& aInitData, HBufC*& aUniqueId,
57 TBool& aUIEnabled, ContentAccess::TIntent& aIntent);
58 TInt DoEvaluateContentIntent(const RMmfIpcMessage& aMessage);
59 void DoGetContentMimeTypeL(const RMmfIpcMessage& aMessage);
60 void DoGetContentFileHeaderL(const RMmfIpcMessage& aMessage);
61 void DoSetDrmPluginServerTimeout(const RMmfIpcMessage& aMessage);
64 RHandleBase iControllerSessionHandle;
65 TThreadId iControllerThreadID;
67 // Used by CMMFUtilityFileInfo
68 ContentAccess::CData* iData;