--- a/memspy/MemSpyClient/inc/memspysession.h Thu Sep 02 22:05:40 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 <e32base.h>
-#include <u32std.h>
-
-//user includes
-#include <memspy/api/memspyapiprocess.h>
-
-#include <memspy/api/memspyapithread.h>
-#include <memspy/api/memspyapithreadinfoitem.h>
-#include <memspy/engine/memspythreadinfoitemdata.h>
-#include <memspy/engine/memspyengineobjectthreadinfoobjects.h>
-#include <memspy/engine/memspydevicewideoperations.h>
-
-#include <memspy/api/memspyapikernelobject.h>
-
-#include <memspy/api/memspyapikernelobjectitem.h> //for KernelObjectItems
-
-#include <memspy/api/memspyapiheap.h>
-
-#include <memspy/api/memspyapimemorytrackingcycle.h>
-
-#include <memspyengineclientinterface.h>
-#include <memspy/engine/memspyengineoutputsinktype.h>
-
-#include <memspy/engine/memspyenginehelpersysmemtrackerconfig.h>
-
-// 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<TInt> 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<CMemSpyApiProcess*> &aProcesses, TSortType aSortType = ESortProcById);
-
- IMPORT_C TProcessId GetProcessIdByNameL(const TDesC& aProcessName);
-
- IMPORT_C void GetThreadsL(TProcessId aProcessId, RArray<CMemSpyApiThread*> &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<CMemSpyApiMemoryTrackingCycle*>& aCycles);
-
- IMPORT_C void SetSwmtConfig( TMemSpyEngineHelperSysMemTrackerConfig aConfig );
-
- IMPORT_C void SetSwmtAutoStartProcessList( CArrayFixFlat<TUid>* 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<CMemSpyApiProcess*> &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<CMemSpyApiThreadInfoItem*> &aInfoItems, TThreadId aId, TMemSpyThreadInfoItemType aType );
-
- IMPORT_C void GetThreadInfoItemsL( RArray<CMemSpyApiThreadInfoItem*> &aInfoItems, TThreadId aId, TMemSpyThreadInfoItemType aType );
-
-
- //KernelObjects operations
-
- IMPORT_C void GetKernelObjectsL( RArray<CMemSpyApiKernelObject*> &aKernelObjects );
-
- IMPORT_C TInt GetKernelObjects( RArray<CMemSpyApiKernelObject*> &aKernelObjects );
-
- IMPORT_C void GetKernelObjectItemsL( RArray<CMemSpyApiKernelObjectItem*> &aKernelObjectItems, TMemSpyDriverContainerType aForContainer );
-
- IMPORT_C TInt GetKernelObjectItems( RArray<CMemSpyApiKernelObjectItem*> &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