File indexing completed on 2024-06-23 05:49:22

0001 /*
0002     This file is part of the Kasten Framework, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2008 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #ifndef KASTEN_TESTDOCUMENTFILELOADTHREAD_HPP
0010 #define KASTEN_TESTDOCUMENTFILELOADTHREAD_HPP
0011 
0012 // Qt
0013 #include <QThread>
0014 
0015 class QFile;
0016 
0017 namespace Kasten {
0018 
0019 class TestDocument;
0020 
0021 class TestDocumentFileLoadThread : public QThread
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     TestDocumentFileLoadThread(QObject* parent, const QByteArray& header,
0027                                QFile* file);
0028     ~TestDocumentFileLoadThread() override;
0029 
0030 public: // QThread API
0031     void run() override;
0032 
0033 public:
0034     TestDocument* document() const;
0035 
0036 Q_SIGNALS:
0037     void documentRead(Kasten::TestDocument* document);
0038 
0039 private:
0040     QFile* mFile;
0041     const QByteArray mHeader;
0042 
0043     TestDocument* mDocument = nullptr;
0044 };
0045 
0046 inline TestDocumentFileLoadThread::TestDocumentFileLoadThread(QObject* parent, const QByteArray& header, QFile* file)
0047     : QThread(parent)
0048     , mFile(file)
0049     , mHeader(header)
0050 {}
0051 
0052 inline TestDocument* TestDocumentFileLoadThread::document() const { return mDocument; }
0053 
0054 }
0055 
0056 #endif