irccd  3.0.3
Public Types | Public Member Functions | Static Public Member Functions | List of all members
irccd::daemon::transport_command Class Referenceabstract

Server side remote command. More...

#include <transport_command.hpp>

Inheritance diagram for irccd::daemon::transport_command:
irccd::daemon::plugin_config_command irccd::daemon::plugin_info_command irccd::daemon::plugin_list_command irccd::daemon::plugin_load_command irccd::daemon::plugin_reload_command irccd::daemon::plugin_unload_command irccd::daemon::rule_add_command irccd::daemon::rule_edit_command irccd::daemon::rule_info_command irccd::daemon::rule_list_command irccd::daemon::rule_move_command irccd::daemon::rule_remove_command irccd::daemon::server_connect_command irccd::daemon::server_disconnect_command irccd::daemon::server_info_command irccd::daemon::server_invite_command irccd::daemon::server_join_command irccd::daemon::server_kick_command irccd::daemon::server_list_command irccd::daemon::server_me_command irccd::daemon::server_message_command irccd::daemon::server_mode_command irccd::daemon::server_nick_command irccd::daemon::server_notice_command irccd::daemon::server_part_command irccd::daemon::server_reconnect_command irccd::daemon::server_topic_command

Public Types

using document = json_util::deserializer
 Convenient alias. More...
 
using constructor = std::function< std::unique_ptr< transport_command >()>
 Command constructor factory. More...
 

Public Member Functions

virtual ~transport_command ()=default
 
virtual auto get_name () const noexcept -> std::string_view=0
 
virtual void exec (bot &bot, transport_client &client, const document &args)=0
 

Static Public Member Functions

static auto registry () noexcept -> const std::vector< constructor > &
 Registry of all commands. More...
 

Detailed Description

Server side remote command.

Member Typedef Documentation

◆ constructor

using irccd::daemon::transport_command::constructor = std::function<std::unique_ptr<transport_command> ()>

Command constructor factory.

◆ document

Convenient alias.

Constructor & Destructor Documentation

◆ ~transport_command()

virtual irccd::daemon::transport_command::~transport_command ( )
virtualdefault

Default destructor virtual.

Member Function Documentation

◆ exec()

virtual void irccd::daemon::transport_command::exec ( bot bot,
transport_client client,
const document args 
)
pure virtual

◆ get_name()

virtual auto irccd::daemon::transport_command::get_name ( ) const -> std::string_view
pure virtualnoexcept

◆ registry()

static auto irccd::daemon::transport_command::registry ( ) -> const std::vector< constructor > &
staticnoexcept

Registry of all commands.


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