File indexing completed on 2024-05-19 05:00:09

0001 /* This file is part of the KDE project
0002 
0003    Copyright (C) 2004 Dario Massarin <nekkar@libero.it>
0004 
0005    This program is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU General Public
0007    License as published by the Free Software Foundation; either
0008    version 2 of the License, or (at your option) any later version.
0009 */
0010 
0011 #ifndef MULTISEGKIO_FACTORY_H
0012 #define MULTISEGKIO_FACTORY_H
0013 
0014 #include "core/plugin/transferfactory.h"
0015 
0016 class Transfer;
0017 class TransferGroup;
0018 class Scheduler;
0019 
0020 class TransferMultiSegKioFactory : public TransferFactory
0021 {
0022     Q_OBJECT
0023 public:
0024     TransferMultiSegKioFactory(QObject *parent, const QVariantList &args);
0025     ~TransferMultiSegKioFactory() override;
0026 
0027     Transfer *createTransfer(const QUrl &srcUrl, const QUrl &destUrl, TransferGroup *parent, Scheduler *scheduler, const QDomElement *e = nullptr) override;
0028 
0029     TransferHandler *createTransferHandler(Transfer *transfer, Scheduler *scheduler) override;
0030 
0031     QWidget *createDetailsWidget(TransferHandler *transfer) override;
0032 
0033     const QList<QAction *> actions(TransferHandler *handler = nullptr) override;
0034     TransferDataSource *createTransferDataSource(const QUrl &srcUrl, const QDomElement &type, QObject *parent) override;
0035     bool isSupported(const QUrl &url) const override;
0036     QStringList addsProtocols() const override;
0037 };
0038 
0039 #endif