File indexing completed on 2024-05-12 05:51:07
0001 /* 0002 SPDX-FileCopyrightText: 2022 Héctor Mesa Jiménez <wmj.py@gmx.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 #pragma once 0007 0008 #include <QTcpSocket> 0009 0010 #include "bus.h" 0011 0012 namespace dap 0013 { 0014 class SocketBus : public Bus 0015 { 0016 Q_OBJECT 0017 public: 0018 explicit SocketBus(QObject *parent = nullptr); 0019 ~SocketBus() override = default; 0020 0021 QByteArray read() override; 0022 quint16 write(const QByteArray &data) override; 0023 0024 bool start(const settings::BusSettings &configuration) override; 0025 void close() override; 0026 0027 QTcpSocket socket; 0028 0029 private: 0030 void onStateChanged(QAbstractSocket::SocketState socketState); 0031 void onError(QAbstractSocket::SocketError socketError); 0032 }; 0033 0034 }