File indexing completed on 2024-04-14 04:52:44

0001 /*
0002     SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef KIO_S3_H
0007 #define KIO_S3_H
0008 
0009 #include "s3backend.h"
0010 
0011 #include <KIO/WorkerBase>
0012 
0013 #include <QUrl>
0014 
0015 class S3Worker : public KIO::WorkerBase
0016 {
0017 public:
0018 
0019     S3Worker(const QByteArray &protocol,
0020             const QByteArray &pool_socket,
0021             const QByteArray &app_socket);
0022     ~S3Worker() override;
0023 
0024     KIO::WorkerResult listDir(const QUrl &url) override;
0025     KIO::WorkerResult stat(const QUrl &url) override;
0026     KIO::WorkerResult mimetype(const QUrl &url) override;
0027     KIO::WorkerResult get(const QUrl &url) override;
0028     KIO::WorkerResult put(const QUrl &url, int permissions, KIO::JobFlags flags) override;
0029     KIO::WorkerResult copy(const QUrl &src, const QUrl &dest, int permissions, KIO::JobFlags flags) override;
0030     KIO::WorkerResult mkdir(const QUrl &url, int permissions) override;
0031     KIO::WorkerResult del(const QUrl &url, bool isfile) override;
0032     KIO::WorkerResult rename(const QUrl &src, const QUrl &dest, KIO::JobFlags flags) override;
0033 
0034 private:
0035     Q_DISABLE_COPY(S3Worker)
0036 
0037     QScopedPointer<S3Backend> d { new S3Backend(this) };
0038 };
0039 
0040 #endif // KIO_S3_H