sl@0: // Copyright (c) 2007-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: #ifndef MMFDRMPLUGINSERVERSESSION_H sl@0: #define MMFDRMPLUGINSERVERSESSION_H sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS sl@0: #include sl@0: #endif sl@0: #include sl@0: using namespace ContentAccess; sl@0: sl@0: #include "MmfDrmPluginClientServer.h" sl@0: sl@0: sl@0: class CMMFDRMPluginServer; sl@0: sl@0: class CMMFDRMPluginServerSession : public CMmfIpcSession sl@0: /** sl@0: *@internalTechnology sl@0: */ sl@0: { sl@0: public: sl@0: static CMMFDRMPluginServerSession* NewL(); sl@0: ~CMMFDRMPluginServerSession(); sl@0: void CreateL(const CMmfIpcServer& aServer); sl@0: void ServiceL(const RMmfIpcMessage& aMessage); sl@0: sl@0: private: sl@0: CMMFDRMPluginServerSession(); sl@0: sl@0: void DoLaunchControllerL(const RMmfIpcMessage& aMessage); sl@0: void DoPanicControllerThreadL(const RMmfIpcMessage& aMessage); sl@0: void DoKillControllerThreadL(const RMmfIpcMessage& aMessage); sl@0: void SetControllerServerInfo(RHandleBase& aControllerSessionHandle, sl@0: TThreadId& aControllerThreadId); sl@0: void DoSetThreadPriorityL(const RMmfIpcMessage& aMessage); sl@0: sl@0: void DoOpenContentByFilePathL(const RMmfIpcMessage& aMessage); sl@0: void DoOpenContentByFileHandleL(const RMmfIpcMessage& aMessage); sl@0: void GetContentInitDataL(const TDesC8& aInitData, HBufC*& aUniqueId, sl@0: TBool& aUIEnabled, ContentAccess::TIntent& aIntent); sl@0: TInt DoEvaluateContentIntent(const RMmfIpcMessage& aMessage); sl@0: void DoGetContentMimeTypeL(const RMmfIpcMessage& aMessage); sl@0: void DoGetContentFileHeaderL(const RMmfIpcMessage& aMessage); sl@0: void DoSetDrmPluginServerTimeout(const RMmfIpcMessage& aMessage); sl@0: sl@0: private: sl@0: RHandleBase iControllerSessionHandle; sl@0: TThreadId iControllerThreadID; sl@0: sl@0: // Used by CMMFUtilityFileInfo sl@0: ContentAccess::CData* iData; sl@0: }; sl@0: sl@0: #endif