#ifndef CETHERNETNETWORKSERVER_H #define CETHERNETNETWORKSERVER_H #include #include "NetworkProtocol.h" #include #include #include #include class CEthernetDeviceConnection { public: QTcpSocket *mConnectionSocket; CNetworkDevice *mConnectedDevice; }; class CEthernetNetworkServer : public QObject, CNetworkProtocol { Q_OBJECT public: CEthernetNetworkServer(); QTcpServer *mEthernetNetworkServer; QList mNetworkDevices; QList mEthernetDeviceConnections; virtual int NewFrameReceived(QByteArray Frame); bool IsDeviceRegistered(int DeviceID); int RegisterNewDevice(CNetworkDevice* Device); private: int FindConnection(CEthernetDeviceConnection* Connection); CEthernetDeviceConnection *FindConnection(QTcpSocket* socket); int CloseConnection(CEthernetDeviceConnection *Connection); public slots: void EthernetNetworkServerConnected(); void DeviceSocketDataAvail(); void DeviceSocketDisconnected(); }; #endif // CETHERNETNETWORKSERVER_H