File indexing completed on 2024-04-28 08:50:13
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