File indexing completed on 2024-06-23 05:49:23
0001 /* 0002 This file is part of the Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2007-2008, 2012 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_TESTDOCUMENTFILESYNCHRONIZER_HPP 0010 #define KASTEN_TESTDOCUMENTFILESYNCHRONIZER_HPP 0011 0012 // Kasten 0013 #include <abstractmodelfilesystemsynchronizer.hpp> 0014 // Qt 0015 #include <QByteArray> 0016 0017 namespace Kasten { 0018 0019 class TestDocument; 0020 0021 class TestDocumentFileSynchronizer : public AbstractModelFileSystemSynchronizer 0022 { 0023 Q_OBJECT 0024 0025 friend class TestDocumentFileLoadJob; 0026 friend class TestDocumentFileConnectJob; 0027 0028 public: 0029 explicit TestDocumentFileSynchronizer(const QByteArray& header = QByteArray()); 0030 0031 public: // AbstractModelSynchronizer API 0032 AbstractLoadJob* startLoad(const QUrl& url) override; 0033 AbstractSyncToRemoteJob* startSyncToRemote() override; 0034 AbstractSyncFromRemoteJob* startSyncFromRemote() override; 0035 AbstractSyncWithRemoteJob* startSyncWithRemote(const QUrl& url, AbstractModelSynchronizer::ConnectOption option) override; 0036 AbstractConnectJob* startConnect(AbstractDocument* document, 0037 const QUrl& url, AbstractModelSynchronizer::ConnectOption option) override; 0038 0039 AbstractDocument* document() const override; 0040 0041 LocalSyncState localSyncState() const override; 0042 0043 public: 0044 const QByteArray& header() const; 0045 0046 protected: 0047 void setDocument(TestDocument* document); 0048 0049 private: 0050 TestDocument* mDocument = nullptr; 0051 const QByteArray mHeader; 0052 }; 0053 0054 inline const QByteArray& TestDocumentFileSynchronizer::header() const { return mHeader; } 0055 inline void TestDocumentFileSynchronizer::setDocument(TestDocument* document) { mDocument = document; } 0056 0057 } 0058 0059 #endif