diff -r 000000000000 -r c6b0df440bee dbgsrv/coredumpserver/test/automatictests/tcds_app/inc/SELFusersidetrace.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbgsrv/coredumpserver/test/automatictests/tcds_app/inc/SELFusersidetrace.h Tue Mar 02 10:33:16 2010 +0530 @@ -0,0 +1,124 @@ +/** +* Copyright (c) 2002-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: +* +*/ + + + +/** + @file SELFusersidetrace.h + @internalTechnology +*/ +#if (!defined __SELF_USER_SIDE_TRACE_H__) +#define ___SELF_USER_SIDE_TRACE_H__ +#include +#include +#include +#include + +#include "tcoredumpserversuitestepbase.h" +#include "tcoredumpcommon.h" + + +_LIT(KSELFUserSideTrace,"SELFUserSideTrace"); + +//Maximum Number of DHDR expected in the SELF File +const TInt MAXNUMBEROFDHDR = 200; + +_LIT( KCreateTraceData, "How much Trace data to capture (Kb)" ); + + +class CSELFUserSideTrace : public CTe_coredumpserverSuiteStepBase + { +public: + CSELFUserSideTrace(); + ~CSELFUserSideTrace(); + virtual TVerdict doTestStepPreambleL(); + virtual TVerdict doTestStepL(); + virtual TVerdict doTestStepPostambleL(); + +// Please add/modify your class members here: +private: + + //session object to the Core Dump Server + RCoreDumpSession iCoreDumpSession; + //File Server session + RFs iFsSession; + //File Handle for the ELF File + RFile iSELFFile; + //SELF File name + TBufC iSELFFileName; + //stores the SELF Program Header + TUint8* iSELFPHHeader; + //Number of Program Header Entries + TInt iPHEntries; + //Program Header Offset + TInt iPHOffset; + //stores the DHDR Buffers + TUint8* iDHDRBuffer[MAXNUMBEROFDHDR]; + //actual SELF DHDR strcuture Sym32_dhdr + Sym32_dhdr* idhdr[MAXNUMBEROFDHDR]; + //offset to the String section + TInt iOffsetStringSection; + //size of String section + TInt iSizeofStringSection; + //flag to determine whether there is trace or not + TBool iTraceFlag; + + void ClientAppL(); + + //Tests + void HandleCrashL(); + + void DoTestTraceSectionSELFFileL(TBool ); + + void ValidateHeaderELFFileL(); + + void ValidateProgramHeaderELFFileL(); + + void ValidateTraceSectionELFFileL(TBool ); + + void ValidateTraceBufferL(const TDesC8& ); + + + //Utility functions + + void DoCmdLoadPluginsL(); + + void DoCmdConfigurePluginsL( ); + + void ConfigureSELF(TBool ); + + void MonitorProgressL(); + + void DoConfigureL( const TUint32& aIndex, + const TUint32& aUID, + const COptionConfig::TParameterSource& aSource, + const COptionConfig::TOptionType& aType, + const TDesC& aPrompt, + const TUint32& aNumOptions, + const TDesC& aOptions, + const TInt32& aVal, + const TDesC& aStrValue, + const TUint aInstance ); + + void CleanupMethod(const TDesC& ); + + + }; + + + +#endif