SdkTool: Add some docker specific fields to AddDeviceOperation

Change-Id: I0a1f41f9643f2b0eaabd9856d7febde383aa35a0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2022-02-28 09:10:32 +01:00
parent f477cdc2d7
commit c9c2fef437
2 changed files with 44 additions and 1 deletions

View File

@@ -71,6 +71,9 @@ QString AddDeviceOperation::argumentsHelpText() const
" --sshPort <INT> ssh port.\n" " --sshPort <INT> ssh port.\n"
" --timeout <INT> timeout.\n" " --timeout <INT> timeout.\n"
" --uname <STRING> uname.\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"); " <KEY> <TYPE:VALUE> extra key value pairs\n");
} }
@@ -224,6 +227,30 @@ bool AddDeviceOperation::setArguments(const QStringList &args)
continue; 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()) if (next.isNull())
return false; return false;
++i; // skip next; ++i; // skip next;
@@ -278,6 +305,9 @@ bool AddDeviceOperation::test() const
devData.m_timeout = 5; devData.m_timeout = 5;
devData.m_uname = "uname"; devData.m_uname = "uname";
devData.m_version = 6; devData.m_version = 6;
devData.m_dockerRepo = "repo";
devData.m_dockerTag = "tag";
devData.m_dockerMappedPaths = {"/opt", "/data"};
QVariantMap result = devData.addDevice(map); QVariantMap result = devData.addDevice(map);
QVariantMap data = result.value(QLatin1String(DEVICEMANAGER_ID)).toMap(); QVariantMap data = result.value(QLatin1String(DEVICEMANAGER_ID)).toMap();
@@ -285,7 +315,7 @@ bool AddDeviceOperation::test() const
if (devList.count() != 1) if (devList.count() != 1)
return false; return false;
QVariantMap dev = devList.at(0).toMap(); QVariantMap dev = devList.at(0).toMap();
if (dev.count() != 17) if (dev.count() != 20)
return false; return false;
if (dev.value(QLatin1String("Authentication")).toInt() != 2) if (dev.value(QLatin1String("Authentication")).toInt() != 2)
return false; return false;
@@ -317,6 +347,13 @@ bool AddDeviceOperation::test() const
return false; return false;
if (dev.value(QLatin1String("Version")).toInt() != 6) if (dev.value(QLatin1String("Version")).toInt() != 6)
return false; 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; 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("Timeout"), QVariant(m_timeout)));
dev.append(KeyValuePair(QLatin1String("Uname"), QVariant(m_uname))); dev.append(KeyValuePair(QLatin1String("Uname"), QVariant(m_uname)));
dev.append(KeyValuePair(QLatin1String("Version"), QVariant(m_version))); 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); dev.append(m_extra);
QVariantMap devMap = AddKeysData{dev}.addKeys(QVariantMap()); QVariantMap devMap = AddKeysData{dev}.addKeys(QVariantMap());

View File

@@ -62,6 +62,9 @@ public:
int m_timeout = 5; int m_timeout = 5;
QString m_uname; QString m_uname;
int m_version = 0; int m_version = 0;
QStringList m_dockerMappedPaths;
QString m_dockerRepo;
QString m_dockerTag;
KeyValuePairList m_extra; KeyValuePairList m_extra;
}; };