ProjectExplorer: Improve error reporting

Previously anytime a FilePath operation tried to access a device that
does not have a DeviceFileAccess an error message would be thrown.

This patch makes it possible to differentiate between the device not
being found, and the device just not having a DeviceFileAccess
interface.

Also the error message in DeviceFileAccess::exists() was removed as
its not an error to ask if something exists even if it does not.

Change-Id: Ib8c2e08132159d0d97bcd049b59436eb17bdbacd
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Marcus Tillmanns
2022-12-06 08:59:18 +01:00
parent ad2013eee5
commit aee7afd50b
4 changed files with 9 additions and 7 deletions

View File

@@ -939,9 +939,9 @@ DeviceFileAccess *FilePath::fileAccess() const
}
static DeviceFileAccess dummy;
DeviceFileAccess *access = s_deviceHooks.fileAccess(*this);
QTC_ASSERT(access, qDebug() << toString(); return &dummy);
return access;
const expected_str<DeviceFileAccess *> access = s_deviceHooks.fileAccess(*this);
QTC_ASSERT_EXPECTED(access, return &dummy);
return *access ? *access : &dummy;
}
/*!