diff --git a/src/tools/sdktool/adddeviceoperation.cpp b/src/tools/sdktool/adddeviceoperation.cpp index 361e763d828..4ff56e5a88b 100644 --- a/src/tools/sdktool/adddeviceoperation.cpp +++ b/src/tools/sdktool/adddeviceoperation.cpp @@ -71,6 +71,9 @@ QString AddDeviceOperation::argumentsHelpText() const " --sshPort ssh port.\n" " --timeout timeout.\n" " --uname uname.\n" + " --dockerRepo Docker image repo.\n" + " --dockerTag Docker image tag.\n" + " --dockerMappedPaths Docker mapped paths (semi-colon separated).\n" " 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 2e0c9cfb615..67f4a677d6d 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; };