From fcf9c42e40fba5d91e79e5cc6b3096ed6bb538a2 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 25 May 2021 12:14:56 +0200 Subject: [PATCH] iOS: Make SimulatorControl static It already contained only static members, so creating instances didn't serve a purpose. Change-Id: I261503b606c21cf498dcd8470d5645d92d97c325 Reviewed-by: Jarek Kobus Reviewed-by: Qt CI Bot --- src/plugins/ios/createsimulatordialog.cpp | 7 +- src/plugins/ios/createsimulatordialog.h | 1 - src/plugins/ios/iossettingswidget.cpp | 45 +++-- src/plugins/ios/iossettingswidget.h | 1 - src/plugins/ios/iostoolhandler.cpp | 36 ++-- src/plugins/ios/simulatorcontrol.cpp | 194 +++++++++++----------- src/plugins/ios/simulatorcontrol.h | 40 ++--- 7 files changed, 153 insertions(+), 171 deletions(-) diff --git a/src/plugins/ios/createsimulatordialog.cpp b/src/plugins/ios/createsimulatordialog.cpp index 1bfcc25f71e..19d49451c88 100644 --- a/src/plugins/ios/createsimulatordialog.cpp +++ b/src/plugins/ios/createsimulatordialog.cpp @@ -38,10 +38,9 @@ namespace Internal { using namespace std::placeholders; -CreateSimulatorDialog::CreateSimulatorDialog(QWidget *parent) : - QDialog(parent), - m_ui(new Ui::CreateSimulatorDialog), - m_simControl(new SimulatorControl(this)) +CreateSimulatorDialog::CreateSimulatorDialog(QWidget *parent) + : QDialog(parent) + , m_ui(new Ui::CreateSimulatorDialog) { m_ui->setupUi(this); m_ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); diff --git a/src/plugins/ios/createsimulatordialog.h b/src/plugins/ios/createsimulatordialog.h index e2381074a77..d46b3b8da8e 100644 --- a/src/plugins/ios/createsimulatordialog.h +++ b/src/plugins/ios/createsimulatordialog.h @@ -60,7 +60,6 @@ private: private: Utils::FutureSynchronizer m_futureSync; Ui::CreateSimulatorDialog *m_ui = nullptr; - SimulatorControl *m_simControl = nullptr; QList m_runtimes; }; diff --git a/src/plugins/ios/iossettingswidget.cpp b/src/plugins/ios/iossettingswidget.cpp index 24209f0b75c..b1e767be4d9 100644 --- a/src/plugins/ios/iossettingswidget.cpp +++ b/src/plugins/ios/iossettingswidget.cpp @@ -63,8 +63,7 @@ static void onSimOperation(const SimulatorInfo &simInfo, SimulatorOperationDialo } IosSettingsWidget::IosSettingsWidget() - : m_ui(new Ui::IosSettingsWidget), - m_simControl(new SimulatorControl(this)) + : m_ui(new Ui::IosSettingsWidget) { m_ui->setupUi(this); auto proxyModel = new QSortFilterProxyModel(this); @@ -134,9 +133,9 @@ void IosSettingsWidget::onStart() .arg(info.name).arg(info.runtimeName).arg(info.state), Utils::StdErrFormat); } else { - futureList << QFuture(Utils::onResultReady(m_simControl->startSimulator(info.identifier), - std::bind(onSimOperation, info, statusDialog, - tr("simulator start"), _1))); + futureList << QFuture(Utils::onResultReady( + SimulatorControl::startSimulator(info.identifier), + std::bind(onSimOperation, info, statusDialog, tr("simulator start"), _1))); } } @@ -167,12 +166,11 @@ void IosSettingsWidget::onCreate() CreateSimulatorDialog createDialog(this); if (createDialog.exec() == QDialog::Accepted) { - QFuture f = QFuture(Utils::onResultReady( - m_simControl->createSimulator( - createDialog.name(), - createDialog.deviceType(), - createDialog.runtime()), - std::bind(onSimulatorCreate, createDialog.name(), _1))); + QFuture f = QFuture( + Utils::onResultReady(SimulatorControl::createSimulator(createDialog.name(), + createDialog.deviceType(), + createDialog.runtime()), + std::bind(onSimulatorCreate, createDialog.name(), _1))); statusDialog->addFutures({ f }); statusDialog->exec(); // Modal dialog returns only when all the operations are done or cancelled. } @@ -201,9 +199,9 @@ void IosSettingsWidget::onReset() QList> futureList; foreach (const SimulatorInfo &info, simulatorInfoList) { - futureList << QFuture(Utils::onResultReady(m_simControl->resetSimulator(info.identifier), - std::bind(onSimOperation, info, statusDialog, - tr("simulator reset"), _1))); + futureList << QFuture(Utils::onResultReady( + SimulatorControl::resetSimulator(info.identifier), + std::bind(onSimOperation, info, statusDialog, tr("simulator reset"), _1))); } statusDialog->addFutures(futureList); @@ -229,9 +227,9 @@ void IosSettingsWidget::onRename() QPointer statusDialog = new SimulatorOperationDialog(this); statusDialog->setAttribute(Qt::WA_DeleteOnClose); statusDialog->addMessage(tr("Renaming simulator device..."), Utils::NormalMessageFormat); - QFuture f = QFuture(Utils::onResultReady(m_simControl->renameSimulator(simInfo.identifier, newName), - std::bind(onSimOperation, simInfo, statusDialog, - tr("simulator rename"), _1))); + QFuture f = QFuture(Utils::onResultReady( + SimulatorControl::renameSimulator(simInfo.identifier, newName), + std::bind(onSimOperation, simInfo, statusDialog, tr("simulator rename"), _1))); statusDialog->addFutures({f}); statusDialog->exec(); // Modal dialog returns only when all the operations are done or cancelled. } @@ -258,9 +256,9 @@ void IosSettingsWidget::onDelete() Utils::NormalMessageFormat); QList> futureList; foreach (const SimulatorInfo &info, simulatorInfoList) { - futureList << QFuture(Utils::onResultReady(m_simControl->deleteSimulator(info.identifier), - std::bind(onSimOperation, info, statusDialog, - tr("simulator delete"), _1))); + futureList << QFuture(Utils::onResultReady( + SimulatorControl::deleteSimulator(info.identifier), + std::bind(onSimOperation, info, statusDialog, tr("simulator delete"), _1))); } statusDialog->addFutures(futureList); @@ -289,10 +287,9 @@ void IosSettingsWidget::onScreenshot() simulatorInfoList.count()), Utils::NormalMessageFormat); QList> futureList; foreach (const SimulatorInfo &info, simulatorInfoList) { - futureList << QFuture(Utils::onResultReady(m_simControl->takeSceenshot(info.identifier, - generatePath(info)), - std::bind(onSimOperation, info, statusDialog, - tr("simulator screenshot"), _1))); + futureList << QFuture(Utils::onResultReady( + SimulatorControl::takeSceenshot(info.identifier, generatePath(info)), + std::bind(onSimOperation, info, statusDialog, tr("simulator screenshot"), _1))); } statusDialog->addFutures(futureList); diff --git a/src/plugins/ios/iossettingswidget.h b/src/plugins/ios/iossettingswidget.h index e99afb448d9..f0d3f742943 100644 --- a/src/plugins/ios/iossettingswidget.h +++ b/src/plugins/ios/iossettingswidget.h @@ -58,7 +58,6 @@ private: private: Ui::IosSettingsWidget *m_ui = nullptr; - SimulatorControl *m_simControl = nullptr; }; } // namespace Internal diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp index 5481a14439e..c64a2731420 100644 --- a/src/plugins/ios/iostoolhandler.cpp +++ b/src/plugins/ios/iostoolhandler.cpp @@ -307,7 +307,6 @@ class IosSimulatorToolHandlerPrivate : public IosToolHandlerPrivate { public: explicit IosSimulatorToolHandlerPrivate(const IosDeviceType &devType, IosToolHandler *q); - ~IosSimulatorToolHandlerPrivate() override; // IosToolHandlerPrivate overrides public: @@ -327,7 +326,6 @@ private: private: qint64 m_pid = -1; - SimulatorControl *simCtl; LogTailFiles outputLogger; Utils::FutureSynchronizer futureSynchronizer; }; @@ -802,20 +800,14 @@ void IosDeviceToolHandlerPrivate::stop(int errorCode) // IosSimulatorToolHandlerPrivate IosSimulatorToolHandlerPrivate::IosSimulatorToolHandlerPrivate(const IosDeviceType &devType, - IosToolHandler *q) - : IosToolHandlerPrivate(devType, q), - simCtl(new SimulatorControl) + IosToolHandler *q) + : IosToolHandlerPrivate(devType, q) { QObject::connect(&outputLogger, &LogTailFiles::logMessage, std::bind(&IosToolHandlerPrivate::appOutput, this, _1)); futureSynchronizer.setCancelOnWait(true); } -IosSimulatorToolHandlerPrivate::~IosSimulatorToolHandlerPrivate() -{ - futureSynchronizer.waitForFinished(); - delete simCtl; -} void IosSimulatorToolHandlerPrivate::requestTransferApp(const QString &appBundlePath, const QString &deviceIdentifier, int timeout) { @@ -840,7 +832,8 @@ void IosSimulatorToolHandlerPrivate::requestTransferApp(const QString &appBundle if (SimulatorControl::isSimulatorRunning(m_deviceId)) installAppOnSimulator(); else - futureSynchronizer.addFuture(Utils::onResultReady(simCtl->startSimulator(m_deviceId), onSimulatorStart)); + futureSynchronizer.addFuture( + Utils::onResultReady(SimulatorControl::startSimulator(m_deviceId), onSimulatorStart)); } void IosSimulatorToolHandlerPrivate::requestRunApp(const QString &appBundlePath, @@ -876,7 +869,8 @@ void IosSimulatorToolHandlerPrivate::requestRunApp(const QString &appBundlePath, if (SimulatorControl::isSimulatorRunning(m_deviceId)) launchAppOnSimulator(extraArgs); else - futureSynchronizer.addFuture(Utils::onResultReady(simCtl->startSimulator(m_deviceId), onSimulatorStart)); + futureSynchronizer.addFuture( + Utils::onResultReady(SimulatorControl::startSimulator(m_deviceId), onSimulatorStart)); } void IosSimulatorToolHandlerPrivate::requestDeviceInfo(const QString &deviceId, int timeout) @@ -926,7 +920,8 @@ void IosSimulatorToolHandlerPrivate::installAppOnSimulator() }; isTransferringApp(m_bundlePath, m_deviceId, 20, 100, ""); - auto installFuture = simCtl->installApp(m_deviceId, Utils::FilePath::fromString(m_bundlePath)); + auto installFuture = SimulatorControl::installApp(m_deviceId, + Utils::FilePath::fromString(m_bundlePath)); futureSynchronizer.addFuture(Utils::onResultReady(installFuture, onResponseAppInstall)); } @@ -990,11 +985,16 @@ void IosSimulatorToolHandlerPrivate::launchAppOnSimulator(const QStringList &ext } }; - futureSynchronizer.addFuture(Utils::onResultReady( - simCtl->launchApp(m_deviceId, bundleId, debugRun, extraArgs, - captureConsole ? stdoutFile->fileName() : QString(), - captureConsole ? stderrFile->fileName() : QString()), - onResponseAppLaunch)); + futureSynchronizer.addFuture( + Utils::onResultReady(SimulatorControl::launchApp(m_deviceId, + bundleId, + debugRun, + extraArgs, + captureConsole ? stdoutFile->fileName() + : QString(), + captureConsole ? stderrFile->fileName() + : QString()), + onResponseAppLaunch)); } bool IosSimulatorToolHandlerPrivate::isResponseValid(const SimulatorControl::ResponseData &responseData) diff --git a/src/plugins/ios/simulatorcontrol.cpp b/src/plugins/ios/simulatorcontrol.cpp index d0ff9f2c1e9..099de44b9ff 100644 --- a/src/plugins/ios/simulatorcontrol.cpp +++ b/src/plugins/ios/simulatorcontrol.cpp @@ -178,54 +178,44 @@ static QList getAvailableRuntimes() return runtimes; } -class SimulatorControlPrivate { -private: - SimulatorControlPrivate(); - ~SimulatorControlPrivate(); +static SimulatorInfo deviceInfo(const QString &simUdid); +static QString bundleIdentifier(const Utils::FilePath &bundlePath); +static QString bundleExecutable(const Utils::FilePath &bundlePath); - static SimulatorInfo deviceInfo(const QString &simUdid); - static QString bundleIdentifier(const Utils::FilePath &bundlePath); - static QString bundleExecutable(const Utils::FilePath &bundlePath); +static void startSimulator(QFutureInterface &fi, + const QString &simUdid); +static void installApp(QFutureInterface &fi, + const QString &simUdid, + const Utils::FilePath &bundlePath); +static void launchApp(QFutureInterface &fi, + const QString &simUdid, + const QString &bundleIdentifier, + bool waitForDebugger, + const QStringList &extraArgs, + const QString &stdoutPath, + const QString &stderrPath); +static void deleteSimulator(QFutureInterface &fi, + const QString &simUdid); +static void resetSimulator(QFutureInterface &fi, + const QString &simUdid); +static void renameSimulator(QFutureInterface &fi, + const QString &simUdid, + const QString &newName); +static void createSimulator(QFutureInterface &fi, + const QString &name, + const DeviceTypeInfo &deviceType, + const RuntimeInfo &runtime); +static void takeSceenshot(QFutureInterface &fi, + const QString &simUdid, + const QString &filePath); - void startSimulator(QFutureInterface &fi, const QString &simUdid); - void installApp(QFutureInterface &fi, const QString &simUdid, - const Utils::FilePath &bundlePath); - void launchApp(QFutureInterface &fi, const QString &simUdid, - const QString &bundleIdentifier, bool waitForDebugger, - const QStringList &extraArgs, const QString &stdoutPath, - const QString &stderrPath); - void deleteSimulator(QFutureInterface &fi, - const QString &simUdid); - void resetSimulator(QFutureInterface &fi, - const QString &simUdid); - void renameSimulator(QFutureInterface &fi, - const QString &simUdid, const QString &newName); - void createSimulator(QFutureInterface &fi, - const QString &name, const DeviceTypeInfo &deviceType, - const RuntimeInfo &runtime); - void takeSceenshot(QFutureInterface &fi, const QString &simUdid, - const QString &filePath); - - static QList availableDevices; - static QList availableDeviceTypes; - static QList availableRuntimes; - friend class SimulatorControl; -}; - -SimulatorControl::SimulatorControl(QObject *parent) : - QObject(parent), - d(new SimulatorControlPrivate) -{ -} - -SimulatorControl::~SimulatorControl() -{ - delete d; -} +static QList s_availableDevices; +static QList s_availableDeviceTypes; +static QList s_availableRuntimes; QList SimulatorControl::availableSimulators() { - return SimulatorControlPrivate::availableDevices; + return s_availableDevices; } static QList getAllSimulatorDevices() @@ -267,21 +257,21 @@ QFuture > SimulatorControl::updateDeviceTypes() { QFuture< QList > future = Utils::runAsync(getAvailableDeviceTypes); Utils::onResultReady(future, [](const QList &deviceTypes) { - SimulatorControlPrivate::availableDeviceTypes = deviceTypes; + s_availableDeviceTypes = deviceTypes; }); return future; } QList SimulatorControl::availableRuntimes() { - return SimulatorControlPrivate::availableRuntimes; + return s_availableRuntimes; } QFuture > SimulatorControl::updateRuntimes() { QFuture< QList > future = Utils::runAsync(getAvailableRuntimes); Utils::onResultReady(future, [](const QList &runtimes) { - SimulatorControlPrivate::availableRuntimes = runtimes; + s_availableRuntimes = runtimes; }); return future; } @@ -289,9 +279,8 @@ QFuture > SimulatorControl::updateRuntimes() QFuture< QList > SimulatorControl::updateAvailableSimulators() { QFuture< QList > future = Utils::runAsync(getAvailableSimulators); - Utils::onResultReady(future, [](const QList &devices) { - SimulatorControlPrivate::availableDevices = devices; - }); + Utils::onResultReady(future, + [](const QList &devices) { s_availableDevices = devices; }); return future; } @@ -299,53 +288,60 @@ bool SimulatorControl::isSimulatorRunning(const QString &simUdid) { if (simUdid.isEmpty()) return false; - return SimulatorControlPrivate::deviceInfo(simUdid).isBooted(); + return deviceInfo(simUdid).isBooted(); } QString SimulatorControl::bundleIdentifier(const Utils::FilePath &bundlePath) { - return SimulatorControlPrivate::bundleIdentifier(bundlePath); + return Internal::bundleIdentifier(bundlePath); } QString SimulatorControl::bundleExecutable(const Utils::FilePath &bundlePath) { - return SimulatorControlPrivate::bundleExecutable(bundlePath); + return Internal::bundleExecutable(bundlePath); } -QFuture SimulatorControl::startSimulator(const QString &simUdid) const +QFuture SimulatorControl::startSimulator(const QString &simUdid) { - return Utils::runAsync(&SimulatorControlPrivate::startSimulator, d, simUdid); + return Utils::runAsync(Internal::startSimulator, simUdid); } -QFuture -SimulatorControl::installApp(const QString &simUdid, const Utils::FilePath &bundlePath) const +QFuture SimulatorControl::installApp( + const QString &simUdid, const Utils::FilePath &bundlePath) { - return Utils::runAsync(&SimulatorControlPrivate::installApp, d, simUdid, bundlePath); + return Utils::runAsync(Internal::installApp, simUdid, bundlePath); } -QFuture -SimulatorControl::launchApp(const QString &simUdid, const QString &bundleIdentifier, - bool waitForDebugger, const QStringList &extraArgs, - const QString &stdoutPath, const QString &stderrPath) const +QFuture SimulatorControl::launchApp(const QString &simUdid, + const QString &bundleIdentifier, + bool waitForDebugger, + const QStringList &extraArgs, + const QString &stdoutPath, + const QString &stderrPath) { - return Utils::runAsync(&SimulatorControlPrivate::launchApp, d, simUdid, bundleIdentifier, - waitForDebugger, extraArgs, stdoutPath, stderrPath); + return Utils::runAsync(Internal::launchApp, + simUdid, + bundleIdentifier, + waitForDebugger, + extraArgs, + stdoutPath, + stderrPath); } -QFuture SimulatorControl::deleteSimulator(const QString &simUdid) const +QFuture SimulatorControl::deleteSimulator(const QString &simUdid) { - return Utils::runAsync(&SimulatorControlPrivate::deleteSimulator, d, simUdid); + return Utils::runAsync(Internal::deleteSimulator, simUdid); } -QFuture SimulatorControl::resetSimulator(const QString &simUdid) const +QFuture SimulatorControl::resetSimulator(const QString &simUdid) { - return Utils::runAsync(&SimulatorControlPrivate::resetSimulator, d, simUdid); + return Utils::runAsync(Internal::resetSimulator, simUdid); } QFuture SimulatorControl::renameSimulator(const QString &simUdid, - const QString &newName) const + const QString &newName) { - return Utils::runAsync(&SimulatorControlPrivate::renameSimulator, d, simUdid, newName); + return Utils::runAsync(Internal::renameSimulator, simUdid, newName); } QFuture @@ -353,25 +349,18 @@ SimulatorControl::createSimulator(const QString &name, const DeviceTypeInfo &deviceType, const RuntimeInfo &runtime) { - return Utils::runAsync(&SimulatorControlPrivate::createSimulator, d, name, deviceType, runtime); + return Utils::runAsync(Internal::createSimulator, name, deviceType, runtime); } QFuture SimulatorControl::takeSceenshot(const QString &simUdid, const QString &filePath) { - return Utils::runAsync(&SimulatorControlPrivate::takeSceenshot, d, simUdid, filePath); + return Utils::runAsync(Internal::takeSceenshot, simUdid, filePath); } // Static members -QList SimulatorControlPrivate::availableDevices; -QList SimulatorControlPrivate::availableDeviceTypes; -QList SimulatorControlPrivate::availableRuntimes; -SimulatorControlPrivate::SimulatorControlPrivate() = default; - -SimulatorControlPrivate::~SimulatorControlPrivate() = default; - -SimulatorInfo SimulatorControlPrivate::deviceInfo(const QString &simUdid) +SimulatorInfo deviceInfo(const QString &simUdid) { auto matchDevice = [simUdid](const SimulatorInfo &device) { return device.identifier == simUdid; @@ -383,7 +372,7 @@ SimulatorInfo SimulatorControlPrivate::deviceInfo(const QString &simUdid) return device; } -QString SimulatorControlPrivate::bundleIdentifier(const Utils::FilePath &bundlePath) +QString bundleIdentifier(const Utils::FilePath &bundlePath) { QString bundleID; #ifdef Q_OS_MAC @@ -403,7 +392,7 @@ QString SimulatorControlPrivate::bundleIdentifier(const Utils::FilePath &bundleP return bundleID; } -QString SimulatorControlPrivate::bundleExecutable(const Utils::FilePath &bundlePath) +QString bundleExecutable(const Utils::FilePath &bundlePath) { QString executable; #ifdef Q_OS_MAC @@ -422,8 +411,7 @@ QString SimulatorControlPrivate::bundleExecutable(const Utils::FilePath &bundleP return executable; } -void SimulatorControlPrivate::startSimulator(QFutureInterface &fi, - const QString &simUdid) +void startSimulator(QFutureInterface &fi, const QString &simUdid) { SimulatorControl::ResponseData response(simUdid); SimulatorInfo simInfo = deviceInfo(simUdid); @@ -480,8 +468,9 @@ void SimulatorControlPrivate::startSimulator(QFutureInterface &fi, - const QString &simUdid, const Utils::FilePath &bundlePath) +void installApp(QFutureInterface &fi, + const QString &simUdid, + const Utils::FilePath &bundlePath) { QTC_CHECK(bundlePath.exists()); @@ -493,10 +482,13 @@ void SimulatorControlPrivate::installApp(QFutureInterface &fi, - const QString &simUdid, const QString &bundleIdentifier, - bool waitForDebugger, const QStringList &extraArgs, - const QString &stdoutPath, const QString &stderrPath) +void launchApp(QFutureInterface &fi, + const QString &simUdid, + const QString &bundleIdentifier, + bool waitForDebugger, + const QStringList &extraArgs, + const QString &stdoutPath, + const QString &stderrPath) { SimulatorControl::ResponseData response(simUdid); if (!bundleIdentifier.isEmpty() && !fi.isCanceled()) { @@ -531,8 +523,7 @@ void SimulatorControlPrivate::launchApp(QFutureInterface &fi, - const QString &simUdid) +void deleteSimulator(QFutureInterface &fi, const QString &simUdid) { SimulatorControl::ResponseData response(simUdid); response.success = runSimCtlCommand({"delete", simUdid}, nullptr, &response.commandOutput); @@ -541,8 +532,7 @@ void SimulatorControlPrivate::deleteSimulator(QFutureInterface &fi, - const QString &simUdid) +void resetSimulator(QFutureInterface &fi, const QString &simUdid) { SimulatorControl::ResponseData response(simUdid); response.success = runSimCtlCommand({"erase", simUdid}, nullptr, &response.commandOutput); @@ -551,8 +541,9 @@ void SimulatorControlPrivate::resetSimulator(QFutureInterface &fi, - const QString &simUdid, const QString &newName) +void renameSimulator(QFutureInterface &fi, + const QString &simUdid, + const QString &newName) { SimulatorControl::ResponseData response(simUdid); response.success = runSimCtlCommand({"rename", simUdid, newName}, @@ -563,10 +554,10 @@ void SimulatorControlPrivate::renameSimulator(QFutureInterface &fi, - const QString &name, - const DeviceTypeInfo &deviceType, - const RuntimeInfo &runtime) +void createSimulator(QFutureInterface &fi, + const QString &name, + const DeviceTypeInfo &deviceType, + const RuntimeInfo &runtime) { SimulatorControl::ResponseData response("Invalid"); if (!name.isEmpty()) { @@ -582,8 +573,9 @@ void SimulatorControlPrivate::createSimulator(QFutureInterface &fi, - const QString &simUdid, const QString &filePath) +void takeSceenshot(QFutureInterface &fi, + const QString &simUdid, + const QString &filePath) { SimulatorControl::ResponseData response(simUdid); response.success = runSimCtlCommand({"io", simUdid, "screenshot", filePath}, diff --git a/src/plugins/ios/simulatorcontrol.h b/src/plugins/ios/simulatorcontrol.h index 5d4351ae50d..a79c24eab48 100644 --- a/src/plugins/ios/simulatorcontrol.h +++ b/src/plugins/ios/simulatorcontrol.h @@ -74,9 +74,8 @@ public: class DeviceTypeInfo : public SimulatorEntity {}; -class SimulatorControl : public QObject +class SimulatorControl { - Q_OBJECT public: struct ResponseData { ResponseData(const QString & udid): @@ -88,10 +87,6 @@ public: QString commandOutput; }; -public: - explicit SimulatorControl(QObject* parent = nullptr); - ~SimulatorControl() override; - public: static QList availableDeviceTypes(); static QFuture > updateDeviceTypes(); @@ -104,23 +99,24 @@ public: static QString bundleExecutable(const Utils::FilePath &bundlePath); public: - QFuture startSimulator(const QString &simUdid) const; - QFuture installApp(const QString &simUdid, const Utils::FilePath &bundlePath) const; - QFuture launchApp(const QString &simUdid, const QString &bundleIdentifier, - bool waitForDebugger, const QStringList &extraArgs, - const QString& stdoutPath = QString(), - const QString& stderrPath = QString()) const; - QFuture deleteSimulator(const QString &simUdid) const; - QFuture resetSimulator(const QString &simUdid) const; - QFuture renameSimulator(const QString &simUdid, const QString &newName) const; - QFuture createSimulator(const QString &name, - const DeviceTypeInfo &deviceType, - const RuntimeInfo &runtime); - QFuture takeSceenshot(const QString &simUdid, const QString &filePath); - -private: - SimulatorControlPrivate *d; + static QFuture startSimulator(const QString &simUdid); + static QFuture installApp(const QString &simUdid, + const Utils::FilePath &bundlePath); + static QFuture launchApp(const QString &simUdid, + const QString &bundleIdentifier, + bool waitForDebugger, + const QStringList &extraArgs, + const QString &stdoutPath = QString(), + const QString &stderrPath = QString()); + static QFuture deleteSimulator(const QString &simUdid); + static QFuture resetSimulator(const QString &simUdid); + static QFuture renameSimulator(const QString &simUdid, const QString &newName); + static QFuture createSimulator(const QString &name, + const DeviceTypeInfo &deviceType, + const RuntimeInfo &runtime); + static QFuture takeSceenshot(const QString &simUdid, const QString &filePath); }; + } // namespace Internal } // namespace Ios