Utils: add FilePath::isWritableFile

Change-Id: Ic6ced87fcee92deadf5a117ea7e987f1c877f83a
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
David Schulz
2021-06-22 07:09:00 +02:00
parent 8e40db5580
commit 6902ddc535
7 changed files with 43 additions and 0 deletions

View File

@@ -774,6 +774,22 @@ bool DockerDevice::isReadableFile(const FilePath &filePath) const
return exitCode == 0;
}
bool DockerDevice::isWritableFile(const Utils::FilePath &filePath) const
{
QTC_ASSERT(handlesFile(filePath), return false);
tryCreateLocalFileAccess();
if (hasLocalFileAccess()) {
const FilePath localAccess = mapToLocalAccess(filePath);
const bool res = localAccess.isWritableFile();
LOG("WritableFile? " << filePath.toUserOutput() << localAccess.toUserOutput() << res);
return res;
}
const QString path = filePath.path();
const CommandLine cmd("test", {"-w", path, "-a", "-f", path});
const int exitCode = d->runSynchronously(cmd);
return exitCode == 0;
}
bool DockerDevice::isReadableDirectory(const FilePath &filePath) const
{
QTC_ASSERT(handlesFile(filePath), return false);