dbgsrv/coredumpserver/test/automatictests/tcds_app/inc/SELFusersidetrace.h
changeset 0 c6b0df440bee
--- /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 <TestExecuteStepBase.h>
+#include <symbianelfdefs.h>
+#include <bafindf.h>
+#include <crashdefs.h>
+
+#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<KMaxFileName> 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