/** * SPDX-FileCopyrightText: 2013 Albert Vaca * * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL */ #ifndef LANDEVICELINK_H #define LANDEVICELINK_H #include #include #include #include #include #include "backends/devicelink.h" #include "compositeuploadjob.h" #include "uploadjob.h" #include class SocketLineReader; class KDECONNECTCORE_EXPORT LanDeviceLink : public DeviceLink { Q_OBJECT public: enum ConnectionStarted : bool { Locally, Remotely }; LanDeviceLink(const QString &deviceId, LinkProvider *parent, QSslSocket *socket, ConnectionStarted connectionSource); void reset(QSslSocket *socket, ConnectionStarted connectionSource); QString name() override; bool sendPacket(NetworkPacket &np) override; void userRequestsPair() override; void userRequestsUnpair() override; void setPairStatus(PairStatus status) override; bool linkShouldBeKeptAlive() override; QHostAddress hostAddress() const; QSslCertificate certificate() const override; private Q_SLOTS: void dataReceived(); private: SocketLineReader *m_socketLineReader; ConnectionStarted m_connectionSource; QPointer m_compositeUploadJob; }; #endif