Files
qt-creator/src/plugins/android/androidavdmanager.h
Jarek Kobus bf059bff7d Android: Replace QFutureInterfaceBase with QFuture<void>
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>
2023-03-10 13:09:20 +00:00

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