Babel
Epitech's C++ VoIP project
Public Member Functions | List of all members
Babel::ITCPConnection< T > Class Template Referenceabstract

#include <ITCPConnection.hpp>

Inheritance diagram for Babel::ITCPConnection< T >:
Collaboration diagram for Babel::ITCPConnection< T >:

Public Member Functions

virtual void connect (const std::string &hostname, uint16_t port)=0
 connect to a hostname and a port More...
 
virtual void disconnect ()=0
 disconnect the connection More...
 
virtual bool isConnected () const =0
 Tells if the connection is up. More...
 
virtual void send (Message< T > message)=0
 Send the message. More...
 
virtual void readForMessages ()=0
 listen for new messages More...
 
virtual void setCallbackOnMessage (std::function< void(Message< T >)> callMessageReceived)=0
 Called when we received a message. More...
 
virtual uint64_t getId () const =0
 Get the id of this connection. More...
 
virtual void setId (uint64_t id)=0
 set the id of the connection More...
 
virtual std::string getPeerIp () const =0
 Get the connected pair address. More...
 
virtual uint16_t getPeerPort () const =0
 get the connected pair port More...
 
virtual ~ITCPConnection ()=default
 default dtor More...
 

Constructor & Destructor Documentation

◆ ~ITCPConnection()

template<typename T >
virtual Babel::ITCPConnection< T >::~ITCPConnection ( )
virtualdefault

default dtor

Member Function Documentation

◆ connect()

template<typename T >
virtual void Babel::ITCPConnection< T >::connect ( const std::string &  hostname,
uint16_t  port 
)
pure virtual

connect to a hostname and a port

Parameters
hostnameThe ip you want to connect
portThe port belonging to the hostname you want to connect

Implemented in Babel::QtTCPConnection, and Babel::AsioTCPConnection< T >.

◆ disconnect()

template<typename T >
virtual void Babel::ITCPConnection< T >::disconnect ( )
pure virtual

disconnect the connection

Implemented in Babel::QtTCPConnection, and Babel::AsioTCPConnection< T >.

◆ getId()

template<typename T >
virtual uint64_t Babel::ITCPConnection< T >::getId ( ) const
pure virtual

Get the id of this connection.

Implemented in Babel::AsioTCPConnection< T >.

◆ getPeerIp()

template<typename T >
virtual std::string Babel::ITCPConnection< T >::getPeerIp ( ) const
pure virtual

Get the connected pair address.

Implemented in Babel::AsioTCPConnection< T >.

◆ getPeerPort()

template<typename T >
virtual uint16_t Babel::ITCPConnection< T >::getPeerPort ( ) const
pure virtual

get the connected pair port

Implemented in Babel::AsioTCPConnection< T >.

◆ isConnected()

template<typename T >
virtual bool Babel::ITCPConnection< T >::isConnected ( ) const
pure virtual

Tells if the connection is up.

Implemented in Babel::AsioTCPConnection< T >.

◆ readForMessages()

template<typename T >
virtual void Babel::ITCPConnection< T >::readForMessages ( )
pure virtual

listen for new messages

Implemented in Babel::QtTCPConnection, and Babel::AsioTCPConnection< T >.

◆ send()

template<typename T >
virtual void Babel::ITCPConnection< T >::send ( Message< T >  message)
pure virtual

Send the message.

Parameters
messageThe message to send

Implemented in Babel::AsioTCPConnection< T >, and Babel::QtTCPConnection.

◆ setCallbackOnMessage()

template<typename T >
virtual void Babel::ITCPConnection< T >::setCallbackOnMessage ( std::function< void(Message< T >)>  callMessageReceived)
pure virtual

Called when we received a message.

Implemented in Babel::AsioTCPConnection< T >, and Babel::QtTCPConnection.

◆ setId()

template<typename T >
virtual void Babel::ITCPConnection< T >::setId ( uint64_t  id)
pure virtual

set the id of the connection

Implemented in Babel::QtTCPConnection, and Babel::AsioTCPConnection< T >.


The documentation for this class was generated from the following file: