diff -r ca8a1b6995f6 -r 52e343bb8f80 debugsrv/runmodedebug/securityserver/inc/c_security_svr_server.h --- a/debugsrv/runmodedebug/securityserver/inc/c_security_svr_server.h Tue Aug 31 16:45:49 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "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: -// Definitions for the security server server. -// -// - -#ifndef C_SECURITY_SVR_SERVER_H -#define C_SECURITY_SVR_SERVER_H - -/** -@file -@internalTechnology -@released -*/ - -#include -#include "c_process_pair.h" -#include "c_shutdown_timer.h" -#include "rm_debug_kerneldriver.h" - -_LIT(KDebugDriverFileName,"rm_debug.ldd"); -class CSecuritySvrSession; - -/** -Definition of a Debug Security Server. Responsible for managing all debug agent clients, -including attachment/detachment from target executables. Keeps track of which executables -are being debugged. -*/ -class CSecuritySvrServer : public CServer2 - { - public: - CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const; - TInt AttachProcessL(const TDesC& aTargetProcessName, const TProcessId aDebugAgentProcessId, const TBool aPassive); - TInt DetachProcess(const TDesC& aTargetProcessName, const TProcessId aDebugAgentProcessId); - void DetachAllProcesses(const TProcessId aDebugAgentProcessId); - TBool CheckAttached(const TThreadId aTargetThreadId, const RMessage2& aMessage, const TBool aPassive); - TBool CheckAttached(const TProcessId aTargetProcessId, const RMessage2& aMessage, const TBool aPassive); - TBool CheckAttachedProcess(const TDesC& aTargetProcessName, const RMessage2& aMessage, const TBool aPassive) const; - TBool IsDebugged(const TDesC& aTargetProcessName, const TBool aPassive) const; - void SessionClosed(); - void SessionOpened(); - static CSecuritySvrServer* NewLC(); - - TBool OEMTokenPermitsDebugL(const TCapabilitySet aTokenCaps, const TCapabilitySet aTargetCaps); - TBool OEMTokenPermitsFlashAccessL(const TCapabilitySet aTokenCaps); - - protected: - CSecuritySvrServer(CActive::TPriority aActiveObjectPriority); - void ConstructL(); - - private: - ~CSecuritySvrServer(); - TBool IsActiveDebugger(const TDesC& aTargetProcessName, const TProcessId aDebugAgentProcessId) const; - TBool IsDebugger(const TDesC& aTargetProcessName, const TProcessId aDebugAgentProcessId) const; - TInt GetProcessIdFromMessage(TProcessId& aProcessId, const RMessage2& aMessage) const; - - private: - RPointerArray iActiveDebugMap; - RPointerArray iPassiveDebugMap; - TInt iSessionCount; - CShutdownTimer iShutdown; - RRM_DebugDriver iKernelDriver; - - // Declare the CSecuritySvrAsync as a friend so it can use the iKernelDriver too - friend class CSecuritySvrAsync; - friend class CSecuritySvrSession; - }; - -#endif // C_SECURITY_SVR_SERVER_H