19 #ifndef IRCCD_DAEMON_TRANSPORT_SERVICE_HPP
20 #define IRCCD_DAEMON_TRANSPORT_SERVICE_HPP
27 #include <irccd/sysconfig.hpp>
41 class transport_client;
42 class transport_command;
43 class transport_server;
54 using commands = std::vector<std::unique_ptr<transport_command>>;
59 using servers = std::vector<std::shared_ptr<transport_server>>;
66 void handle_command(std::shared_ptr<transport_client>,
const nlohmann::json&);
67 void recv(std::shared_ptr<transport_client>);
68 void handshake(std::shared_ptr<transport_client>);
Read .ini configuration file for irccd.
Definition: config.hpp:39
Irccd main instance.
Definition: bot.hpp:58
Abstract transport server class.
Definition: transport_server.hpp:128
Manage transport servers and clients.
Definition: transport_service.hpp:49
void add(std::shared_ptr< transport_server > ts)
~transport_service() noexcept
transport_service(bot &bot) noexcept
std::vector< std::unique_ptr< transport_command > > commands
the list of transport commands.
Definition: transport_service.hpp:54
void load(const config &cfg) noexcept
std::vector< std::shared_ptr< transport_server > > servers
The list of transport acceptors.
Definition: transport_service.hpp:59
void broadcast(const nlohmann::json &object)
auto get_commands() const noexcept -> const commands &
Parent namespace.
Definition: acceptor.hpp:43