File indexing completed on 2024-04-21 16:11:33
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 OBEXFTP_H 0009 #define OBEXFTP_H 0010 0011 #include <QDBusAbstractAdaptor> 0012 #include <QDBusMessage> 0013 #include <QHash> 0014 0015 #include <BluezQt/Manager> 0016 0017 class QDBusPendingCallWatcher; 0018 0019 class BlueDevilDaemon; 0020 0021 class Q_DECL_EXPORT ObexFtp : public QDBusAbstractAdaptor 0022 { 0023 Q_OBJECT 0024 Q_CLASSINFO("D-Bus Interface", "org.kde.BlueDevil.ObexFtp") 0025 0026 public: 0027 explicit ObexFtp(BlueDevilDaemon *daemon); 0028 0029 Q_SCRIPTABLE bool isOnline(); 0030 Q_SCRIPTABLE QString preferredTarget(const QString &address); 0031 Q_SCRIPTABLE QString session(const QString &address, const QString &target, const QDBusMessage &msg); 0032 Q_SCRIPTABLE bool cancelTransfer(const QString &transfer, const QDBusMessage &msg); 0033 0034 private Q_SLOTS: 0035 void createSessionFinished(BluezQt::PendingCall *call); 0036 void cancelTransferFinished(QDBusPendingCallWatcher *watcher); 0037 void sessionRemoved(BluezQt::ObexSessionPtr session); 0038 0039 private: 0040 BlueDevilDaemon *const m_daemon; 0041 QHash<QString, QString> m_sessionMap; 0042 QHash<QString, QList<QDBusMessage>> m_pendingSessions; 0043 }; 0044 0045 #endif // OBEXFTP_H