#ifndef DLINK_H #define DLINK_H #include #include "QtSerialPort" #include #include #include "QDebug" #include "mavlinknode.h" QT_BEGIN_NAMESPACE //class DLinkPrivate; #ifdef QtDlink #include class DLINKSHARED_EXPORT DLink : public QObject { #else class DLink : public QObject { #endif Q_OBJECT //Q_DECLARE_PRIVATE(DLink) struct Node{ QUdpSocket * sock; QHostAddress addr; quint16 port; }; public: explicit DLink(QObject *parent = nullptr); ~DLink(); bool setupPort(const QString port, qint32 baudrate, QSerialPort::Parity parity); bool statesPort(); void stopPort(); bool setupClient(const QHostAddress &remote_addr, int remote_port, int local_port); MavLinkNode *mavlinknode = nullptr; signals: void PortConnected(QVariant m_state, QVariant m_usrName,QVariant m_Type, QVariant m_Param1,QVariant m_Param2, QVariant m_Param3,QVariant m_Param4, QVariant m_Param5); public slots: void connectSignal(QVariant m_state, QVariant m_usrName,QVariant m_Type, QVariant m_Param1,QVariant m_Param2, QVariant m_Param3,QVariant m_Param4, QVariant m_Param5); void readPendingDatagramsSerialPort(void); void readPendingDatagramsClient(void); int SendMessageTo(quint8 ch, quint8 *msg, quint16 len); protected: enum SourceType{ c_sock = 0, s_port = 1 }; QSerialPort *serialPort = nullptr; QUdpSocket *Clientsock = nullptr; QList clientSockets; }; QT_END_NAMESPACE #endif // DLINK_H