19 #ifndef IRCCD_DAEMON_TRANSPORT_COMMAND_HPP
20 #define IRCCD_DAEMON_TRANSPORT_COMMAND_HPP
27 #include <irccd/sysconfig.hpp>
31 #include <string_view>
34 #include <irccd/json_util.hpp>
39 class transport_client;
57 using constructor = std::function<std::unique_ptr<transport_command> ()>;
74 virtual auto
get_name() const noexcept ->
std::string_view = 0;
794 #endif // !IRCCD_DAEMON_COMMAND_HPP
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
Implementation of server-nick transport command.
Definition: transport_command.hpp:670
auto get_name() const noexcept -> std::string_view override
Abstract transport client class.
Definition: transport_client.hpp:45
Implementation of server-message transport command.
Definition: transport_command.hpp:615
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
Implementation of server-me transport command.
Definition: transport_command.hpp:588
Implementation of server-mode transport command.
Definition: transport_command.hpp:643
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
Implementation of server-invite transport command.
Definition: transport_command.hpp:485
Server side remote command.
Definition: transport_command.hpp:47
Implementation of server-disconnect transport command.
Definition: transport_command.hpp:431
Implementation of rule-list transport command.
Definition: transport_command.hpp:326
virtual void exec(bot &bot, transport_client &client, const document &args)=0
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
Implementation of server-part transport command.
Definition: transport_command.hpp:724
auto get_name() const noexcept -> std::string_view override
Implementation of rule-move transport command.
Definition: transport_command.hpp:351
Implementation of plugin-unload transport command.
Definition: transport_command.hpp:229
Implementation of server-info transport command.
Definition: transport_command.hpp:457
std::function< std::unique_ptr< transport_command >()> constructor
Command constructor factory.
Definition: transport_command.hpp:57
Implementation of server-notice transport command.
Definition: transport_command.hpp:697
auto get_name() const noexcept -> std::string_view override
Implementation of server-list transport command.
Definition: transport_command.hpp:561
Implementation of rule-remove transport command.
Definition: transport_command.hpp:376
Implementation of plugin-config transport command.
Definition: transport_command.hpp:104
Implementation of server-kick transport command.
Definition: transport_command.hpp:540
Irccd main instance.
Definition: bot.hpp:58
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
Convenient JSON object parser.
Definition: json_util.hpp:225
Implementation of server-reconnect transport command.
Definition: transport_command.hpp:750
Implementation of server-join transport command.
Definition: transport_command.hpp:512
Implementation of plugin-list transport command.
Definition: transport_command.hpp:150
Implementation of server-connect transport command.
Definition: transport_command.hpp:405
Implementation of rule-add transport command.
Definition: transport_command.hpp:254
Implementation of rule-edit transport command.
Definition: transport_command.hpp:280
Implementation of plugin-load transport command.
Definition: transport_command.hpp:177
Implementation of plugin-reload transport command.
Definition: transport_command.hpp:203
auto get_name() const noexcept -> std::string_view override
Main irccd namespace.
Definition: bot.hpp:41
auto get_name() const noexcept -> std::string_view override
virtual auto get_name() const noexcept -> std::string_view=0
Implementation of plugin-info transport command.
Definition: transport_command.hpp:129
auto get_name() const noexcept -> std::string_view override
Implementation of rule-info transport command.
Definition: transport_command.hpp:305
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override
Implementation of server-topic transport command.
Definition: transport_command.hpp:777
auto get_name() const noexcept -> std::string_view override
static auto registry() noexcept -> const std::vector< constructor > &
Registry of all commands.
auto get_name() const noexcept -> std::string_view override
auto get_name() const noexcept -> std::string_view override