diff -r a151135b0cf9 -r aa2539c91954 tracesrv/tracecore/btrace_handler/test/TEF/te_tracecore/inc/te_tracecore_datawrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tracesrv/tracecore/btrace_handler/test/TEF/te_tracecore/inc/te_tracecore_datawrapper.h Fri Oct 08 14:56:39 2010 +0300 @@ -0,0 +1,133 @@ +// Copyright (c) 2005-2010 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 TE_TRACECORE_DATAWRAPPER_H_ +#define TE_TRACECORE_DATAWRAPPER_H_ + +#include +#include +#include //TraceCoreOstLdd +#include //TcLdd + +const TInt KNoOfSlots = 5; + +class CTraceCoreDataWrapper : public CDataWrapper + { +public: + static CTraceCoreDataWrapper* NewLC(); + static CTraceCoreDataWrapper* NewL(); + ~CTraceCoreDataWrapper(); + + TAny* GetObject(); + TBool DoCommandL(const TTEFFunction& aCommand, + const TTEFSectionName& aSection, + const TInt aAsyncErrorIndex); + + TBool GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult); + TBool GetBoolFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TBool& aResult); + TBool GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult); + TBool GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult); + + TBool GetPathFromConfig(const TTEFSectionName& aSection, const TDesC& aPathKey, TFileName& aPath); + TBool GetArgsFromConfig(const TTEFSectionName& aSection, TDes& aArgs); + TBool GetLongStringFromConfig(const TTEFSectionName& aSection, const TDesC& aKeyName, TDes& aResult); + +protected: + CTraceCoreDataWrapper(); + void ConstructL(); + + // Command functions + void DoCmdCopyFileL(const TTEFSectionName& aSection); + void DoCmdDeleteFileFromAllDrivesL(const TTEFSectionName& aSection); + void DoCmdDeleteFileL(const TTEFSectionName& aSection); + void DoCmdDeleteEmptyFolder(const TTEFSectionName& aSection); + void DoCmdFileExists(const TTEFSectionName& aSection); + void DoCmdCheckFileSize(const TTEFSectionName& aSection); + void DoCmdRunProcess(const TTEFSectionName& aSection); + void DoCmdCreateSubstDrive(const TTEFSectionName& aSection); + void DoCmdUnSubstDrive(const TTEFSectionName& aSection); + void DoCmdCheckMaxFileSizeL(const TTEFSectionName& aSection); + void DoCmdCheckFileIsAppendedL(const TTEFSectionName& aSection); + void DoCmdVerifyTraceDataL(const TTEFSectionName& aSection); + void DoCmdVerifyPrimingDataL(const TTEFSectionName& aSection); + void DoCmdVerifyDroppedTracesL(const TTEFSectionName& aSection); + void DoCmdVerifySlot(const TTEFSectionName& aSection); + void DoCmdFileChangeNotification(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdRegisterNotifReceiver(const TTEFSectionName& aSection); + void DoCmdUnregisterNotifReceiver(const TTEFSectionName& aSection); + void DoCmdInstrumentTraceSequence(const TTEFSectionName& aSection); + void DoCmdSetUpTcLdd(const TTEFSectionName& aSection); + void DoCmdCleanUpTcLdd(const TTEFSectionName& aSection); + void DoCmdSetUpTcOstLdd(const TTEFSectionName& aSection); + void DoCmdCleanUpTcOstLdd(const TTEFSectionName& aSection); + void DoCmdSetUpTraceOnActivation(const TTEFSectionName& aSection); + void DoCmdCleanUpTraceOnActivation(const TTEFSectionName& aSection); + void DoCmdActivateDeactivateTrace(const TTEFSectionName& aSection); + void DoCmdReadTracesFromBuffer(); + +protected: + // Helper methods + void CopyFileL(const TDesC& aSrcFile, const TDesC& aDstFile); + void DeleteFileFromAllDrivesL(const TDesC& aFile); + void DeleteFileL(const TDesC& aFile, TInt aStrictMode = ETrue); + void DeleteEmptyFolder(const TDesC& aFolder); + TBool FileExists(const TDesC& aFile); + TInt CheckFileSize(const TDesC& aFile, TInt aMinSize, TInt aMaxSize); + void RunProcess(const TDesC& aProgramName, const TDesC& aCmdLineArgs, TInt aNoOfCalls = 1, TInt aAllowedErrorCode = KErrNone); + void CreateSubstDrive(const TDesC& aFolderPath, TDriveNumber aDrive); + void UnSubstDrive(TDriveNumber aDrive); + TBool DriveNumberFromString(const TDesC& aDriveString, TDriveNumber& aDriveNumber); + void VerifyPrimingDataL(const TDesC& aFile, TInt aGroupId, TBool aVerifyData, TInt& aNumTraces, TInt& aNumPrimingTraces); + void VerifyDroppedPrintfTracesL(const TDesC& aFile, const TDesC& aFindString, TInt& aLastNumberFound, TInt& aNumDroppedTraces); + void VerifyDroppedBinaryTracesL(const TDesC& aFile, TInt aGroupId, TInt aComponentId, TInt& aLastNumberFound, TInt& aNumDroppedTraces); + void StoreInSlot(TInt aEntry, TInt aSlot); + TInt ReadFromSlot(TInt aSlot); + TInt GetSlotValue(const TTEFSectionName& aSection, const TDesC& aValueKey, const TDesC& aSlotNumberKey); + void FileHasPrintfStringL(const TDesC& aFile, const TDesC& aFindString, TInt& aNumFound); + void BufferHasPrintfStringL(TDesC8& aBuffer, const TDesC& aFindString, TInt& aNumFound); + void InstrumentBinaryTracePoint(TInt aGroupId, TInt aComponentId, TInt aData, TInt aTraceId = 1); + void InstrumentBinaryTraceSequence(TInt aSequenceLength, TInt aGroupId, TInt aComponentId); + void InstrumentPrintfTraceSequence(TInt aSequenceLength, const TDesC& aString); + TInt LoadLdd(const TDesC& aLddName, TBool aSingleUse); + TInt FreeLdd(const TDesC& aLddName); + TBool LoadLdd(const TDesC& aLddName, const TTEFSectionName& aSection); + template TInt OpenLdd(const TDesC& aLddName, T& aLdd); + template TBool OpenLdd(const TDesC& aLddName, T& aLdd, const TTEFSectionName& aSection); + + // MActiveCallback implementation + void RunL(CActive* aActive, TInt aIndex); + void DoCancel(CActive* aActive, TInt aIndex); + +protected: + // Member variables + RFs iFs; + RTimer iTimer; + TFixedArray iSlots; + CActiveCallback* iActiveFileChangeNotification; + CActiveCallback* iActiveFileChangeNotificationTimeout; + TPtrC iCurrentSectionName; + RTraceOnActivation iTraceOnActivationLdd; + RTcDriver iTcLdd; + RTraceCoreOstDriver iTraceCoreOstLdd; + RBuf8 iTraceBuffer; + TBool iTcLddLoadedAtStart; + TBool iTcOstLddLoadedAtStart; + TBool iTraceOnActivationLoadedAtStart; + }; + + +#endif /* TE_TRACECORE_DATAWRAPPER_H_ */