File indexing completed on 2024-05-12 05:04:25

0001 // SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #pragma once
0005 
0006 #include <KJob>
0007 #include <QSaveFile>
0008 
0009 class QNetworkReply;
0010 class AbstractAccount;
0011 
0012 class FileTransferJob : public KJob
0013 {
0014 public:
0015     FileTransferJob(AbstractAccount *account, const QString &source, const QString &destination);
0016     void start() override;
0017 
0018     enum ExtraError {
0019         FileError = UserDefinedError,
0020     };
0021 
0022 private:
0023     AbstractAccount *m_account = nullptr;
0024     QString m_source;
0025     QString m_destination;
0026     QScopedPointer<QSaveFile> m_temporaryFile;
0027 };