/* * * Created on: Mar 1, 2021 * Author: astrisw * */ #ifndef BASEPROTOCOL_H_ #define BASEPROTOCOL_H_ #include #include #include namespace inaf::oasbo::ConnectionProtocols{ /* * class BaseSocket * Implementation of a socket that allows to communicate with the sender. * This parent class must be inherited in order to implement your own protocol, * methods connect() and readPacket must be overridden * * @member field host: address of the host machine * @member field port: listen port * @member field protocol: communication protocol. */ class BaseProtocol{ protected: std::string host; int port; public: std::string getHost(){return host;} int getPort(){return port;} void setHost(std::string host){ this->host = host;} void setPort(int port){this->port = port;} virtual int connectToClient()=0; virtual int connectToServer()=0; virtual int rcvPacketFromCli(PacketLib::BasePacket &) = 0; virtual int sendPacketToSrv(PacketLib::BasePacket &) = 0; virtual ~BaseProtocol() = default; }; } #endif /* BASEPROTOCOL_H_ */