diff options
author | hjk <hjk@qt.io> | 2022-02-28 09:10:32 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-03-09 13:26:46 +0000 |
commit | c9c2fef43736703b1fcea2fe693b99a37fafa552 (patch) | |
tree | 49683170aec6253035832ceab943dc709debfb80 | |
parent | f477cdc2d727625bc80691237c5a25984692c2ae (diff) | |
download | qt-creator-c9c2fef43736703b1fcea2fe693b99a37fafa552.tar.gz |
SdkTool: Add some docker specific fields to AddDeviceOperation
Change-Id: I0a1f41f9643f2b0eaabd9856d7febde383aa35a0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r-- | src/tools/sdktool/adddeviceoperation.cpp | 42 | ||||
-rw-r--r-- | src/tools/sdktool/adddeviceoperation.h | 3 |
2 files changed, 44 insertions, 1 deletions
diff --git a/src/tools/sdktool/adddeviceoperation.cpp b/src/tools/sdktool/adddeviceoperation.cpp index 361e763d82..4ff56e5a88 100644 --- a/src/tools/sdktool/adddeviceoperation.cpp +++ b/src/tools/sdktool/adddeviceoperation.cpp @@ -71,6 +71,9 @@ QString AddDeviceOperation::argumentsHelpText() const " --sshPort <INT> ssh port.\n" " --timeout <INT> timeout.\n" " --uname <STRING> uname.\n" + " --dockerRepo <STRING> Docker image repo.\n" + " --dockerTag <STRING> Docker image tag.\n" + " --dockerMappedPaths <STRING> Docker mapped paths (semi-colon separated).\n" " <KEY> <TYPE:VALUE> extra key value pairs\n"); } @@ -224,6 +227,30 @@ bool AddDeviceOperation::setArguments(const QStringList &args) continue; } + if (current == QLatin1String("--dockerMappedPaths")) { + if (next.isNull()) + return false; + ++i; // skip next; + m_dockerMappedPaths = next.split(';'); + continue; + } + + if (current == QLatin1String("--dockerRepo")) { + if (next.isNull()) + return false; + ++i; // skip next; + m_dockerRepo = next; + continue; + } + + if (current == QLatin1String("--dockerTag")) { + if (next.isNull()) + return false; + ++i; // skip next; + m_dockerTag = next; + continue; + } + if (next.isNull()) return false; ++i; // skip next; @@ -278,6 +305,9 @@ bool AddDeviceOperation::test() const devData.m_timeout = 5; devData.m_uname = "uname"; devData.m_version = 6; + devData.m_dockerRepo = "repo"; + devData.m_dockerTag = "tag"; + devData.m_dockerMappedPaths = {"/opt", "/data"}; QVariantMap result = devData.addDevice(map); QVariantMap data = result.value(QLatin1String(DEVICEMANAGER_ID)).toMap(); @@ -285,7 +315,7 @@ bool AddDeviceOperation::test() const if (devList.count() != 1) return false; QVariantMap dev = devList.at(0).toMap(); - if (dev.count() != 17) + if (dev.count() != 20) return false; if (dev.value(QLatin1String("Authentication")).toInt() != 2) return false; @@ -317,6 +347,13 @@ bool AddDeviceOperation::test() const return false; if (dev.value(QLatin1String("Version")).toInt() != 6) return false; + if (dev.value(QLatin1String("DockerDeviceDataRepo")).toString() != "repo") + return false; + if (dev.value(QLatin1String("DockerDeviceDataTag")).toString() != "tag") + return false; + const QStringList paths = dev.value(QLatin1String("DockerDeviceMappedPaths")).toStringList(); + if (paths != QStringList({"/opt", "/data"})) + return false; return true; } @@ -351,6 +388,9 @@ QVariantMap AddDeviceData::addDevice(const QVariantMap &map) const dev.append(KeyValuePair(QLatin1String("Timeout"), QVariant(m_timeout))); dev.append(KeyValuePair(QLatin1String("Uname"), QVariant(m_uname))); dev.append(KeyValuePair(QLatin1String("Version"), QVariant(m_version))); + dev.append(KeyValuePair(QLatin1String("DockerDeviceMappedPaths"), QVariant(m_dockerMappedPaths))); + dev.append(KeyValuePair(QLatin1String("DockerDeviceDataRepo"), QVariant(m_dockerRepo))); + dev.append(KeyValuePair(QLatin1String("DockerDeviceDataTag"), QVariant(m_dockerTag))); dev.append(m_extra); QVariantMap devMap = AddKeysData{dev}.addKeys(QVariantMap()); diff --git a/src/tools/sdktool/adddeviceoperation.h b/src/tools/sdktool/adddeviceoperation.h index 2e0c9cfb61..67f4a677d6 100644 --- a/src/tools/sdktool/adddeviceoperation.h +++ b/src/tools/sdktool/adddeviceoperation.h @@ -62,6 +62,9 @@ public: int m_timeout = 5; QString m_uname; int m_version = 0; + QStringList m_dockerMappedPaths; + QString m_dockerRepo; + QString m_dockerTag; KeyValuePairList m_extra; }; |