forked from qt-creator/qt-creator
In case a passed future interface is used only for checking for cancel, use QFuture<void> instead. This will properly integrate with QPromise API. Change-Id: I33e5e9c62dbcfb1f7aa71eace6158e5b7c0a7098 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
#pragma once
|
|
|
|
#include "androidconfigurations.h"
|
|
|
|
#include <QFuture>
|
|
|
|
#include <optional>
|
|
|
|
namespace Android::Internal {
|
|
|
|
class AndroidAvdManager
|
|
{
|
|
public:
|
|
AndroidAvdManager(const AndroidConfig& config = AndroidConfigurations::currentConfig());
|
|
~AndroidAvdManager();
|
|
|
|
QFuture<CreateAvdInfo> createAvd(CreateAvdInfo info) const;
|
|
bool removeAvd(const QString &name) const;
|
|
QFuture<AndroidDeviceInfoList> avdList() const;
|
|
|
|
QString startAvd(const QString &name) const;
|
|
bool startAvdAsync(const QString &avdName) const;
|
|
QString findAvd(const QString &avdName) const;
|
|
QString waitForAvd(const QString &avdName, const std::optional<QFuture<void>> &future = {}) const;
|
|
bool isAvdBooted(const QString &device) const;
|
|
static bool avdManagerCommand(const AndroidConfig &config,
|
|
const QStringList &args,
|
|
QString *output);
|
|
|
|
private:
|
|
bool waitForBooted(const QString &serialNumber, const std::optional<QFuture<void>> &future = {}) const;
|
|
|
|
private:
|
|
const AndroidConfig &m_config;
|
|
};
|
|
|
|
} // Android::Internal
|