activityfw/testapplications/newtestappset/actautobenchmark/hbmeasuretest.h
author Jaakko Haukipuro (Nokia-MS/Oulu) <Jaakko.Haukipuro@nokia.com>
Thu, 16 Sep 2010 12:11:40 +0100
changeset 117 c63ee96dbe5f
permissions -rw-r--r--
Missing activityfw and taskswitcher components - fix for Bug 3670

/*
* 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