File indexing completed on 2024-04-28 04:56:59
0001 /** 0002 * SPDX-FileCopyrightText: 2013 Albert Vaca <albertvaka@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #ifndef LANDEVICELINK_H 0008 #define LANDEVICELINK_H 0009 0010 #include <QObject> 0011 #include <QPointer> 0012 #include <QSslSocket> 0013 #include <QString> 0014 0015 #include "backends/devicelink.h" 0016 #include "compositeuploadjob.h" 0017 #include "deviceinfo.h" 0018 #include "uploadjob.h" 0019 #include <kdeconnectcore_export.h> 0020 0021 class LanLinkProvider; 0022 0023 class KDECONNECTCORE_EXPORT LanDeviceLink : public DeviceLink 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 LanDeviceLink(const DeviceInfo &deviceInfo, LanLinkProvider *parent, QSslSocket *socket); 0029 void reset(QSslSocket *socket); 0030 0031 bool sendPacket(NetworkPacket &np) override; 0032 0033 DeviceInfo deviceInfo() const override 0034 { 0035 return m_deviceInfo; 0036 } 0037 0038 QHostAddress hostAddress() const; 0039 0040 private Q_SLOTS: 0041 void dataReceived(); 0042 0043 private: 0044 QSslSocket *m_socket; 0045 QPointer<CompositeUploadJob> m_compositeUploadJob; 0046 DeviceInfo m_deviceInfo; 0047 }; 0048 0049 #endif