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:";
|
const char descriptionKey[] = "Description:";
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
using namespace Android;
|
namespace Android::Internal {
|
||||||
using namespace Android::Internal;
|
|
||||||
|
|
||||||
using MarkerTagsType = std::map<SdkManagerOutputParser::MarkerTag, const char *>;
|
using MarkerTagsType = std::map<SdkManagerOutputParser::MarkerTag, const char *>;
|
||||||
Q_GLOBAL_STATIC_WITH_ARGS(MarkerTagsType, markerTags,
|
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::NdkMarker, Constants::ndkPackageName},
|
||||||
{SdkManagerOutputParser::MarkerTag::ExtrasMarker, "extras"}}));
|
{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)
|
void SdkManagerOutputParser::parsePackageListing(const QString &output)
|
||||||
{
|
{
|
||||||
QStringList packageData;
|
QStringList packageData;
|
||||||
@@ -238,10 +248,8 @@ static bool valueForKey(QString key, const QString &line, QString *value = nullp
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SdkManagerOutputParser::parseAbstractData(SdkManagerOutputParser::GenericPackageData &output,
|
static bool parseAbstractData(GenericPackageData &output, const QStringList &input, int minParts,
|
||||||
const QStringList &input, int minParts,
|
const QString &logStrTag, const QStringList &extraKeys = {})
|
||||||
const QString &logStrTag,
|
|
||||||
const QStringList &extraKeys) const
|
|
||||||
{
|
{
|
||||||
if (input.isEmpty()) {
|
if (input.isEmpty()) {
|
||||||
qCDebug(sdkManagerLog) << logStrTag + ": Empty input";
|
qCDebug(sdkManagerLog) << logStrTag + ": Empty input";
|
||||||
@@ -448,3 +456,5 @@ SdkManagerOutputParser::MarkerTag SdkManagerOutputParser::parseMarkers(const QSt
|
|||||||
|
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace Android::Internal
|
||||||
|
@@ -4,12 +4,7 @@
|
|||||||
|
|
||||||
#include "androidsdkpackage.h"
|
#include "androidsdkpackage.h"
|
||||||
|
|
||||||
#include <utils/filepath.h>
|
namespace Android::Internal {
|
||||||
|
|
||||||
#include <QVersionNumber>
|
|
||||||
|
|
||||||
namespace Android {
|
|
||||||
namespace Internal {
|
|
||||||
/*!
|
/*!
|
||||||
\class SdkManagerOutputParser
|
\class SdkManagerOutputParser
|
||||||
\brief The SdkManagerOutputParser class is a helper class to parse the output of the \c sdkmanager
|
\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 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:
|
public:
|
||||||
enum MarkerTag
|
enum MarkerTag
|
||||||
{
|
{
|
||||||
@@ -57,9 +41,6 @@ public:
|
|||||||
private:
|
private:
|
||||||
void compilePackageAssociations();
|
void compilePackageAssociations();
|
||||||
void parsePackageData(MarkerTag packageMarker, const QStringList &data);
|
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;
|
AndroidSdkPackage *parsePlatform(const QStringList &data) const;
|
||||||
QPair<SystemImage *, int> parseSystemImage(const QStringList &data) const;
|
QPair<SystemImage *, int> parseSystemImage(const QStringList &data) const;
|
||||||
BuildTools *parseBuildToolsPackage(const QStringList &data) const;
|
BuildTools *parseBuildToolsPackage(const QStringList &data) const;
|
||||||
@@ -75,5 +56,5 @@ private:
|
|||||||
QHash<AndroidSdkPackage *, int> m_systemImages;
|
QHash<AndroidSdkPackage *, int> m_systemImages;
|
||||||
friend class SdkManagerOutputParserTest;
|
friend class SdkManagerOutputParserTest;
|
||||||
};
|
};
|
||||||
} // namespace Internal
|
|
||||||
} // namespace Android
|
} // namespace Android::Internal
|
||||||
|
Reference in New Issue
Block a user