irccd  3.0.3
Public Types | Public Member Functions | List of all members
irccd::daemon::transport_service Class Reference

Manage transport servers and clients. More...

#include <transport_service.hpp>

Public Types

using commands = std::vector< std::unique_ptr< transport_command > >
 the list of transport commands. More...
 
using servers = std::vector< std::shared_ptr< transport_server > >
 The list of transport acceptors. More...
 

Public Member Functions

 transport_service (bot &bot) noexcept
 
 ~transport_service () noexcept
 
auto get_commands () const noexcept -> const commands &
 
auto get_commands () noexcept -> commands &
 
void add (std::shared_ptr< transport_server > ts)
 
void broadcast (const nlohmann::json &object)
 
void load (const config &cfg) noexcept
 

Detailed Description

Manage transport servers and clients.

Member Typedef Documentation

◆ commands

using irccd::daemon::transport_service::commands = std::vector<std::unique_ptr<transport_command> >

the list of transport commands.

◆ servers

using irccd::daemon::transport_service::servers = std::vector<std::shared_ptr<transport_server> >

The list of transport acceptors.

Constructor & Destructor Documentation

◆ transport_service()

irccd::daemon::transport_service::transport_service ( bot bot)
noexcept

Create the transport service.

Parameters
botthe irccd instance

◆ ~transport_service()

irccd::daemon::transport_service::~transport_service ( )
noexcept

Default destructor.

Member Function Documentation

◆ add()

void irccd::daemon::transport_service::add ( std::shared_ptr< transport_server ts)

Add a transport server.

Parameters
tsthe transport server

◆ broadcast()

void irccd::daemon::transport_service::broadcast ( const nlohmann::json &  object)

Send data to all clients.

Precondition
object.is_object()
Parameters
objectthe json object

◆ get_commands() [1/2]

auto irccd::daemon::transport_service::get_commands ( ) const -> const commands &
noexcept

Get underlying commands.

Returns
the commands

◆ get_commands() [2/2]

auto irccd::daemon::transport_service::get_commands ( ) -> commands &
noexcept

Get underlying commands.

Returns
the commands

◆ load()

void irccd::daemon::transport_service::load ( const config cfg)
noexcept

Load transports from the configuration.

Parameters
cfgthe config

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