forked from qt-creator/qt-creator
Android: Refactor Android SDK packages
Introduce a hierarchy for Android SDK packages and refactor the code accordingly. This is ground work for sdk management and automatic android setup Task-number: QTCREATORBUG-18978 Change-Id: Idef545e3b3a8e33e920be52b26094fb8046afcd3 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
This commit is contained in:
@@ -25,26 +25,46 @@
|
||||
#pragma once
|
||||
|
||||
#include "utils/fileutils.h"
|
||||
#include "androidconfigurations.h"
|
||||
#include "androidsdkpackage.h"
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace Android {
|
||||
|
||||
class AndroidConfig;
|
||||
|
||||
namespace Internal {
|
||||
|
||||
class SdkManagerOutputParser;
|
||||
class AndroidSdkManagerPrivate;
|
||||
|
||||
class AndroidSdkManager
|
||||
class AndroidSdkManager : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AndroidSdkManager(const AndroidConfig &config);
|
||||
AndroidSdkManager(const AndroidConfig &config, QObject *parent = nullptr);
|
||||
~AndroidSdkManager();
|
||||
|
||||
SdkPlatformList availableSdkPlatforms(bool *ok = nullptr);
|
||||
SdkPlatformList installedSdkPlatforms();
|
||||
const AndroidSdkPackageList &allSdkPackages();
|
||||
AndroidSdkPackageList availableSdkPackages();
|
||||
AndroidSdkPackageList installedSdkPackages();
|
||||
|
||||
SdkPlatform *latestAndroidSdkPlatform(AndroidSdkPackage::PackageState state
|
||||
= AndroidSdkPackage::Installed);
|
||||
SdkPlatformList filteredSdkPlatforms(int minApiLevel,
|
||||
AndroidSdkPackage::PackageState state
|
||||
= AndroidSdkPackage::Installed);
|
||||
void reloadPackages(bool forceReload = false);
|
||||
|
||||
signals:
|
||||
void packageReloadBegin();
|
||||
void packageReloadFinished();
|
||||
|
||||
private:
|
||||
const AndroidConfig &m_config;
|
||||
std::unique_ptr<SdkManagerOutputParser> m_parser;
|
||||
std::unique_ptr<AndroidSdkManagerPrivate> m_d;
|
||||
friend class AndroidSdkManagerPrivate;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user