File indexing completed on 2024-05-05 17:32:40
0001 /* 0002 * This file is part of the KDE project 0003 * 0004 * SPDX-FileCopyrightText: 2010 Alejandro Fiestas Olivares <alex@ufocoders.com> 0005 * SPDX-FileCopyrightText: 2010 UFO Coders <info@ufocoders.com> 0006 * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com> 0007 * 0008 * SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef KIO_OBEXFTP_H 0012 #define KIO_OBEXFTP_H 0013 0014 #include "kdedobexftp.h" 0015 0016 #include <QObject> 0017 0018 #include <KIO/SlaveBase> 0019 0020 #include <BluezQt/ObexFileTransfer> 0021 0022 class KioFtp : public QObject, public KIO::SlaveBase 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 KioFtp(const QByteArray &pool, const QByteArray &app); 0028 0029 void copy(const QUrl &src, const QUrl &dest, int permissions, KIO::JobFlags flags) override; 0030 void listDir(const QUrl &url) override; 0031 void setHost(const QString &host, quint16 port, const QString &user, const QString &pass) override; 0032 void stat(const QUrl &url) override; 0033 void del(const QUrl &url, bool isfile) override; 0034 void mkdir(const QUrl &url, int permissions) override; 0035 void rename(const QUrl &src, const QUrl &dest, KIO::JobFlags flags) override; 0036 void get(const QUrl &url) override; 0037 0038 bool cancelTransfer(const QString &transfer); 0039 0040 private: 0041 void copyHelper(const QUrl &src, const QUrl &dest); 0042 void copyWithinObexftp(const QUrl &src, const QUrl &dest); 0043 void copyFromObexftp(const QUrl &src, const QUrl &dest); 0044 void copyToObexftp(const QUrl &src, const QUrl &dest); 0045 void statHelper(const QUrl &url); 0046 0047 QList<KIO::UDSEntry> listFolder(const QUrl &url, bool *ok); 0048 bool changeFolder(const QString &folder); 0049 bool createFolder(const QString &folder); 0050 bool deleteFile(const QString &file); 0051 0052 void updateRootEntryIcon(KIO::UDSEntry &entry, const QString &memoryType); 0053 bool createSession(const QString &target); 0054 void connectToHost(); 0055 bool testConnection(); 0056 0057 private: 0058 QMap<QString, KIO::UDSEntry> m_statMap; 0059 QString m_host; 0060 QString m_sessionPath; 0061 org::kde::BlueDevil::ObexFtp *m_kded; 0062 BluezQt::ObexFileTransfer *m_transfer; 0063 }; 0064 0065 #endif // KIO_OBEXFTP_H