Files
qt-creator/src/plugins/qmlprofiler/qmlprofilerruncontrol.h

84 lines
2.5 KiB
C
Raw Normal View History

/****************************************************************************
2011-03-25 09:25:17 +01:00
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
2011-03-25 09:25:17 +01:00
**
** This file is part of Qt Creator.
2011-03-25 09:25:17 +01:00
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
2011-03-25 09:25:17 +01:00
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
2011-03-25 09:25:17 +01:00
**
****************************************************************************/
2011-03-25 09:25:17 +01:00
#pragma once
2011-03-11 12:22:57 +01:00
#include "qmlprofilerstatemanager.h"
#include <projectexplorer/runconfiguration.h>
#include <projectexplorer/runnables.h>
2011-04-15 12:59:44 +02:00
#include <utils/outputformat.h>
#include <utils/port.h>
#include <qmldebug/qmloutputparser.h>
2011-03-11 12:22:57 +01:00
namespace QmlProfiler {
2011-03-11 12:22:57 +01:00
class QmlProfilerRunner : public ProjectExplorer::RunWorker
2011-03-11 12:22:57 +01:00
{
Q_OBJECT
2011-03-11 12:22:57 +01:00
public:
QmlProfilerRunner(ProjectExplorer::RunControl *runControl);
~QmlProfilerRunner() override;
2011-03-11 12:22:57 +01:00
struct Configuration {
Utils::Port port;
QString socket;
};
void setLocalConfiguration(const Configuration &conf);
void registerProfilerStateManager( QmlProfilerStateManager *profilerState );
void notifyRemoteSetupDone(Utils::Port port);
void notifyRemoteSetupFailed(const QString &errorMessage);
void cancelProcess();
void notifyRemoteFinished();
2011-03-11 12:22:57 +01:00
static Utils::Port findFreePort(QString &host);
static QString findFreeSocket();
signals:
void localRunnerStarted();
void localRunnerStopped();
private:
void start() override;
void stop() override;
void wrongSetupMessageBoxFinished(int);
void profilerStateChanged();
void spontaneousStop(int exitCode, QProcess::ExitStatus status);
void startLocalRunner();
void stopLocalRunner();
class QmlProfilerRunnerPrivate;
QmlProfilerRunnerPrivate *d;
2011-03-11 12:22:57 +01:00
};
} // namespace QmlProfiler