summaryrefslogtreecommitdiffstats
path: root/perfprocesshandler.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-01-29 19:02:16 +0100
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-03-02 11:48:36 +0200
commitadf95bca87410244fde97fc732dcc346e25e0dca (patch)
tree938d8ac9c83582860c990d6179afb67c0aedbbec /perfprocesshandler.cpp
parentddbf08f7403e4faca5acc9e99e873ebbc8e4bf52 (diff)
Add perf profiler run mode
Change-Id: If2f84bec32957ab9c45df503efaf592cebbd4f72 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'perfprocesshandler.cpp')
-rw-r--r--perfprocesshandler.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/perfprocesshandler.cpp b/perfprocesshandler.cpp
new file mode 100644
index 0000000..9b609ab
--- /dev/null
+++ b/perfprocesshandler.cpp
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd
+** All rights reserved.
+** For any questions to The Qt Company, please use contact form at http://www.qt.io/contact-us
+**
+** This file is part of QtEnterprise 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 The Qt Company.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://www.qt.io/contact-us
+**
+****************************************************************************/
+
+#include "perfprocesshandler.h"
+#include <QTcpSocket>
+
+PerfProcessHandler::PerfProcessHandler(Process *process, const QStringList &allArgs) : mProcess(process), mAllArgs(allArgs)
+{
+ QObject::connect(&mServer, &QTcpServer::newConnection, this, &PerfProcessHandler::acceptConnection);
+}
+
+QTcpServer *PerfProcessHandler::server()
+{
+ return &mServer;
+}
+
+void PerfProcessHandler::acceptConnection()
+{
+ QTcpSocket *socket = mServer.nextPendingConnection();
+ socket->setParent(mProcess);
+ mProcess->setStdoutFd(socket->socketDescriptor());
+ mProcess->start(mAllArgs);
+ this->deleteLater();
+}