diff -r 5db69f4c3d06 -r b048e15729d6 perfapps/perfmon/ui/hb/app/inc/enginewrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfapps/perfmon/ui/hb/app/inc/enginewrapper.h Fri Sep 03 17:11:21 2010 +0300 @@ -0,0 +1,198 @@ +/* +* 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 ENGINEWRAPPER_H +#define ENGINEWRAPPER_H + +#include "perfmon_engine.h" + +#include +#include +#include +#include + +struct SampleData +{ + qint64 mFree; + qint64 mSize; + qint64 mTimeFromStart; +}; + +class SampleEntry +{ +public: + SampleEntry(const TSampleEntry& sampleEntry) : mEntry(&sampleEntry) {} + + QString description() const { return QString((QChar*)mEntry->iDescription.Ptr(), mEntry->iDescription.Length()); } + QString unitShort() const { return QString((QChar*)mEntry->iUnitTypeShort.Ptr(), mEntry->iUnitTypeShort.Length()); } + QString unitLong() const { return QString((QChar*)mEntry->iUnitTypeLong.Ptr(), mEntry->iUnitTypeLong.Length()); } + int driveNumber() const { return mEntry->iDriveNumber; } + QColor graphColor() const { return QColor(mEntry->iGraphColor.Red(), mEntry->iGraphColor.Green(), mEntry->iGraphColor.Blue()); } + + int sampleCount() const { return mEntry->iSampleDataArray->Count(); } + inline const SampleData& sample(int index) const { return reinterpret_cast(mEntry->iSampleDataArray->At(index)); } +private: + const TSampleEntry *mEntry; + +friend class EngineWrapper; +}; + +class PerfMonSources +{ +public: + int count() const { return ESourcesLength; } + int isEnabled (int index) const { return mSources.iSrcEnabled[index]; } + void setEnabled(int index, bool enabled) { mSources.iSrcEnabled[index] = enabled; } + QList enabledIndexes() const { + QList indexes; + for(int i=0; i &indexes) + { + for (int i=0; i& sampleEntries() const { return mEntries; } + + PerfMonSettings &settings() { return mSettings; } + const PerfMonSettings &settings() const { return mSettings; } + + int SampleEntryPosToSettingPos(int entryPos) const; + +public slots: + + bool updateSettings(); + bool initialize(); + void finalize(); + void setLoggingEnabled(bool enabled); + +signals: + + void samplesUpdated(); + void settingsUpdated(); + +protected: + void SendDrawEventToContainersL(); + +private: + QList mEntries; + + void createSampleEntriesArray(); + + PerfMonSettings mSettings; +}; + +#endif //ENGINEWRAPPER_H