irccd  3.0.3
debug_server.hpp
1 /*
2  * debug_server.hpp -- server which prints everything in the console
3  *
4  * Copyright (c) 2013-2019 David Demelier <markand@malikania.fr>
5  *
6  * Permission to use, copy, modify, and/or distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef IRCCD_TEST_DEBUG_SERVER_HPP
20 #define IRCCD_TEST_DEBUG_SERVER_HPP
21 
27 #include <irccd/daemon/server.hpp>
28 
29 namespace irccd::test {
30 
34 class debug_server : public daemon::server {
35 public:
39  using server::server;
40 
44  void connect(connect_handler handler) noexcept override;
45 
49  void disconnect() noexcept override;
50 
54  void invite(std::string_view target, std::string_view channel) override;
55 
59  void join(std::string_view channel, std::string_view password = "") override;
60 
64  void kick(std::string_view target, std::string_view channel, std::string_view reason = "") override;
65 
69  void me(std::string_view target, std::string_view message) override;
70 
74  void message(std::string_view target, std::string_view message) override;
75 
79  void mode(std::string_view channel,
80  std::string_view mode,
81  std::string_view limit = "",
82  std::string_view user = "",
83  std::string_view mask = "") override;
84 
88  void names(std::string_view channel) override;
89 
93  void notice(std::string_view target, std::string_view message) override;
94 
98  void part(std::string_view channel, std::string_view reason = "") override;
99 
103  void send(std::string_view raw) override;
104 
108  void topic(std::string_view channel, std::string_view topic) override;
109 
113  void whois(std::string_view target) override;
114 };
115 
116 } // !irccd::test
117 
118 #endif // !IRCCD_TEST_DEBUG_SERVER_HPP
irccd::test::debug_server::whois
void whois(std::string_view target) override
irccd::test::debug_server::topic
void topic(std::string_view channel, std::string_view topic) override
irccd::test::debug_server::kick
void kick(std::string_view target, std::string_view channel, std::string_view reason="") override
irccd::test::debug_server::part
void part(std::string_view channel, std::string_view reason="") override
irccd::test::debug_server::message
void message(std::string_view target, std::string_view message) override
irccd::test::debug_server::mode
void mode(std::string_view channel, std::string_view mode, std::string_view limit="", std::string_view user="", std::string_view mask="") override
irccd::test::debug_server::send
void send(std::string_view raw) override
irccd::daemon::server::connect_handler
std::function< void(std::error_code)> connect_handler
Definition: server.hpp:261
irccd::test::debug_server::disconnect
void disconnect() noexcept override
irccd::test::debug_server
Server which prints everything in the console.
Definition: debug_server.hpp:34
irccd::test::debug_server::connect
void connect(connect_handler handler) noexcept override
irccd::test::debug_server::invite
void invite(std::string_view target, std::string_view channel) override
irccd::test::debug_server::me
void me(std::string_view target, std::string_view message) override
irccd::daemon::server
The class that connect to a IRC server.
Definition: server.hpp:256
irccd::test::debug_server::join
void join(std::string_view channel, std::string_view password="") override
irccd::test::debug_server::notice
void notice(std::string_view target, std::string_view message) override
irccd::test
Namespace for unit tests.
Definition: broken_plugin.hpp:29
irccd::test::debug_server::names
void names(std::string_view channel) override