diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-01-29 19:02:16 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-03-02 11:48:36 +0200 |
commit | adf95bca87410244fde97fc732dcc346e25e0dca (patch) | |
tree | 938d8ac9c83582860c990d6179afb67c0aedbbec /perfprocesshandler.cpp | |
parent | ddbf08f7403e4faca5acc9e99e873ebbc8e4bf52 (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.cpp | 39 |
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(); +} |