forked from qt-creator/qt-creator
SdkManagerOutputParser: Hide some impl details in cpp
Change-Id: Ibeaee715f5b2d5f35ef68fe5c00f7982dea437f7 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -19,8 +19,7 @@ const char revisionKey[] = "Version:";
|
||||
const char descriptionKey[] = "Description:";
|
||||
} // namespace
|
||||
|
||||
using namespace Android;
|
||||
using namespace Android::Internal;
|
||||
namespace Android::Internal {
|
||||
|
||||
using MarkerTagsType = std::map<SdkManagerOutputParser::MarkerTag, const char *>;
|
||||
Q_GLOBAL_STATIC_WITH_ARGS(MarkerTagsType, markerTags,
|
||||
@@ -37,6 +36,17 @@ Q_GLOBAL_STATIC_WITH_ARGS(MarkerTagsType, markerTags,
|
||||
{SdkManagerOutputParser::MarkerTag::NdkMarker, Constants::ndkPackageName},
|
||||
{SdkManagerOutputParser::MarkerTag::ExtrasMarker, "extras"}}));
|
||||
|
||||
class GenericPackageData
|
||||
{
|
||||
public:
|
||||
bool isValid() const { return !revision.isNull() && !description.isNull(); }
|
||||
QStringList headerParts;
|
||||
QVersionNumber revision;
|
||||
QString description;
|
||||
Utils::FilePath installedLocation;
|
||||
QMap<QString, QString> extraData;
|
||||
};
|
||||
|
||||
void SdkManagerOutputParser::parsePackageListing(const QString &output)
|
||||
{
|
||||
QStringList packageData;
|
||||
@@ -238,10 +248,8 @@ static bool valueForKey(QString key, const QString &line, QString *value = nullp
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SdkManagerOutputParser::parseAbstractData(SdkManagerOutputParser::GenericPackageData &output,
|
||||
const QStringList &input, int minParts,
|
||||
const QString &logStrTag,
|
||||
const QStringList &extraKeys) const
|
||||
static bool parseAbstractData(GenericPackageData &output, const QStringList &input, int minParts,
|
||||
const QString &logStrTag, const QStringList &extraKeys = {})
|
||||
{
|
||||
if (input.isEmpty()) {
|
||||
qCDebug(sdkManagerLog) << logStrTag + ": Empty input";
|
||||
@@ -448,3 +456,5 @@ SdkManagerOutputParser::MarkerTag SdkManagerOutputParser::parseMarkers(const QSt
|
||||
|
||||
return None;
|
||||
}
|
||||
|
||||
} // namespace Android::Internal
|
||||
|
@@ -4,12 +4,7 @@
|
||||
|
||||
#include "androidsdkpackage.h"
|
||||
|
||||
#include <utils/filepath.h>
|
||||
|
||||
#include <QVersionNumber>
|
||||
|
||||
namespace Android {
|
||||
namespace Internal {
|
||||
namespace Android::Internal {
|
||||
/*!
|
||||
\class SdkManagerOutputParser
|
||||
\brief The SdkManagerOutputParser class is a helper class to parse the output of the \c sdkmanager
|
||||
@@ -17,17 +12,6 @@ namespace Internal {
|
||||
*/
|
||||
class SdkManagerOutputParser
|
||||
{
|
||||
class GenericPackageData
|
||||
{
|
||||
public:
|
||||
bool isValid() const { return !revision.isNull() && !description.isNull(); }
|
||||
QStringList headerParts;
|
||||
QVersionNumber revision;
|
||||
QString description;
|
||||
Utils::FilePath installedLocation;
|
||||
QMap<QString, QString> extraData;
|
||||
};
|
||||
|
||||
public:
|
||||
enum MarkerTag
|
||||
{
|
||||
@@ -57,9 +41,6 @@ public:
|
||||
private:
|
||||
void compilePackageAssociations();
|
||||
void parsePackageData(MarkerTag packageMarker, const QStringList &data);
|
||||
bool parseAbstractData(GenericPackageData &output, const QStringList &input, int minParts,
|
||||
const QString &logStrTag,
|
||||
const QStringList &extraKeys = QStringList()) const;
|
||||
AndroidSdkPackage *parsePlatform(const QStringList &data) const;
|
||||
QPair<SystemImage *, int> parseSystemImage(const QStringList &data) const;
|
||||
BuildTools *parseBuildToolsPackage(const QStringList &data) const;
|
||||
@@ -75,5 +56,5 @@ private:
|
||||
QHash<AndroidSdkPackage *, int> m_systemImages;
|
||||
friend class SdkManagerOutputParserTest;
|
||||
};
|
||||
} // namespace Internal
|
||||
} // namespace Android
|
||||
|
||||
} // namespace Android::Internal
|
||||
|
Reference in New Issue
Block a user