diff -r 5db69f4c3d06 -r b048e15729d6 perfapps/piprofilerui/ui/hb/inc/piprofilerengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/piprofilerui/ui/hb/inc/piprofilerengine.h Fri Sep 03 17:11:21 2010 +0300 @@ -0,0 +1,135 @@ +/* +* 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 PIPROFILEREGINE_H +#define PIPROFILEREGINE_H + +#include +#include + +#include "pluginattributes.h" + +class PIProfilerEnginePrivate; +class GeneralAttributes; + +enum ProfilerEngineStatus +{ + PI_PROFILING = 0, PI_FINISHED_SUCCEFULLY, PI_ERROR +}; +enum ProfilingMode +{ + PI_PROFILINGMODENORMAL = 0, PI_PROFILINGMODETIMED +}; +enum ProfilingOutput +{ + PI_DEBUG_OUTPUT = 0, PI_FILE_OUTPUT +}; + +class PIProfilerEngine: public QObject +{ +Q_OBJECT +public: + + /** + * Constructor + */ + PIProfilerEngine(); + + /** + * Initilises engine + */ + bool init(); + + /** + * Destructor + */ + ~PIProfilerEngine(); + + /** + * Gets PI Profiler general settings + */ + void getGeneralSettings(GeneralAttributes &settings); + + /** + * Notifys engine that ui is ready + */ + void notifyUIReady(); + + /** + * Saves general settings into engine + */ + bool saveGeneralSettings(GeneralAttributes &settings); + + /** + * 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(); + + /** + * 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); + +signals: + + /** + * Signal that is emitted when plug-in list is loaded + */ + void pluginListUpdated(QList &samplerList); + + /** + * Signal that is emitted when profiling status is changed + */ + void profilingStatusChanged(ProfilerEngineStatus status, const QString &text = 0, + ProfilingMode profilingMode = PI_PROFILINGMODENORMAL, ProfilingOutput output = + PI_FILE_OUTPUT); + +private: + + // private implementation + PIProfilerEnginePrivate *mPrivate; + +private: + // Friend classes + + friend class PIProfilerEnginePrivate; + +}; + +#endif // PIPROFILEREGINE_H