Newer
Older
/*
*
* Created on: Mar 1, 2021
* Author: astrisw
*
*/
#ifndef BASEPROTOCOL_H_
#define BASEPROTOCOL_H_
#include <iostream>
#include <netinet/in.h>
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;