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

68 lines
1.7 KiB
C
Raw Normal View History

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
2011-03-25 09:25:17 +01:00
#pragma once
2011-03-11 12:22:57 +01:00
#include "qmlprofilerstatemanager.h"
#include <projectexplorer/runcontrol.h>
#include <projectexplorer/projectexplorerconstants.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 {
namespace Internal {
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
void registerProfilerStateManager( QmlProfilerStateManager *profilerState );
void cancelProcess();
private:
void start() override;
void stop() override;
void profilerStateChanged();
class QmlProfilerRunnerPrivate;
QmlProfilerRunnerPrivate *d;
2011-03-11 12:22:57 +01:00
};
class LocalQmlProfilerSupport : public ProjectExplorer::SimpleTargetRunner
{
Q_OBJECT
public:
LocalQmlProfilerSupport(ProjectExplorer::RunControl *runControl);
LocalQmlProfilerSupport(ProjectExplorer::RunControl *runControl,
const QUrl &serverUrl);
};
void setupQmlProfilerRunning();
} // QmlProfiler::Internal
class SimpleQmlProfilerRunnerFactory final : public ProjectExplorer::RunWorkerFactory
{
public:
explicit SimpleQmlProfilerRunnerFactory(const QList<Utils::Id> &runConfigs, const QList<Utils::Id> &extraRunModes = {})
{
cloneProduct(ProjectExplorer::Constants::QML_PROFILER_RUN_FACTORY);
addSupportedRunMode(ProjectExplorer::Constants::QML_PROFILER_RUN_MODE);
for (const Utils::Id &id : extraRunModes)
addSupportedRunMode(id);
setSupportedRunConfigs(runConfigs);
}
};
} // QmlProfiler