diff -r 5db69f4c3d06 -r b048e15729d6 perfapps/piprofilerui/ui/hb/inc/piprofilerengineprivate.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/piprofilerui/ui/hb/inc/piprofilerengineprivate.h Fri Sep 03 17:11:21 2010 +0300 @@ -0,0 +1,217 @@ +/* +* Copyright (c) 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 PIPROFILEREGINEPRIVATE_H +#define PIPROFILEREGINEPRIVATE_H + +#include +#include +#include + +class TSamplerAttributes; +class PIMainView; +class PluginAttributes; +class GeneralAttributes; +class SettingItem; +class CProfilerEngineStatusChecker; +class PIProfilerEngine; +class PIProfilerEnginePrivate: public MProfilerStatusObserver +{ + +public: + + enum TProfilingMode + { + EProfilingModeNormal = 0, EProfilingModeTimed + }; + + /** + * Constructor + */ + PIProfilerEnginePrivate(PIProfilerEngine *aEngine); + + /** + * Destructor + */ + ~PIProfilerEnginePrivate(); + + /** + * Initializesprofiler engine + */ + bool Init(); + + /** + * Method that is called when UI is ready + */ + void NotifyUIReady(); + + /** + * Saves plug-in settings into engine + */ + bool SavePluginSettings(const PluginAttributes &pluginAttributes); + + /** + * Starts normal profiling + */ + bool StartProfiling(); + + /** + * Starts timed profiling + */ + bool StartTimedProfiling(); + + /** + * Stops profiling + */ + void StopProfiling(); + + /** + * MProfilerStatusObserver method that is called when profiler engine's status is changed + */ + void HandleProfilerStatusChange(KProfilerStatus aStatus); + + /** + * MProfilerStatusObserver method that is called when profiler error is occured. + */ + void HandleProfilerErrorL(TInt aError); + + /** + * Gets PI Profiler general settings + */ + void GetGeneralSettings(GeneralAttributes &settings); + + /** + * Saves general settings into engine + */ + bool SaveGeneralSettings(GeneralAttributes &settings); + + /** + * gets time limit for timed profiling + */ + int GetTimeLimit(); + + /** + * Sets PI profiler engine to continue running after ui is closed. + */ + void LeaveProfilingOnAfterClosing(); + + bool CheckTraceLocationSanity(QString &location); + +private: + + /** + * Saves general settings into engine + */ + void SaveGeneralSettingsL(); + + /** + * loads general settings from engine + */ + TInt LoadGeneralSettingsL(); + + /** + * Starts to profile + */ + void StartAllSamplerItemsL(TProfilingMode aProfilingMode); + + // Converters for symbian to qt and qt to symbian + + /** + * TSamplerAttributes -> SamplerAttributes + */ + static void convertTSamplerAttributesToPluginAttributes(TSamplerAttributes &tSamplerAttributes, + PluginAttributes &samplerAttributes); + + /** + * TSettingItem -> SettingItem + */ + static void convertTSettingItemToSettingItem(TSettingItem &tSettingItem, + SettingItem &settingItem); + + /** + * SettingItem -> TSettingItem + */ + static void convertSettingItemToTSettingItem(TSettingItem &tSettingItem, + const SettingItem &settingItem); + + /** + * TGeneralAttributes -> GeneralAttributes + */ + static void convertTGeneralAttributesToGeneralAttributes( + TGeneralAttributes &tSamplerAttributes, GeneralAttributes &samplerAttributes); + + /** + * GeneralAttributes -> TGeneralAttributes + */ + static void convertGeneralAttributesToTGeneralAttributes( + TGeneralAttributes &tSamplerAttributes, GeneralAttributes &samplerAttributes); + + /** + * Launches PI Profiler engine + */ + int LaunchEngineL(); + + /** + * Terminates PI Profiler engine + */ + void terminateEngine(); + + /** + * Gets plug-ins from engine + */ + void addNewSamplers(CArrayFixFlat& aAttributes); + + /** + * Loads plug-ins + */ + void loadPlugins(); + + /** + * Finds PI Profiler Engine process + */ + TInt FindProcessL(RProcess& aProc); + + /** + * Attaches client into PI Profiler engine + */ + void AttachClient(); + + /** + * Checks trace location sanity + */ + TBool CheckTraceLocationSanityL(TBuf8& aAttr); + +private: + + // Should Engine leaved on after ui is closed + bool iLeaveProfilingOnAfterClosing; + + // Public part of engine + PIProfilerEngine *iPublic; + + // Sampler Attributes + CArrayFixFlat* iSamplerAttributes; + + // General attributes + TGeneralAttributes iGeneralAttributes; + + // Engine status checker + CProfilerEngineStatusChecker* iStatusChecker; + +}; + +#endif // PIPROFILEREGINEPRIVATE_H