37 lines
892 B
C++
37 lines
892 B
C++
#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
|