diff -r ca8a1b6995f6 -r 52e343bb8f80 memspy/MemSpyClient/inc/memspysession.h --- a/memspy/MemSpyClient/inc/memspysession.h Tue Aug 31 16:45:49 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,248 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* -*/ - - -#ifndef MEMSPYSESSION_H -#define MEMSPYSESSION_H - - -// System includes -#include -#include - -//user includes -#include - -#include -#include -#include -#include -#include - -#include - -#include //for KernelObjectItems - -#include - -#include - -#include -#include - -#include - -// Constants -const TInt KMemSpyVersion = 2; - -enum TSortType - { - ESortProcById, - ESortProcByName, - ESortProcByThreadCount, - ESortProcByCodeSegs, - ESortProcByHeapUsage, - ESortProcByStackUsage - }; - -enum TMemSpyOutputType - { - EOutputTypeDebug = 0, - EOutputTypeFile - }; - -class TMemSpyDeviceWideOperationProgress - { -public: - IMPORT_C TInt Progress() const; - IMPORT_C const TDesC& Description() const; - -private: - TPckgBuf iProgress; - TFullName iDescription; - -friend class RMemSpySession; - }; - - -NONSHARABLE_CLASS( RMemSpySession ) : public RSessionBase - { -public: - IMPORT_C RMemSpySession(); - IMPORT_C TInt Connect(); - -public: //API - //Thread speciifc operations - IMPORT_C void OutputKernelHeapDataL(); //EMemSpyClientServerOpHeapData - - IMPORT_C void OutputKernelHeapData(TRequestStatus& aStatus); //EMemSpyClientServerOpHeapData - - IMPORT_C void OutputThreadHeapDataL(TThreadId aThreadId); //EMemSpyClientServerOpHeapData - - IMPORT_C void OutputThreadHeapDataL(const TDesC& aThreadName); //EMemSpyClientServerOpHeapData - - IMPORT_C void OutputThreadCellListL(TThreadId aThreadId);//EMemSpyClientServerOpHeapCellListing - - IMPORT_C void OutputHeapInfoUserL(TThreadId aThreadId); //EMemSpyClientServerOpHeapInfo - - IMPORT_C void SwitchOutputSinkL( TMemSpySinkType aType); //EMemSpyClientServerOpSwitchOutputSinkFile / EMemSpyClientServerOpSwitchOutputSinkTrace - - IMPORT_C void SwitchOutputToTraceL(); // EMemSpyClientServerOpSwitchOutputSinkTrace - - IMPORT_C void SwitchOutputToFileL(const TDesC& aRootFolder); // EMemSpyClientServerOpSwitchOutputSinkFile - - IMPORT_C void OutputStackInfoL(TThreadId aThreadId); //EMemSpyClientServerOpStackInfo - - IMPORT_C void OutputStackDataL(TThreadId aThreadId, TMemSpyDriverDomainType aType ); //EMemSpyClientServerOpStackDataUser / EMemSpyClientServerOpStackDataKernel - - IMPORT_C void OutputThreadInfoHandlesL(TThreadId aThreadId); //EMemSpyClientServerOpOutputInfoHandles - - IMPORT_C void OutputAOListL(TThreadId aId, TMemSpyThreadInfoItemType aType); //EMemSpyClientServerOpOutputAOList - - IMPORT_C void OutputKernelObjectsL();// EMemSpyClientServerOpEnumerateKernelContainerAll - - IMPORT_C void OutputCompactStackInfoL();// EMemSpyClientServerOpStackInfoCompact - - IMPORT_C void OutputCompactHeapInfoL();// EMemSpyClientServerOpHeapInfoCompact - - // Device Wide Operations - // Synchronous operations - for CLI - IMPORT_C void OutputHeapData(); - - // Asynchronous operations - IMPORT_C void OutputPhoneInfo(TRequestStatus& aStatus); - - IMPORT_C void OutputDetailedPhoneInfo(TRequestStatus& aStatus); - - IMPORT_C void OutputHeapInfo(TRequestStatus& aStatus); - - IMPORT_C void OutputCompactHeapInfo(TRequestStatus &aStatus); - - IMPORT_C void OutputHeapCellListing(TRequestStatus& aStatus); - - IMPORT_C void OutputHeapData(TRequestStatus& aStatus); - - IMPORT_C void OutputStackInfo(TRequestStatus& aStatus); - - IMPORT_C void OutputCompactStackInfo(TRequestStatus &aStatus); - - IMPORT_C void OutputUserStackData(TRequestStatus& aStatus); - - IMPORT_C void OutputKernelStackData(TRequestStatus& aStatus); - - IMPORT_C void NotifyDeviceWideOperationProgress(TMemSpyDeviceWideOperationProgress &aProgress, TRequestStatus &aStatus); - - IMPORT_C void CancelDeviceWideOperationL(); - - // Synchronous operations for MemSpyLauncher - IMPORT_C void OutputPhoneInfo(); - - // "Ui" operations - - IMPORT_C void GetProcessesL(RArray &aProcesses, TSortType aSortType = ESortProcById); - - IMPORT_C TProcessId GetProcessIdByNameL(const TDesC& aProcessName); - - IMPORT_C void GetThreadsL(TProcessId aProcessId, RArray &aThreads, TSortType aSortType = ESortProcById); - - IMPORT_C TInt ProcessSystemPermanentOrCritical( TProcessId aId, TBool aValue ); //aValue -> return value - - IMPORT_C void SetThreadPriorityL(TThreadId aId, TInt aPriority); - - IMPORT_C TInt EndProcess( TProcessId aId, TMemSpyEndType aType ); - - IMPORT_C TInt SwitchToProcess( TProcessId aId, TBool aBrought ); - - //SWMT operations - - IMPORT_C void GetMemoryTrackingCyclesL(RArray& aCycles); - - IMPORT_C void SetSwmtConfig( TMemSpyEngineHelperSysMemTrackerConfig aConfig ); - - IMPORT_C void SetSwmtAutoStartProcessList( CArrayFixFlat* aList ); - - IMPORT_C void SetSwmtFilter( const TDesC& aFilter ); - - IMPORT_C void SetSwmtCategoriesL(TInt aCategories); - - IMPORT_C void SetSwmtHeapDumpsEnabledL(TBool aEnabled); - - IMPORT_C void SwmtResetTracking(); - - IMPORT_C void GetOutputSink( TMemSpySinkType aType ); - - IMPORT_C TBool IsSwmtRunningL(); - - IMPORT_C void StartSwmtTimerL(TInt aPeriod); - - IMPORT_C void StartSwmtTimerL(); // for CLI - - IMPORT_C void SetSwmtTimerIntervalL(TInt aPeriod); //for CLI - - IMPORT_C void StopSwmtTimerL(); - - IMPORT_C void ForceSwmtUpdateL(); - - IMPORT_C void ForceSwmtUpdate(TRequestStatus& aStatus); - - //Threads operations - /** - * - */ - IMPORT_C void GetThreadsL(TProcessId aProcessId, RArray &aThreads, TSortType aSortType = ESortProcById); - - IMPORT_C TInt ThreadSystemPermanentOrCritical( TThreadId aId, TBool aValue ); - - IMPORT_C TInt EndThread( TThreadId aId, TMemSpyEndType aType ); - - IMPORT_C TInt SwitchToThread( TThreadId aId, TBool aBrought ); - - IMPORT_C TInt GetInfoItemType( TInt aIndex, TThreadId aId, TMemSpyThreadInfoItemType &aType ); - - IMPORT_C TInt GetThreadInfoItems( RArray &aInfoItems, TThreadId aId, TMemSpyThreadInfoItemType aType ); - - IMPORT_C void GetThreadInfoItemsL( RArray &aInfoItems, TThreadId aId, TMemSpyThreadInfoItemType aType ); - - - //KernelObjects operations - - IMPORT_C void GetKernelObjectsL( RArray &aKernelObjects ); - - IMPORT_C TInt GetKernelObjects( RArray &aKernelObjects ); - - IMPORT_C void GetKernelObjectItemsL( RArray &aKernelObjectItems, TMemSpyDriverContainerType aForContainer ); - - IMPORT_C TInt GetKernelObjectItems( RArray &aKernelObjectItems, TMemSpyDriverContainerType aForContainer ); - - IMPORT_C void OutputAllContainerContents(); - - // Heap - - IMPORT_C CMemSpyApiHeap* GetHeapL(); - - IMPORT_C CMemSpyApiHeap* GetHeap(); - - IMPORT_C void DumpKernelHeap(); - -private: - TInt StartServer(); - - void SetOutputTypeL(TMemSpyOutputType aOutputType); - - }; - -#endif // MEMSPYSESSION_H