Files
pip/utils/cloud_dispatcher/dispatcherclient.h
2021-04-06 15:24:58 +03:00

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