Babel
Epitech's C++ VoIP project
Namespaces | Classes | Enumerations | Functions
Babel Namespace Reference

Namespaces

 Exception
 
 Utils
 

Classes

class  AsioTCPConnection
 Asio implementation of a tcp communication. More...
 
class  AsioTCPServer
 Implementation of ITCPServer using ASIO. More...
 
struct  AudioPacket
 
class  BabelServer
 Main server class contains almost all the logic for the server. More...
 
struct  Call
 struct to handle all Call related data More...
 
class  FreeList
 Provides an indexed free list with constant-time removals from anywhere in the list without invalidating indices. T must be trivially constructible and destructible. More...
 
class  HomePage
 Main client Class. More...
 
class  IAudioManager
 Audio Module Interface. More...
 
class  ICodec
 
class  ITCPConnection
 
class  ITCPServer
 
class  IUDPClient
 
struct  Message
 
struct  MessageHeader
 
class  NetworkException
 
class  Opus
 Class containing Opus encoder and decoder. More...
 
class  OpusException
 
struct  OwnedMessage
 
class  PortAudio
 
class  PortAudioException
 
class  QtTCPConnection
 
class  SoundHandler
 
class  TSQueue
 Thread Safe queue. More...
 
class  UDPSocket
 wrapper around Qt UDP socket, ICodec and Portaudio More...
 
struct  User
 

Enumerations

enum  RFCCodes : uint16_t {
  RFCCodes::Debug = 0b0100000000101111, RFCCodes::Login = 200, RFCCodes::ListUsers = 201, RFCCodes::CallUser = 202,
  RFCCodes::JoinCall = 203, RFCCodes::DenyCall = 204, RFCCodes::HangUp = 205, RFCCodes::Response = 300,
  RFCCodes::Called = 301, RFCCodes::UserJoinedCall = 302, RFCCodes::UserLeftCall = 303
}
 

Functions

template<typename T >
std::ostream & operator<< (std::ostream &os, const Message< T > &msg)
 
template<typename T , typename DataType >
Message< T > & operator<< (Message< T > &msg, DataType data)
 
template<typename T >
Message< T > & operator<< (Message< T > &msg, std::string data)
 
template<typename T >
Message< T > & operator<< (Message< T > &msg, const char data[])
 
template<typename T , typename DataType >
Message< T > & operator>> (Message< T > &msg, DataType &data)
 
template<typename T >
swapEndian (T value)
 

Enumeration Type Documentation

◆ RFCCodes

enum Babel::RFCCodes : uint16_t
strong
Enumerator
Debug 

Code used as debug purposes only.

Warning
This code should never be send as a real message
Login 

Login a user in the server.

ListUsers 

Get the list of server currently active users.

CallUser 

Call a user from it's username.

JoinCall 

Accept a call from a user.

DenyCall 

Deny a receiving call from a user.

HangUp 

Hang up a call.

Response 

General purpose response.

Called 

Receiving a call from a user.

UserJoinedCall 

User joining call.

UserLeftCall 

User left call.

Function Documentation

◆ operator<<() [1/4]

template<typename T >
Message<T>& Babel::operator<< ( Message< T > &  msg,
const char  data[] 
)

◆ operator<<() [2/4]

template<typename T , typename DataType >
Message<T>& Babel::operator<< ( Message< T > &  msg,
DataType  data 
)

◆ operator<<() [3/4]

template<typename T >
Message<T>& Babel::operator<< ( Message< T > &  msg,
std::string  data 
)

◆ operator<<() [4/4]

template<typename T >
std::ostream& Babel::operator<< ( std::ostream &  os,
const Message< T > &  msg 
)

◆ operator>>()

template<typename T , typename DataType >
Message<T>& Babel::operator>> ( Message< T > &  msg,
DataType &  data 
)

◆ swapEndian()

template<typename T >
T Babel::swapEndian ( value)