diff -r 67c6ff54ec25 -r a009639409f5 piprofiler/piprofiler_plat/inc/ProfilerEngineAPI.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/piprofiler/piprofiler_plat/inc/ProfilerEngineAPI.h Thu May 27 14:26:55 2010 +0300 @@ -0,0 +1,88 @@ +/* +* 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 PROFILERCONTROLLER_H +#define PROFILERCONTROLLER_H + +#include +#include + +class CProfilerSettings; + +class CProfilerEngineAPI : public CBase +{ +public: + enum TProfilerEngineTraceMode + { + EProfilerEngineDebugOutputMode, + EProfilerEngineFileSystemMode + }; + + ~CProfilerEngineAPI(); + + IMPORT_C static CProfilerEngineAPI* NewL(); + void ConstructL(); + + IMPORT_C void SaveSettings(); + IMPORT_C void LoadSettings(); + + // controlling all sampler plugins + IMPORT_C TInt StartProfiling(); + IMPORT_C TBool StopProfiling(); + IMPORT_C TInt LaunchProfiler(); + + // controlling separate plugins + IMPORT_C TInt StartSampler(TUint32 aUid); + IMPORT_C TInt StopSampler(TUint32 aUid); + IMPORT_C TInt EnableSampler(TUint32 aUid); + IMPORT_C TInt DisableSampler(TUint32 aUid); + IMPORT_C TInt EnableWriter(TUint32 aUid); + IMPORT_C TInt DisableWriter(TUint32 aUid); + + // for meeting the HTI requirements + IMPORT_C TInt SetSettings(TUint aSamplerId, TDes& aSettings); + IMPORT_C TInt SetTraceMode(TProfilerEngineTraceMode aMode, TDes& aTraceDataStruct); + IMPORT_C TInt GetSamplerInfo(TUint aSamplerId, TDes& aCompleteSamplerInfo); + + // old implementations + IMPORT_C TBool GetSamplerVersion(TDes& version); + + IMPORT_C void LeaveProfilerBG(TBool aVal); + + +public: + TBool DriveIsValidL(const TDesC& drive); + IMPORT_C CProfilerSettings* Settings() const; + +private: + + CProfilerEngineAPI(); + + TInt FindProcessL(); +private: + CProfilerSettings* iSettings; + + RProcess* iProfilerProcess; + + TBool iProfilerLaunched; + + TBool iLeaveProfilerBG; + + }; + +#endif