1#ifndef AVERAGELOADMANAGER_H
2#define AVERAGELOADMANAGER_H
3
4#include <QObject>
5
6class QTimer;
7
8/*!
9 * \class AverageLoadManager
10 *
11 * \inmodule ThreadWeaver
12 */
13class AverageLoadManager : public QObject
14{
15 Q_OBJECT
16public:
17 /*!
18 */
19 explicit AverageLoadManager(QObject *parent = nullptr);
20
21 /*!
22 */
23 void activate(bool enabled);
24 /*!
25 */
26 bool available() const;
27 /*!
28 */
29 QPair<int, int> workersRange() const;
30
31Q_SIGNALS:
32 /*!
33 */
34 void recommendedWorkerCount(int);
35
36private Q_SLOTS:
37 /*!
38 */
39 void update();
40
41private:
42 QTimer *m_timer;
43 int m_min, m_max;
44};
45
46#endif // AVERAGELOADMANAGER_H
47

source code of threadweaver/examples/ThumbNailer/AverageLoadManager.h