File indexing completed on 2024-04-21 04:57:50

0001 /*
0002     SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "kio_s3.h"
0007 #include "s3debug.h"
0008 
0009 #include <QCoreApplication>
0010 
0011 class KIOPluginForMetaData : public QObject
0012 {
0013     Q_OBJECT
0014     Q_PLUGIN_METADATA(IID "org.kde.kio.worker.s3" FILE "s3.json")
0015 };
0016 
0017 extern "C"
0018 int Q_DECL_EXPORT kdemain(int argc, char **argv)
0019 {
0020     QCoreApplication app(argc, argv);
0021     app.setApplicationName(QLatin1String("kio_s3"));
0022 
0023     if (argc != 4) {
0024         fprintf(stderr, "Usage: kio_s3 protocol domain-socket1 domain-socket2\n");
0025         exit(-1);
0026     }
0027 
0028     S3Worker worker(argv[1], argv[2], argv[3]);
0029     qCDebug(S3) << "Starting kio_s3...";
0030     worker.dispatchLoop();
0031 
0032     return 0;
0033 }
0034 
0035 S3Worker::S3Worker(const QByteArray &protocol, const QByteArray &pool_socket, const QByteArray &app_socket)
0036     : WorkerBase("s3", pool_socket, app_socket)
0037 {
0038     Q_UNUSED(protocol)
0039     qCDebug(S3) << "kio_s3 ready.";
0040 }
0041 
0042 S3Worker::~S3Worker()
0043 {
0044     qCDebug(S3) << "kio_s3 ended.";
0045 }
0046 
0047 KIO::WorkerResult S3Worker::listDir(const QUrl &url)
0048 {
0049     return d->listDir(url);
0050 }
0051 
0052 KIO::WorkerResult S3Worker::stat(const QUrl &url)
0053 {
0054     return d->stat(url);
0055 }
0056 
0057 KIO::WorkerResult S3Worker::mimetype(const QUrl &url)
0058 {
0059     return d->mimetype(url);
0060 }
0061 
0062 KIO::WorkerResult S3Worker::get(const QUrl &url)
0063 {
0064     return d->get(url);
0065 }
0066 
0067 KIO::WorkerResult S3Worker::put(const QUrl &url, int permissions, KIO::JobFlags flags)
0068 {
0069     return d->put(url, permissions, flags);
0070 }
0071 
0072 KIO::WorkerResult S3Worker::copy(const QUrl &src, const QUrl &dest, int permissions, KIO::JobFlags flags)
0073 {
0074     return d->copy(src, dest, permissions, flags);
0075 }
0076 
0077 KIO::WorkerResult S3Worker::mkdir(const QUrl &url, int permissions)
0078 {
0079     return d->mkdir(url, permissions);
0080 }
0081 
0082 KIO::WorkerResult S3Worker::del(const QUrl &url, bool isfile)
0083 {
0084     return d->del(url, isfile);
0085 }
0086 
0087 KIO::WorkerResult S3Worker::rename(const QUrl &src, const QUrl &dest, KIO::JobFlags flags)
0088 {
0089     return d->rename(src, dest, flags);
0090 }
0091 
0092 #include "kio_s3.moc"