sl@0: // Copyright (c) 2006-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 the License "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: // t_rmdebugserver.h sl@0: // Definitions for the run mode debug agent server side session. sl@0: // sl@0: // sl@0: sl@0: #ifndef RMDEBUGSVR_H sl@0: #define RMDEBUGSVR_H sl@0: sl@0: // Server name sl@0: _LIT(KDebugServerName,"DebugServer"); sl@0: _LIT(KDebugDriverName,"MetroTrk Driver"); sl@0: _LIT(KDebugDriverFileName,"trkdriver.ldd"); sl@0: sl@0: // A version must be specifyed when creating a session with the server sl@0: const TUint KDebugServMajorVersionNumber=0; sl@0: const TUint KDebugServMinorVersionNumber=1; sl@0: const TUint KDebugServBuildVersionNumber=1; sl@0: const TUint KDefaultMessageSlots=4; sl@0: const TUint KDefaultHeapSize=0x10000; sl@0: sl@0: class CDebugServSession; sl@0: sl@0: sl@0: // Server sl@0: class CDebugServServer : public CServer2 sl@0: { sl@0: public: sl@0: CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const; sl@0: public: sl@0: static TInt ThreadFunction(TAny* aStarted); sl@0: protected: sl@0: CDebugServServer(CActive::TPriority aActiveObjectPriority); sl@0: }; sl@0: sl@0: // Server side session sl@0: class CDebugServSession : public CSession2 sl@0: { sl@0: public: sl@0: CDebugServSession(); sl@0: ~CDebugServSession(); sl@0: void ConstructL ( void ); sl@0: void ServiceL(const RMessage2& aMessage); sl@0: sl@0: TInt ReadMemory(const RMessage2& aMessage); sl@0: TInt WriteMemory(const RMessage2& aMessage); sl@0: sl@0: // TInt ReadProcessInfo(const RMessage2& aMessage); sl@0: // TInt ReadThreadInfo(const RMessage2& aMessage); sl@0: sl@0: TInt ResumeThread(const RMessage2& aMessage); sl@0: TInt SuspendThread(const RMessage2& aMessage); sl@0: sl@0: public: sl@0: RMetroTrkDriver iKernelDriver; sl@0: sl@0: private: sl@0: }; sl@0: sl@0: sl@0: #endif // RMDEBUGSVR_H