summaryrefslogtreecommitdiffstats
path: root/src/b2qt-flashing-wizard/progressor/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/b2qt-flashing-wizard/progressor/main.cpp')
-rw-r--r--src/b2qt-flashing-wizard/progressor/main.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/b2qt-flashing-wizard/progressor/main.cpp b/src/b2qt-flashing-wizard/progressor/main.cpp
deleted file mode 100644
index 757f2b4..0000000
--- a/src/b2qt-flashing-wizard/progressor/main.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use the contact form at
-** http://qt.digia.com/
-**
-** This file is part of Qt Enterprise Embedded.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** the contact form at http://qt.digia.com/
-**
-****************************************************************************/
-
-#include <QCoreApplication>
-#include <QProcess>
-#include <QDebug>
-#include <QElapsedTimer>
-#include <QSocketNotifier>
-#include <QFile>
-
-int main(int argc, char **argv)
-{
- QCoreApplication app(argc, argv);
-
- QStringList args = app.arguments();
-
- args.removeFirst();
- if (args.size() == 0) {
- qDebug() << "Usage: Program to excute";
- return 1;
- }
-
- QList<qint32> timings;
- QElapsedTimer timer;
- QProcess p;
- p.setProcessChannelMode(QProcess::MergedChannels);
- QSocketNotifier notifier(0, QSocketNotifier::Read);
- QFile standardInput;
- if (!standardInput.open(0, QFile::ReadOnly))
- qFatal("open");
- QObject::connect(&notifier, &QSocketNotifier::activated, [&p, &standardInput](){ p.write(standardInput.readAll());});
-
- QObject::connect(&p, (void (QProcess::*)(int, QProcess::ExitStatus))&QProcess::finished, [&timings, &timer](int exitCode, QProcess::ExitStatus exitStatus) {
- timings += -timer.elapsed();
- if (exitStatus != QProcess::NormalExit || exitCode != 0) {
- qDebug() << "Something went wrong";
- qApp->exit(1);
- return;
- }
-
- qDebug() << "Doing calculations";
- double factor = 100.0/abs(timings.last());
-
- for (int i = 0; i < timings.size(); ++i) {
- qint32 value = timings[i];
- qint32 output = value * factor;
- QString text;
- if (i == timings.size()-1)
- fprintf(stdout, "%d\n", value);
- else {
- if (output == 0 && value < 0)
- fprintf(stdout, "-0\n");
- else
- fprintf(stdout, "%d\n", output);
- }
- }
- qApp->exit(0);
- });
-
- QObject::connect(&p, &QProcess::readyRead, [&p, &timer, &timings]() {
- while (p.canReadLine()) {
- QByteArray line = p.readLine();
- line.chop(1);
- qDebug() << line;
-
- if (line.startsWith("+"))
- timings += -timer.elapsed();
- else
- timings += timer.elapsed();
- }
- });
-
- p.start("/bin/sh", QStringList() << "-x" << args);
- timer.start();
- if (!p.waitForStarted())
- qFatal("Failed to start");
-
- return app.exec();
-}
-