/*
* 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 MEASURETEST_H
#define MEASURETEST_H
#include <QWidget>
#include <HbView>
#include <afactivities_global.h>
#include <QList>
class HbLabel;
class QString;
class ActivityClient;
class QPixmap;
class QByteArray;
class QVariant;
class HbComboBox;
class QGraphicsGridLayout;
class HbPushButton;
class QByteArray;
class QFile;
class QTextStream;
class HbCheckBox;
class AfActivityStorage;
class AfActivation;
class QTimer;
class MeasureTest: public HbView
{
Q_OBJECT
public:
MeasureTest(QGraphicsItem *parent = 0);
~MeasureTest();
private slots:
void saveOne();
void saveMore();
void getOne();
void all();
void timeout();
void preClear();
void startTimer();
private:
void Before();
void After();
void Result();
int average(const QList<int>& list);
int writeResults(const QList<int>& list, int average);
void logError(const QString& mess);
bool saveBytes(int bytes);
bool deleteActivities();
bool saveOneInLoop(int action);
bool saveMoreInLoop(int action);
bool getOneInLoop(int bytes, int action);
void logResult();
void logResult(const QList<int>& indexes, int caseno, const QString& mess, const QString& type);
QString middle(const QList<int>& list);
void logSaveSummary(const QList<int>& indexes1, const QList<int>& indexes10);
void logGetSummary(const QList<int>& get1, const QList<int>& get2 , const QList<int>& get3);
void enableControls(bool enable);
private:
HbLabel *mResultLabel;
HbLabel *mItemLabel;
QString mItemMessage;
QString mResultMessage;
QGraphicsGridLayout *mLayout;
HbPushButton *mSaveOneButton;
HbPushButton *mSaveMoreButton;
HbPushButton *mGetButton;
HbPushButton *mAllButton;
QByteArray *mByteArray;
TInt64 iBefore;
TInt64 iAfter;
TInt64 iResult;
QFile* mFile;
QTextStream* mStream;
AfActivityStorage* mActivityStorage;
AfActivation* mActivation;
QObject *mActivityManager;
QList<QString> mActionsList;
QList<QList<int> > mResultsList;
QTimer* mTimer;
int mActionCounter;
};
#endif //MEASURETEST_H