From 6ee26103c5383cef8664d9e7d19c96c83f9a89af Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sun, 2 Oct 2022 19:46:31 +0200 Subject: Error: Add fromFileDevice() --- src/base/QXmppError.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/base/QXmppError.cpp') diff --git a/src/base/QXmppError.cpp b/src/base/QXmppError.cpp index bd894c10..98203778 100644 --- a/src/base/QXmppError.cpp +++ b/src/base/QXmppError.cpp @@ -40,7 +40,10 @@ QXmppError QXmppError::fromIoDevice(const QIODevice &device) { if (const auto *file = dynamic_cast(&device)) { - return QXmppError { file->errorString(), file->error() }; + return QXmppError::fromFileDevice(*file); + } + if (const auto *networkReply = dynamic_cast(&device)) { + return QXmppError::fromNetworkReply(*networkReply); } return QXmppError { device.errorString(), std::any() }; } @@ -55,6 +58,16 @@ QXmppError QXmppError::fromNetworkReply(const QNetworkReply &reply) return { reply.errorString(), reply.error() }; } +/// +/// \brief Constructs a QXmppError from a QFileDevice +/// +/// It creates a QXmppError with the error string and a QFileDevice::FileError. +/// +QXmppError QXmppError::fromFileDevice(const QFileDevice &file) +{ + return QXmppError { file.errorString(), file.error() }; +} + /// /// Returns whether the error is a QNetworkReply::NetworkError. /// -- cgit v1.2.3