File indexing completed on 2024-03-24 17:00:25
0001 /* 0002 * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Fiestas <afiestas@kde.org> 0003 * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef RECEIVEFILEJOB_H 0009 #define RECEIVEFILEJOB_H 0010 0011 #include <QTime> 0012 #include <QUrl> 0013 0014 #include <KJob> 0015 0016 #include <BluezQt/ObexTransfer> 0017 #include <BluezQt/Request> 0018 0019 class ObexAgent; 0020 0021 class ReceiveFileJob : public KJob 0022 { 0023 Q_OBJECT 0024 0025 public: 0026 explicit ReceiveFileJob(const BluezQt::Request<QString> &req, BluezQt::ObexTransferPtr transfer, BluezQt::ObexSessionPtr session, ObexAgent *parent); 0027 0028 QString deviceAddress() const; 0029 0030 void start() override; 0031 bool doKill() override; 0032 0033 private Q_SLOTS: 0034 void init(); 0035 void showNotification(); 0036 void slotCancel(); 0037 void slotAccept(); 0038 void moveFinished(KJob *job); 0039 0040 void statusChanged(BluezQt::ObexTransfer::Status status); 0041 void transferredChanged(quint64 transferred); 0042 0043 private: 0044 QString createTempPath(const QString &fileName) const; 0045 0046 QTime m_time; 0047 qulonglong m_speedBytes; 0048 QString m_tempPath; 0049 QString m_deviceName; 0050 QString m_deviceAddress; 0051 QUrl m_targetPath; 0052 0053 ObexAgent *m_agent; 0054 BluezQt::ObexTransferPtr m_transfer; 0055 BluezQt::ObexSessionPtr m_session; 0056 BluezQt::Request<QString> m_request; 0057 bool m_accepted = false; 0058 }; 0059 0060 #endif // RECEIVEFILEJOB_H