File indexing completed on 2024-05-05 05:29:37

0001 // SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0002 // SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
0003 
0004 #pragma once
0005 
0006 #include <QFile>
0007 
0008 #include <sentryconnection.h>
0009 
0010 class FileReply : public SentryReply
0011 {
0012 public:
0013     explicit FileReply(const QString &path, QObject *parent = nullptr)
0014         : SentryReply(parent)
0015         , m_file(path)
0016     {
0017         const auto open = m_file.open(QFile::ReadOnly);
0018         QMetaObject::invokeMethod(this, &FileReply::finished, Qt::QueuedConnection);
0019         Q_ASSERT(open);
0020     }
0021 
0022     QByteArray readAll() override
0023     {
0024         return m_file.readAll();
0025     }
0026 
0027     QNetworkReply::NetworkError error() override
0028     {
0029         return m_error;
0030     }
0031 
0032     QString errorString() override
0033     {
0034         return m_errorString;
0035     }
0036 
0037     QNetworkReply::NetworkError m_error = QNetworkReply::NoError;
0038     QString m_errorString;
0039     QFile m_file;
0040 };