#ifndef DISPATCHERCLIENT_H #define DISPATCHERCLIENT_H #include "piethernet.h" #include "picloudtcp.h" class DispatcherClient: public PIObject { PIOBJECT(DispatcherClient) public: DispatcherClient(PIEthernet * eth_, int id); ~DispatcherClient(); void start(); void close(); void sendConnected(); void sendData(const PIByteArray & data); PIString address(); uint clientId() const {return client_id;} EVENT1(disconnectEvent, DispatcherClient *, client) EVENT2(registerServer, PIString, sname, DispatcherClient *, client) EVENT2(registerClient, PIString, sname, DispatcherClient *, client) EVENT1(dataReaded, PIByteArray, ba) private: EVENT_HANDLER2(void, readed, uchar * , data, int, size); EVENT_HANDLER1(void, disconnected, bool, withError); PIEthernet * eth; PITimer disconnect_tm; bool authorised; PICloud::TCP tcp; uint client_id; }; #endif // DISPATCHERCLIENT_H