changeset 646:e4227aa185c2

Irccd: style (server) #782
author David Demelier <markand@malikania.fr>
date Sat, 24 Mar 2018 07:37:21 +0100
parents a63d73b456d5
children 23fd8bad4006
files libirccd-js/irccd/js/js_plugin.cpp libirccd-js/irccd/js/js_plugin.hpp libirccd-js/irccd/js/server_jsapi.cpp libirccd-test/irccd/test/debug_server.cpp libirccd/irccd/daemon/command/server_connect_command.cpp libirccd/irccd/daemon/command/server_info_command.cpp libirccd/irccd/daemon/command/server_list_command.cpp libirccd/irccd/daemon/server.cpp libirccd/irccd/daemon/server.hpp libirccd/irccd/daemon/server_util.cpp libirccd/irccd/daemon/service/server_service.cpp tests/src/libirccd/command-server-connect/main.cpp tests/src/libirccd/command-server-nick/main.cpp tests/src/plugins/tictactoe/main.cpp
diffstat 14 files changed, 156 insertions(+), 175 deletions(-) [+]
line wrap: on
line diff
--- a/libirccd-js/irccd/js/js_plugin.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd-js/irccd/js/js_plugin.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -306,7 +306,7 @@
     return plugin;
 }
 
-void dukx_type_traits<whois>::push(duk_context* ctx, const whois& whois)
+void dukx_type_traits<whois_info>::push(duk_context* ctx, const whois_info& whois)
 {
     duk_push_object(ctx);
     dukx_push(ctx, whois.nick);
--- a/libirccd-js/irccd/js/js_plugin.hpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd-js/irccd/js/js_plugin.hpp	Sat Mar 24 07:37:21 2018 +0100
@@ -297,9 +297,9 @@
 };
 
 template <>
-class dukx_type_traits<whois> : public std::true_type {
+class dukx_type_traits<whois_info> : public std::true_type {
 public:
-    static void push(duk_context* ctx, const whois& who);
+    static void push(duk_context* ctx, const whois_info& who);
 };
 
 } // !irccd
--- a/libirccd-js/irccd/js/server_jsapi.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd-js/irccd/js/server_jsapi.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -70,25 +70,25 @@
     auto server = self(ctx);
 
     duk_push_object(ctx);
-    dukx_push(ctx, server->name());
+    dukx_push(ctx, server->get_name());
     duk_put_prop_string(ctx, -2, "name");
-    dukx_push(ctx, server->host());
+    dukx_push(ctx, server->get_host());
     duk_put_prop_string(ctx, -2, "host");
-    duk_push_int(ctx, server->port());
+    duk_push_int(ctx, server->get_port());
     duk_put_prop_string(ctx, -2, "port");
-    duk_push_boolean(ctx, server->flags() & server::ssl);
+    duk_push_boolean(ctx, server->get_flags() & server::ssl);
     duk_put_prop_string(ctx, -2, "ssl");
-    duk_push_boolean(ctx, server->flags() & server::ssl_verify);
+    duk_push_boolean(ctx, server->get_flags() & server::ssl_verify);
     duk_put_prop_string(ctx, -2, "sslVerify");
-    dukx_push(ctx, server->command_char());
+    dukx_push(ctx, server->get_command_char());
     duk_put_prop_string(ctx, -2, "commandChar");
-    dukx_push(ctx, server->realname());
+    dukx_push(ctx, server->get_realname());
     duk_put_prop_string(ctx, -2, "realname");
-    dukx_push(ctx, server->nickname());
+    dukx_push(ctx, server->get_nickname());
     duk_put_prop_string(ctx, -2, "nickname");
-    dukx_push(ctx, server->username());
+    dukx_push(ctx, server->get_username());
     duk_put_prop_string(ctx, -2, "username");
-    dukx_push(ctx, server->channels());
+    dukx_push(ctx, server->get_channels());
     duk_put_prop_string(ctx, -2, "channels");
 
     return 1;
@@ -338,7 +338,7 @@
  */
 duk_ret_t toString(duk_context* ctx)
 {
-    dukx_push(ctx, self(ctx)->name());
+    dukx_push(ctx, self(ctx)->get_name());
 
     return 1;
 }
@@ -456,7 +456,7 @@
 
     for (const auto &server : dukx_get_irccd(ctx).servers().servers()) {
         dukx_push(ctx, server);
-        duk_put_prop_string(ctx, -2, server->name().c_str());
+        duk_put_prop_string(ctx, -2, server->get_name().c_str());
     }
 
     return 1;
--- a/libirccd-test/irccd/test/debug_server.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd-test/irccd/test/debug_server.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -24,42 +24,42 @@
 
 void debug_server::connect() noexcept
 {
-    std::cout << name() << ": connect" << std::endl;
+    std::cout << get_name() << ": connect" << std::endl;
 }
 
 void debug_server::disconnect() noexcept
 {
-    std::cout << name() << ": disconnect" << std::endl;
+    std::cout << get_name() << ": disconnect" << std::endl;
 }
 
 void debug_server::reconnect() noexcept
 {
-    std::cout << name() << ": reconnect" << std::endl;
+    std::cout << get_name() << ": reconnect" << std::endl;
 }
 
 void debug_server::invite(std::string target, std::string channel)
 {
-    std::cout << name() << ": invite " << target << " " << channel << std::endl;
+    std::cout << get_name() << ": invite " << target << " " << channel << std::endl;
 }
 
 void debug_server::join(std::string channel, std::string password)
 {
-    std::cout << name() << ": join " << channel << " " << password << std::endl;
+    std::cout << get_name() << ": join " << channel << " " << password << std::endl;
 }
 
 void debug_server::kick(std::string target, std::string channel, std::string reason)
 {
-    std::cout << name() << ": kick " << target << " " << channel << " " << reason << std::endl;
+    std::cout << get_name() << ": kick " << target << " " << channel << " " << reason << std::endl;
 }
 
 void debug_server::me(std::string target, std::string message)
 {
-    std::cout << name() << ": me " << target << " " << message << std::endl;
+    std::cout << get_name() << ": me " << target << " " << message << std::endl;
 }
 
 void debug_server::message(std::string target, std::string message)
 {
-    std::cout << name() << ": message " << target << " " << message << std::endl;
+    std::cout << get_name() << ": message " << target << " " << message << std::endl;
 }
 
 void debug_server::mode(std::string channel,
@@ -68,7 +68,7 @@
           std::string user,
           std::string mask)
 {
-    std::cout << name() << ": mode "
+    std::cout << get_name() << ": mode "
               << channel << " "
               << mode << " "
               << limit << " "
@@ -78,32 +78,32 @@
 
 void debug_server::names(std::string channel)
 {
-    std::cout << name() << ": names " << channel << std::endl;
+    std::cout << get_name() << ": names " << channel << std::endl;
 }
 
 void debug_server::notice(std::string target, std::string message)
 {
-    std::cout << name() << ": notice " << target << " " << message << std::endl;
+    std::cout << get_name() << ": notice " << target << " " << message << std::endl;
 }
 
 void debug_server::part(std::string channel, std::string reason)
 {
-    std::cout << name() << ": part " << channel << " " << reason << std::endl;
+    std::cout << get_name() << ": part " << channel << " " << reason << std::endl;
 }
 
 void debug_server::send(std::string raw)
 {
-    std::cout << name() << ": send " << raw << std::endl;
+    std::cout << get_name() << ": send " << raw << std::endl;
 }
 
 void debug_server::topic(std::string channel, std::string topic)
 {
-    std::cout << name() << ": topic " << channel << " " << topic << std::endl;
+    std::cout << get_name() << ": topic " << channel << " " << topic << std::endl;
 }
 
 void debug_server::whois(std::string target)
 {
-    std::cout << name() << ": whois " << target << std::endl;
+    std::cout << get_name() << ": whois " << target << std::endl;
 }
 
 } // !irccd
--- a/libirccd/irccd/daemon/command/server_connect_command.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd/irccd/daemon/command/server_connect_command.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -35,7 +35,7 @@
 {
     auto server = server_util::from_json(irccd.service(), args);
 
-    if (irccd.servers().has(server->name()))
+    if (irccd.servers().has(server->get_name()))
         throw server_error(server_error::already_exists);
 
     irccd.servers().add(std::move(server));
--- a/libirccd/irccd/daemon/command/server_info_command.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd/irccd/daemon/command/server_info_command.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -48,20 +48,20 @@
 
     // General stuff.
     response.push_back({"command", "server-info"});
-    response.push_back({"name", server->name()});
-    response.push_back({"host", server->host()});
-    response.push_back({"port", server->port()});
-    response.push_back({"nickname", server->nickname()});
-    response.push_back({"username", server->username()});
-    response.push_back({"realname", server->realname()});
-    response.push_back({"channels", server->channels()});
+    response.push_back({"name", server->get_name()});
+    response.push_back({"host", server->get_host()});
+    response.push_back({"port", server->get_port()});
+    response.push_back({"nickname", server->get_nickname()});
+    response.push_back({"username", server->get_username()});
+    response.push_back({"realname", server->get_realname()});
+    response.push_back({"channels", server->get_channels()});
 
     // Optional stuff.
-    if (server->flags() & server::ipv6)
+    if (server->get_flags() & server::ipv6)
         response.push_back({"ipv6", true});
-    if (server->flags() & server::ssl)
+    if (server->get_flags() & server::ssl)
         response.push_back({"ssl", true});
-    if (server->flags() & server::ssl_verify)
+    if (server->get_flags() & server::ssl_verify)
         response.push_back({"sslVerify", true});
 
     client.send(response);
--- a/libirccd/irccd/daemon/command/server_list_command.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd/irccd/daemon/command/server_list_command.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -36,7 +36,7 @@
     auto list = nlohmann::json::array();
 
     for (const auto& server : irccd.servers().servers())
-        list.push_back(server->name());
+        list.push_back(server->get_name());
 
     client.send({
         { "command",    "server-list"   },
--- a/libirccd/irccd/daemon/server.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd/irccd/daemon/server.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -111,16 +111,6 @@
     jchannels_.erase(std::remove(jchannels_.begin(), jchannels_.end(), channel), jchannels_.end());
 }
 
-channel server::split_channel(const std::string& value)
-{
-    auto pos = value.find(':');
-
-    if (pos != std::string::npos)
-        return {value.substr(0, pos), value.substr(pos + 1)};
-
-    return {value, ""};
-}
-
 server::server(boost::asio::io_service& service, std::string name, std::string host)
     : name_(std::move(name))
     , host_(std::move(host))
@@ -178,7 +168,7 @@
      * params[1] == nickname
      * params[2] == End of WHOIS list
      */
-    auto it = whois_map_.find(msg.arg(1));
+    const auto it = whois_map_.find(msg.arg(1));
 
     if (it != whois_map_.end()) {
         on_whois({shared_from_this(), it->second});
@@ -357,7 +347,7 @@
     if (msg.args().size() < 6 || msg.arg(1) == "" || msg.arg(2) == "" || msg.arg(3) == "" || msg.arg(5) == "")
         return;
 
-    class whois info;
+    whois_info info;
 
     info.nick = msg.arg(1);
     info.user = msg.arg(2);
--- a/libirccd/irccd/daemon/server.hpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd/irccd/daemon/server.hpp	Sat Mar 24 07:37:21 2018 +0100
@@ -66,7 +66,7 @@
 /**
  * \brief Describe a whois information.
  */
-class whois {
+class whois_info {
 public:
     std::string nick;                       //!< user's nickname
     std::string user;                       //!< user's user
@@ -229,7 +229,7 @@
 class whois_event {
 public:
     std::shared_ptr<class server> server;   //!< The server.
-    class whois whois;                            //!< The whois information.
+    whois_info whois;                       //!< The whois information.
 };
 
 /**
@@ -432,7 +432,7 @@
     std::unique_ptr<irc::connection> conn_;
     std::int8_t recocur_{0};
     std::map<std::string, std::set<std::string>> names_map_;
-    std::map<std::string, class whois> whois_map_;
+    std::map<std::string, whois_info> whois_map_;
 
     void remove_joined_channel(const std::string& channel);
 
@@ -463,15 +463,6 @@
 
 public:
     /**
-     * Split a channel from the form channel:password into a server_channel
-     * object.
-     *
-     * \param value the value
-     * \return a channel
-     */
-    static channel split_channel(const std::string& value);
-
-    /**
      * Construct a server.
      *
      * \pre !host.empty()
@@ -493,7 +484,7 @@
      *
      * \return the state
      */
-    inline state_t state() const noexcept
+    inline state_t get_state() const noexcept
     {
         return state_;
     }
@@ -503,7 +494,7 @@
      *
      * \return the id
      */
-    inline const std::string& name() const noexcept
+    inline const std::string& get_name() const noexcept
     {
         return name_;
     }
@@ -513,7 +504,7 @@
      *
      * \return the hostname
      */
-    inline const std::string& host() const noexcept
+    inline const std::string& get_host() const noexcept
     {
         return host_;
     }
@@ -533,7 +524,7 @@
      *
      * \return the password
      */
-    inline const std::string& password() const noexcept
+    inline const std::string& get_password() const noexcept
     {
         return password_;
     }
@@ -555,7 +546,7 @@
      *
      * \return the port
      */
-    inline std::uint16_t port() const noexcept
+    inline std::uint16_t get_port() const noexcept
     {
         return port_;
     }
@@ -575,7 +566,7 @@
      *
      * \return the flags
      */
-    inline std::uint8_t flags() const noexcept
+    inline std::uint8_t get_flags() const noexcept
     {
         return flags_;
     }
@@ -599,7 +590,7 @@
      *
      * \return the nickname
      */
-    inline const std::string& nickname() const noexcept
+    inline const std::string& get_nickname() const noexcept
     {
         return nickname_;
     }
@@ -619,7 +610,7 @@
      *
      * \return the username
      */
-    inline const std::string& username() const noexcept
+    inline const std::string& get_username() const noexcept
     {
         return username_;
     }
@@ -640,7 +631,7 @@
      *
      * \return the realname
      */
-    inline const std::string& realname() const noexcept
+    inline const std::string& get_realname() const noexcept
     {
         return realname_;
     }
@@ -661,7 +652,7 @@
      *
      * \return the CTCP version
      */
-    inline const std::string& ctcp_version() const noexcept
+    inline const std::string& get_ctcp_version() const noexcept
     {
         return ctcpversion_;
     }
@@ -678,7 +669,7 @@
      *
      * \return the character
      */
-    inline const std::string& command_char() const noexcept
+    inline const std::string& get_command_char() const noexcept
     {
         return command_char_;
     }
@@ -701,7 +692,7 @@
      *
      * \return the number of reconnections
      */
-    inline std::int8_t reconnect_tries() const noexcept
+    inline std::int8_t get_reconnect_tries() const noexcept
     {
         return recotries_;
     }
@@ -723,7 +714,7 @@
      *
      * \return the number of seconds
      */
-    inline std::uint16_t reconnect_delay() const noexcept
+    inline std::uint16_t get_reconnect_delay() const noexcept
     {
         return recodelay_;
     }
@@ -743,7 +734,7 @@
      *
      * \return the ping timeout
      */
-    inline std::uint16_t ping_timeout() const noexcept
+    inline std::uint16_t get_ping_timeout() const noexcept
     {
         return timeout_;
     }
@@ -763,7 +754,7 @@
      *
      * \return the channels
      */
-    inline const std::vector<std::string>& channels() const noexcept
+    inline const std::vector<std::string>& get_channels() const noexcept
     {
         return jchannels_;
     }
--- a/libirccd/irccd/daemon/server_util.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd/irccd/daemon/server_util.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -33,10 +33,10 @@
 
 void from_config_load_identity(server& sv, const ini::section& sc)
 {
-    const auto username = ini_util::optional_string(sc, "username", sv.username());
-    const auto realname = ini_util::optional_string(sc, "realname", sv.realname());
-    const auto nickname = ini_util::optional_string(sc, "nickname", sv.nickname());
-    const auto ctcp_version = ini_util::optional_string(sc, "ctcp-version", sv.ctcp_version());
+    const auto username = ini_util::optional_string(sc, "username", sv.get_username());
+    const auto realname = ini_util::optional_string(sc, "realname", sv.get_realname());
+    const auto nickname = ini_util::optional_string(sc, "nickname", sv.get_nickname());
+    const auto ctcp_version = ini_util::optional_string(sc, "ctcp-version", sv.get_ctcp_version());
 
     if (username.empty())
         throw server_error(server_error::invalid_username);
@@ -77,23 +77,23 @@
     const auto join_invite = sc.get("join-invite");
 
     if (string_util::is_boolean(ipv6.value()))
-        sv.set_flags(sv.flags() | server::ipv6);
+        sv.set_flags(sv.get_flags() | server::ipv6);
     if (string_util::is_boolean(ssl.value()))
-        sv.set_flags(sv.flags() | server::ssl);
+        sv.set_flags(sv.get_flags() | server::ssl);
     if (string_util::is_boolean(ssl_verify.value()))
-        sv.set_flags(sv.flags() | server::ssl_verify);
+        sv.set_flags(sv.get_flags() | server::ssl_verify);
     if (string_util::is_boolean(auto_rejoin.value()))
-        sv.set_flags(sv.flags() | server::auto_rejoin);
+        sv.set_flags(sv.get_flags() | server::auto_rejoin);
     if (string_util::is_boolean(join_invite.value()))
-        sv.set_flags(sv.flags() | server::join_invite);
+        sv.set_flags(sv.get_flags() | server::join_invite);
 }
 
 void from_config_load_numeric_parameters(server& sv, const ini::section& sc)
 {
-    const auto port = ini_util::optional_uint<std::uint16_t>(sc, "port", sv.port());
-    const auto ping_timeout = ini_util::optional_uint<uint16_t>(sc, "ping-timeout", sv.ping_timeout());
-    const auto reco_tries = ini_util::optional_uint<uint8_t>(sc, "reconnect-tries", sv.reconnect_tries());
-    const auto reco_timeout = ini_util::optional_uint<uint16_t>(sc, "reconnect-delay", sv.reconnect_delay());
+    const auto port = ini_util::optional_uint<std::uint16_t>(sc, "port", sv.get_port());
+    const auto ping_timeout = ini_util::optional_uint<uint16_t>(sc, "ping-timeout", sv.get_ping_timeout());
+    const auto reco_tries = ini_util::optional_uint<uint8_t>(sc, "reconnect-tries", sv.get_reconnect_tries());
+    const auto reco_timeout = ini_util::optional_uint<uint16_t>(sc, "reconnect-delay", sv.get_reconnect_delay());
 
     if (!port)
         throw server_error(server_error::invalid_port);
@@ -113,7 +113,7 @@
 void from_config_load_options(server& sv, const ini::section& sc)
 {
     const auto password = ini_util::optional_string(sc, "password", "");
-    const auto command_char = ini_util::optional_string(sc, "command-char", sv.command_char());
+    const auto command_char = ini_util::optional_string(sc, "command-char", sv.get_command_char());
 
     sv.set_password(password);
     sv.set_command_char(command_char);
@@ -121,13 +121,13 @@
 
 void from_json_load_options(server& sv, const nlohmann::json& object)
 {
-    const auto port = json_util::optional_uint(object, "port", sv.port());
-    const auto nickname = json_util::optional_string(object, "nickname", sv.nickname());
-    const auto realname = json_util::optional_string(object, "realname", sv.realname());
-    const auto username = json_util::optional_string(object, "username", sv.username());
-    const auto ctcp_version = json_util::optional_string(object, "ctcpVersion", sv.ctcp_version());
-    const auto command = json_util::optional_string(object, "commandChar", sv.command_char());
-    const auto password = json_util::optional_string(object, "password", sv.password());
+    const auto port = json_util::optional_uint(object, "port", sv.get_port());
+    const auto nickname = json_util::optional_string(object, "nickname", sv.get_nickname());
+    const auto realname = json_util::optional_string(object, "realname", sv.get_realname());
+    const auto username = json_util::optional_string(object, "username", sv.get_username());
+    const auto ctcp_version = json_util::optional_string(object, "ctcpVersion", sv.get_ctcp_version());
+    const auto command = json_util::optional_string(object, "commandChar", sv.get_command_char());
+    const auto password = json_util::optional_string(object, "password", sv.get_password());
 
     if (!port || *port > std::numeric_limits<std::uint16_t>::max())
         throw server_error(server_error::invalid_port);
@@ -162,18 +162,18 @@
     const auto join_invite = object["joinInvite"];
 
     if (ipv6.is_boolean() && ipv6.get<bool>())
-        sv.set_flags(sv.flags() | server::ipv6);
+        sv.set_flags(sv.get_flags() | server::ipv6);
     if (ssl.is_boolean() && ssl.get<bool>())
-        sv.set_flags(sv.flags() | server::ssl);
+        sv.set_flags(sv.get_flags() | server::ssl);
     if (ssl_verify.is_boolean() && ssl_verify.get<bool>())
-        sv.set_flags(sv.flags() | server::ssl_verify);
+        sv.set_flags(sv.get_flags() | server::ssl_verify);
     if (auto_rejoin.is_boolean() && auto_rejoin.get<bool>())
-        sv.set_flags(sv.flags() | server::auto_rejoin);
+        sv.set_flags(sv.get_flags() | server::auto_rejoin);
     if (join_invite.is_boolean() && join_invite.get<bool>())
-        sv.set_flags(sv.flags() | server::join_invite);
+        sv.set_flags(sv.get_flags() | server::join_invite);
 
 #if !defined(HAVE_SSL)
-    if (sv.flags() & server::ssl)
+    if (sv.get_flags() & server::ssl)
         throw server_error(server_error::ssl_disabled);
 #endif
 }
--- a/libirccd/irccd/daemon/service/server_service.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/libirccd/irccd/daemon/service/server_service.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -64,14 +64,14 @@
 
 void server_service::handle_connect(const connect_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onConnect" << std::endl;
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onConnect" << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onConnect"         },
-        { "server",     ev.server->name()   }
+        { "server",     ev.server->get_name()   }
     }));
 
-    dispatch(irccd_, ev.server->name(), /* origin */ "", /* channel */ "",
+    dispatch(irccd_, ev.server->get_name(), /* origin */ "", /* channel */ "",
         [=] (plugin&) -> std::string {
             return "onConnect";
         },
@@ -86,13 +86,13 @@
     // First, remove the server in case of exceptions.
     servers_.erase(std::find(servers_.begin(), servers_.end(), ev.server));
 
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onDisconnect" << std::endl;
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onDisconnect" << std::endl;
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onDisconnect"      },
-        { "server",     ev.server->name()   }
+        { "server",     ev.server->get_name()   }
     }));
 
-    dispatch(irccd_, ev.server->name(), /* origin */ "", /* channel */ "",
+    dispatch(irccd_, ev.server->get_name(), /* origin */ "", /* channel */ "",
         [=] (plugin&) -> std::string {
             return "onDisconnect";
         },
@@ -104,19 +104,19 @@
 
 void server_service::handle_invite(const invite_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onInvite:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onInvite:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  target: " << ev.nickname << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onInvite"          },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, ev.channel,
+    dispatch(irccd_, ev.server->get_name(), ev.origin, ev.channel,
         [=] (plugin&) -> std::string {
             return "onInvite";
         },
@@ -128,18 +128,18 @@
 
 void server_service::handle_join(const join_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onJoin:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onJoin:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onJoin"            },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, ev.channel,
+    dispatch(irccd_, ev.server->get_name(), ev.origin, ev.channel,
         [=] (plugin&) -> std::string {
             return "onJoin";
         },
@@ -151,7 +151,7 @@
 
 void server_service::handle_kick(const kick_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onKick:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onKick:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  target: " << ev.target << "\n";
@@ -159,14 +159,14 @@
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onKick"            },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          },
         { "target",     ev.target           },
         { "reason",     ev.reason           }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, ev.channel,
+    dispatch(irccd_, ev.server->get_name(), ev.origin, ev.channel,
         [=] (plugin&) -> std::string {
             return "onKick";
         },
@@ -178,30 +178,30 @@
 
 void server_service::handle_message(const message_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onMessage:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onMessage:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  message: " << ev.message << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onMessage"         },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          },
         { "message",    ev.message          }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, ev.channel,
+    dispatch(irccd_, ev.server->get_name(), ev.origin, ev.channel,
         [=] (plugin& plugin) -> std::string {
             return string_util::parse_message(
                 ev.message,
-                ev.server->command_char(),
+                ev.server->get_command_char(),
                 plugin.name()
             ).type == string_util::message_pack::type::command ? "onCommand" : "onMessage";
         },
         [=] (plugin& plugin) mutable {
             auto copy = ev;
-            auto pack = string_util::parse_message(copy.message, copy.server->command_char(), plugin.name());
+            auto pack = string_util::parse_message(copy.message, copy.server->get_command_char(), plugin.name());
 
             copy.message = pack.message;
 
@@ -215,20 +215,20 @@
 
 void server_service::handle_me(const me_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onMe:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onMe:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  target: " << ev.channel << "\n";
     irccd_.log().debug() << "  message: " << ev.message << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onMe"              },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "target",     ev.channel          },
         { "message",    ev.message          }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, ev.channel,
+    dispatch(irccd_, ev.server->get_name(), ev.origin, ev.channel,
         [=] (plugin&) -> std::string {
             return "onMe";
         },
@@ -240,7 +240,7 @@
 
 void server_service::handle_mode(const mode_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onMode\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onMode\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  mode: " << ev.mode << "\n";
@@ -250,7 +250,7 @@
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onMode"            },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          },
         { "mode",       ev.mode             },
@@ -259,7 +259,7 @@
         { "mask",       ev.mask             }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, /* channel */ "",
+    dispatch(irccd_, ev.server->get_name(), ev.origin, /* channel */ "",
         [=] (plugin &) -> std::string {
             return "onMode";
         },
@@ -271,7 +271,7 @@
 
 void server_service::handle_names(const names_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onNames:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onNames:\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  names: " << string_util::join(ev.names.begin(), ev.names.end(), ", ") << std::endl;
 
@@ -282,12 +282,12 @@
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onNames"           },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "channel",    ev.channel          },
         { "names",      std::move(names)    }
     }));
 
-    dispatch(irccd_, ev.server->name(), /* origin */ "", ev.channel,
+    dispatch(irccd_, ev.server->get_name(), /* origin */ "", ev.channel,
         [=] (plugin&) -> std::string {
             return "onNames";
         },
@@ -299,18 +299,18 @@
 
 void server_service::handle_nick(const nick_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onNick:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onNick:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  nickname: " << ev.nickname << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onNick"            },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "nickname",   ev.nickname         }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, /* channel */ "",
+    dispatch(irccd_, ev.server->get_name(), ev.origin, /* channel */ "",
         [=] (plugin&) -> std::string {
             return "onNick";
         },
@@ -322,20 +322,20 @@
 
 void server_service::handle_notice(const notice_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onNotice:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onNotice:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  message: " << ev.message << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onNotice"          },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          },
         { "message",    ev.message          }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, /* channel */ "",
+    dispatch(irccd_, ev.server->get_name(), ev.origin, /* channel */ "",
         [=] (plugin&) -> std::string {
             return "onNotice";
         },
@@ -347,20 +347,20 @@
 
 void server_service::handle_part(const part_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onPart:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onPart:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  reason: " << ev.reason << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onPart"            },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          },
         { "reason",     ev.reason           }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, ev.channel,
+    dispatch(irccd_, ev.server->get_name(), ev.origin, ev.channel,
         [=] (plugin&) -> std::string {
             return "onPart";
         },
@@ -372,20 +372,20 @@
 
 void server_service::handle_topic(const topic_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onTopic:\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onTopic:\n";
     irccd_.log().debug() << "  origin: " << ev.origin << "\n";
     irccd_.log().debug() << "  channel: " << ev.channel << "\n";
     irccd_.log().debug() << "  topic: " << ev.topic << std::endl;
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onTopic"           },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "origin",     ev.origin           },
         { "channel",    ev.channel          },
         { "topic",      ev.topic            }
     }));
 
-    dispatch(irccd_, ev.server->name(), ev.origin, ev.channel,
+    dispatch(irccd_, ev.server->get_name(), ev.origin, ev.channel,
         [=] (plugin&) -> std::string {
             return "onTopic";
         },
@@ -397,7 +397,7 @@
 
 void server_service::handle_whois(const whois_event& ev)
 {
-    irccd_.log().debug() << "server " << ev.server->name() << ": event onWhois\n";
+    irccd_.log().debug() << "server " << ev.server->get_name() << ": event onWhois\n";
     irccd_.log().debug() << "  nickname: " << ev.whois.nick << "\n";
     irccd_.log().debug() << "  username: " << ev.whois.user << "\n";
     irccd_.log().debug() << "  host: " << ev.whois.host << "\n";
@@ -406,14 +406,14 @@
 
     irccd_.transports().broadcast(nlohmann::json::object({
         { "event",      "onWhois"           },
-        { "server",     ev.server->name()   },
+        { "server",     ev.server->get_name()   },
         { "nickname",   ev.whois.nick       },
         { "username",   ev.whois.user       },
         { "host",       ev.whois.host       },
         { "realname",   ev.whois.realname   }
     }));
 
-    dispatch(irccd_, ev.server->name(), /* origin */ "", /* channel */ "",
+    dispatch(irccd_, ev.server->get_name(), /* origin */ "", /* channel */ "",
         [=] (plugin&) -> std::string {
             return "onWhois";
         },
@@ -431,13 +431,13 @@
 bool server_service::has(const std::string& name) const noexcept
 {
     return std::count_if(servers_.begin(), servers_.end(), [&] (const auto& server) {
-        return server->name() == name;
+        return server->get_name() == name;
     }) > 0;
 }
 
 void server_service::add(std::shared_ptr<server> server)
 {
-    assert(!has(server->name()));
+    assert(!has(server->get_name()));
 
     server->on_connect.connect(boost::bind(&server_service::handle_connect, this, _1));
     server->on_die.connect(boost::bind(&server_service::handle_die, this, _1));
@@ -460,7 +460,7 @@
 std::shared_ptr<server> server_service::get(const std::string& name) const noexcept
 {
     auto it = std::find_if(servers_.begin(), servers_.end(), [&] (const auto& server) {
-        return server->name() == name;
+        return server->get_name() == name;
     });
 
     if (it == servers_.end())
@@ -485,7 +485,7 @@
 void server_service::remove(const std::string& name)
 {
     auto it = std::find_if(servers_.begin(), servers_.end(), [&] (const auto& server) {
-        return server->name() == name;
+        return server->get_name() == name;
     });
 
     if (it != servers_.end()) {
--- a/tests/src/libirccd/command-server-connect/main.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/tests/src/libirccd/command-server-connect/main.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -49,9 +49,9 @@
     auto s = daemon_->servers().get("local");
 
     BOOST_TEST(s);
-    BOOST_TEST(s->name() == "local");
-    BOOST_TEST(s->host() == "irc.example.org");
-    BOOST_TEST(s->port() == 6667U);
+    BOOST_TEST(s->get_name() == "local");
+    BOOST_TEST(s->get_host() == "irc.example.org");
+    BOOST_TEST(s->get_port() == 6667U);
 }
 
 #if defined(HAVE_SSL)
@@ -87,19 +87,19 @@
     auto s = daemon_->servers().get("local2");
 
     BOOST_TEST(s);
-    BOOST_TEST(s->name() == "local2");
-    BOOST_TEST(s->host() == "irc.example2.org");
-    BOOST_TEST(s->port() == 18000U);
-    BOOST_TEST(s->password() == "nonono");
-    BOOST_TEST(s->nickname() == "francis");
-    BOOST_TEST(s->realname() == "the_francis");
-    BOOST_TEST(s->username() == "frc");
-    BOOST_TEST(s->command_char() == "::");
-    BOOST_TEST(s->ctcp_version() == "ultra bot");
-    BOOST_TEST(s->flags() & server::ssl);
-    BOOST_TEST(s->flags() & server::ssl_verify);
-    BOOST_TEST(s->flags() & server::auto_rejoin);
-    BOOST_TEST(s->flags() & server::join_invite);
+    BOOST_TEST(s->get_name() == "local2");
+    BOOST_TEST(s->get_host() == "irc.example2.org");
+    BOOST_TEST(s->get_port() == 18000U);
+    BOOST_TEST(s->get_password() == "nonono");
+    BOOST_TEST(s->get_nickname() == "francis");
+    BOOST_TEST(s->get_realname() == "the_francis");
+    BOOST_TEST(s->get_username() == "frc");
+    BOOST_TEST(s->get_command_char() == "::");
+    BOOST_TEST(s->get_ctcp_version() == "ultra bot");
+    BOOST_TEST(s->get_flags() & server::ssl);
+    BOOST_TEST(s->get_flags() & server::ssl_verify);
+    BOOST_TEST(s->get_flags() & server::auto_rejoin);
+    BOOST_TEST(s->get_flags() & server::join_invite);
 }
 
 #endif // !HAVE_SSL
--- a/tests/src/libirccd/command-server-nick/main.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/tests/src/libirccd/command-server-nick/main.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -61,7 +61,7 @@
     });
 
     BOOST_TEST(result.is_object());
-    BOOST_TEST(server_->nickname() == "chris");
+    BOOST_TEST(server_->get_nickname() == "chris");
 }
 
 BOOST_AUTO_TEST_SUITE(errors)
--- a/tests/src/plugins/tictactoe/main.cpp	Fri Mar 23 21:15:10 2018 +0100
+++ b/tests/src/plugins/tictactoe/main.cpp	Sat Mar 24 07:37:21 2018 +0100
@@ -188,7 +188,7 @@
     BOOST_TEST(cmd["message"].get<std::string>() == "invalid=#tictactoe:!tictactoe:jean:jean:tictactoe:test");
 
     // target is origin (no names)
-    plugin_->handle_command(irccd_, {server_, server_->nickname(), "#tictactoe", server_->nickname()});
+    plugin_->handle_command(irccd_, {server_, server_->get_nickname(), "#tictactoe", server_->get_nickname()});
     cmd = server_->cqueue().back();
 
     BOOST_TEST(cmd["command"].get<std::string>() == "message");
@@ -196,7 +196,7 @@
     BOOST_TEST(cmd["message"].get<std::string>() == "invalid=#tictactoe:!tictactoe:irccd:irccd:tictactoe:test");
 
     // not existing (names)
-    plugin_->handle_command(irccd_, {server_, server_->nickname(), "#tictactoe", server_->nickname()});
+    plugin_->handle_command(irccd_, {server_, server_->get_nickname(), "#tictactoe", server_->get_nickname()});
     plugin_->handle_names(irccd_, {server_, "#tictactoe", {"a", "b", "c"}});
     cmd = server_->cqueue().back();