HiveMindBridge
ITCPServer.h
Go to the documentation of this file.
1 #ifndef HIVEMIND_BRIDGE_ITCPSERVER_H
2 #define HIVEMIND_BRIDGE_ITCPSERVER_H
3 
4 #include <functional>
5 #include <pheromones/IProtobufStream.h>
6 
7 class ITCPServer : public IProtobufStream {
8  public:
13  virtual void listen() = 0;
14 
21  virtual bool receive(uint8_t* data, uint16_t length) = 0;
22 
28  virtual bool send(const uint8_t* data, uint16_t length) = 0;
29 
33  virtual void close() = 0;
34 
39  virtual bool isClientConnected() = 0;
40 
45  virtual void onConnect(std::function<void()> hook) = 0;
46 
51  virtual void onDisconnect(std::function<void()> hook) = 0;
52 };
53 
54 #endif // HIVEMIND_BRIDGE_ITCPSERVER_H
ITCPServer::isClientConnected
virtual bool isClientConnected()=0
ITCPServer::receive
virtual bool receive(uint8_t *data, uint16_t length)=0
ITCPServer::send
virtual bool send(const uint8_t *data, uint16_t length)=0
IProtobufStream
ITCPServer
Definition: ITCPServer.h:7
ITCPServer::onDisconnect
virtual void onDisconnect(std::function< void()> hook)=0
ITCPServer::listen
virtual void listen()=0
ITCPServer::close
virtual void close()=0
ITCPServer::onConnect
virtual void onConnect(std::function< void()> hook)=0