File indexing completed on 2024-05-05 04:59:19

0001 /*
0002     This file is part of the KDE project
0003     Copyright (C) 2011 Ernesto Rodriguez Ortiz <eortiz@uci.cu>
0004 
0005     This program is free software: you can redistribute it and/or modify
0006     it under the terms of the GNU General Public License as published by
0007     the Free Software Foundation, either version 3 of the License, or
0008     (at your option) any later version.
0009 
0010     This program is distributed in the hope that it will be useful,
0011     but WITHOUT ANY WARRANTY; without even the implied warranty of
0012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0013     GNU General Public License for more details.
0014 
0015     You should have received a copy of the GNU General Public License
0016     along with this program.  If not, see <http://www.gnu.org/licenses/>.
0017 
0018 */
0019 
0020 #ifndef MMSTRANSFER_H
0021 #define MMSTRANSFER_H
0022 
0023 #include "core/kget.h"
0024 #include "core/transfer.h"
0025 #include "mmsdownload.h"
0026 #include "mmssettings.h"
0027 #include <KIO/DeleteJob>
0028 #include <QTime>
0029 
0030 class MmsTransfer : public Transfer
0031 {
0032     Q_OBJECT
0033 
0034 public:
0035     MmsTransfer(TransferGroup *parent, TransferFactory *factory, Scheduler *scheduler, const QUrl &src, const QUrl &dest, const QDomElement *e = nullptr);
0036     ~MmsTransfer() override;
0037 
0038 public Q_SLOTS:
0039     void start() override;
0040     void stop() override;
0041     void deinit(Transfer::DeleteOptions options) override;
0042 
0043 private Q_SLOTS:
0044     void slotResult();
0045     void slotTotalSize(qulonglong size);
0046     void slotProcessedSizeAndPercent(qulonglong size);
0047     void slotSpeed(ulong bytes_per_sec);
0048     void slotNotAllowMultiDownload();
0049     void slotBrokenUrl();
0050     void slotConnectionsErrors(int connections);
0051 
0052 private:
0053     MmsDownload *m_mmsdownload;
0054     int m_amountThreads;
0055     bool m_retryDownload;
0056     QString m_fileTemp;
0057 };
0058 
0059 #endif