Mercurial > irccd
changeset 130:483c862b5a52
Irccd: cleanup a bit ServerService, #497
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 11 May 2016 21:09:10 +0200 |
parents | 49d1a5eeef6f |
children | 77c90336ba56 |
files | irccd/main.cpp lib/irccd/cmd-server-cmode.cpp lib/irccd/cmd-server-cnotice.cpp lib/irccd/cmd-server-connect.cpp lib/irccd/cmd-server-disconnect.cpp lib/irccd/cmd-server-info.cpp lib/irccd/cmd-server-invite.cpp lib/irccd/cmd-server-join.cpp lib/irccd/cmd-server-kick.cpp lib/irccd/cmd-server-me.cpp lib/irccd/cmd-server-message.cpp lib/irccd/cmd-server-mode.cpp lib/irccd/cmd-server-nick.cpp lib/irccd/cmd-server-notice.cpp lib/irccd/cmd-server-part.cpp lib/irccd/cmd-server-reconnect.cpp lib/irccd/cmd-server-topic.cpp lib/irccd/js-server.cpp lib/irccd/service-server.cpp lib/irccd/service-server.hpp |
diffstat | 20 files changed, 66 insertions(+), 65 deletions(-) [+] |
line wrap: on
line diff
--- a/irccd/main.cpp Wed May 11 21:00:49 2016 +0200 +++ b/irccd/main.cpp Wed May 11 21:09:10 2016 +0200 @@ -236,7 +236,7 @@ // [server] section. for (const auto &server : config.loadServers()) { - instance->serverService().addServer(server); + instance->serverService().add(server); } // [rule] section.
--- a/lib/irccd/cmd-server-cmode.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-cmode.cpp Wed May 11 21:09:10 2016 +0200 @@ -46,7 +46,7 @@ json::Value ServerChannelMode::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->cmode( + irccd.serverService().require(request.at("server").toString())->cmode( request.at("channel").toString(), request.at("mode").toString() );
--- a/lib/irccd/cmd-server-cnotice.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-cnotice.cpp Wed May 11 21:09:10 2016 +0200 @@ -46,7 +46,7 @@ json::Value ServerChannelNotice::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->cnotice( + irccd.serverService().require(request.at("server").toString())->cnotice( request.at("channel").toString(), request.at("message").toString() );
--- a/lib/irccd/cmd-server-connect.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-connect.cpp Wed May 11 21:09:10 2016 +0200 @@ -158,11 +158,11 @@ auto server = std::make_shared<Server>(readInfoName(request), readInfo(request), readIdentity(request), readSettings(request)); - if (irccd.serverService().hasServer(server->name())) { + if (irccd.serverService().has(server->name())) { throw std::invalid_argument("server '{}' already exists"_format(server->name())); } - irccd.serverService().addServer(std::move(server)); + irccd.serverService().add(std::move(server)); return RemoteCommand::exec(irccd, request); }
--- a/lib/irccd/cmd-server-disconnect.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-disconnect.cpp Wed May 11 21:09:10 2016 +0200 @@ -45,9 +45,9 @@ auto it = request.find("server"); if (it == request.end()) { - irccd.serverService().clearServers(); + irccd.serverService().clear(); } else { - irccd.serverService().removeServer(it->toString()); + irccd.serverService().remove(it->toString()); } return RemoteCommand::exec(irccd, request);
--- a/lib/irccd/cmd-server-info.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-info.cpp Wed May 11 21:09:10 2016 +0200 @@ -53,7 +53,7 @@ json::Value ServerInfo::exec(Irccd &irccd, const json::Value &request) const { - auto server = irccd.serverService().requireServer(request.at("server").toString()); + auto server = irccd.serverService().require(request.at("server").toString()); auto response = RemoteCommand::exec(irccd, request); /* General stuff */
--- a/lib/irccd/cmd-server-invite.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-invite.cpp Wed May 11 21:09:10 2016 +0200 @@ -55,7 +55,7 @@ json::Value ServerInvite::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer( + irccd.serverService().require( request.at("server").toString())->invite( request.at("target").toString(), request.at("channel").toString()
--- a/lib/irccd/cmd-server-join.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-join.cpp Wed May 11 21:09:10 2016 +0200 @@ -60,7 +60,7 @@ json::Value ServerJoin::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer( + irccd.serverService().require( request.at("server").toString())->join( request.at("channel").toString(), request.valueOr("password", json::Type::String, "").toString()
--- a/lib/irccd/cmd-server-kick.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-kick.cpp Wed May 11 21:09:10 2016 +0200 @@ -62,7 +62,7 @@ json::Value ServerKick::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->kick( + irccd.serverService().require(request.at("server").toString())->kick( request.at("target").toString(), request.at("channel").toString(), request.valueOr("reason", json::Type::String, "").toString()
--- a/lib/irccd/cmd-server-me.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-me.cpp Wed May 11 21:09:10 2016 +0200 @@ -55,7 +55,7 @@ json::Value ServerMe::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->me( + irccd.serverService().require(request.at("server").toString())->me( request.at("target").toString(), request.at("message").toString() );
--- a/lib/irccd/cmd-server-message.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-message.cpp Wed May 11 21:09:10 2016 +0200 @@ -55,7 +55,7 @@ json::Value ServerMessage::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->me( + irccd.serverService().require(request.at("server").toString())->me( request.at("target").toString(), request.at("message").toString() );
--- a/lib/irccd/cmd-server-mode.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-mode.cpp Wed May 11 21:09:10 2016 +0200 @@ -53,7 +53,7 @@ json::Value ServerMode::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->mode(request.at("mode").toString()); + irccd.serverService().require(request.at("server").toString())->mode(request.at("mode").toString()); return nullptr; }
--- a/lib/irccd/cmd-server-nick.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-nick.cpp Wed May 11 21:09:10 2016 +0200 @@ -53,7 +53,7 @@ json::Value ServerNick::exec(Irccd &irccd, const json::Value &object) const { - irccd.serverService().requireServer(object.at("server").toString())->nick(object.at("nickname").toString()); + irccd.serverService().require(object.at("server").toString())->nick(object.at("nickname").toString()); return nullptr; }
--- a/lib/irccd/cmd-server-notice.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-notice.cpp Wed May 11 21:09:10 2016 +0200 @@ -55,7 +55,7 @@ json::Value ServerNotice::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->notice( + irccd.serverService().require(request.at("server").toString())->notice( request.at("target").toString(), request.at("message").toString() );
--- a/lib/irccd/cmd-server-part.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-part.cpp Wed May 11 21:09:10 2016 +0200 @@ -60,7 +60,7 @@ json::Value ServerPart::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->part( + irccd.serverService().require(request.at("server").toString())->part( request.at("channel").toString(), request.valueOr("reason", "").toString() );
--- a/lib/irccd/cmd-server-reconnect.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-reconnect.cpp Wed May 11 21:09:10 2016 +0200 @@ -50,7 +50,7 @@ auto server = request.find("server"); if (server != request.end() && server->isString()) { - irccd.serverService().requireServer(server->toString())->reconnect(); + irccd.serverService().require(server->toString())->reconnect(); } else { for (auto &server : irccd.serverService().servers()) { server->reconnect();
--- a/lib/irccd/cmd-server-topic.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/cmd-server-topic.cpp Wed May 11 21:09:10 2016 +0200 @@ -55,7 +55,7 @@ json::Value ServerTopic::exec(Irccd &irccd, const json::Value &request) const { - irccd.serverService().requireServer(request.at("server").toString())->topic( + irccd.serverService().require(request.at("server").toString())->topic( request.at("channel").toString(), request.at("topic").toString() );
--- a/lib/irccd/js-server.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/js-server.cpp Wed May 11 21:09:10 2016 +0200 @@ -427,7 +427,7 @@ auto server = duk::get<duk::Shared<Server>>(ctx, 0); if (server) { - duk::getGlobal<duk::RawPointer<Irccd>>(ctx, "\xff""\xff""irccd")->serverService().addServer(server); + duk::getGlobal<duk::RawPointer<Irccd>>(ctx, "\xff""\xff""irccd")->serverService().add(server); } return 0; @@ -450,7 +450,7 @@ const auto irccd = duk::getGlobal<duk::RawPointer<Irccd>>(ctx, "\xff""\xff""irccd"); try { - duk::push(ctx, duk::Shared<Server>{irccd->serverService().requireServer(name)}); + duk::push(ctx, duk::Shared<Server>{irccd->serverService().require(name)}); } catch (...) { return 0; } @@ -489,7 +489,7 @@ */ duk::Ret remove(duk::ContextPtr ctx) { - duk::getGlobal<duk::RawPointer<Irccd>>(ctx, "\xff""\xff""irccd")->serverService().removeServer(duk::require<std::string>(ctx, 0)); + duk::getGlobal<duk::RawPointer<Irccd>>(ctx, "\xff""\xff""irccd")->serverService().remove(duk::require<std::string>(ctx, 0)); return 0; }
--- a/lib/irccd/service-server.cpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/service-server.cpp Wed May 11 21:09:10 2016 +0200 @@ -581,16 +581,16 @@ } } -bool ServerService::hasServer(const std::string &name) const noexcept +bool ServerService::has(const std::string &name) const noexcept { return std::count_if(m_servers.cbegin(), m_servers.end(), [&] (const auto &server) { return server->name() == name; }) > 0; } -void ServerService::addServer(std::shared_ptr<Server> server) noexcept +void ServerService::add(std::shared_ptr<Server> server) { - assert(!hasServer(server->name())); + assert(!has(server->name())); using namespace std::placeholders; @@ -626,7 +626,7 @@ m_servers.push_back(std::move(server)); } -std::shared_ptr<Server> ServerService::getServer(const std::string &name) const noexcept +std::shared_ptr<Server> ServerService::get(const std::string &name) const noexcept { auto it = std::find_if(m_servers.begin(), m_servers.end(), [&] (const auto &server) { return server->name() == name; @@ -639,9 +639,9 @@ return *it; } -std::shared_ptr<Server> ServerService::requireServer(const std::string &name) const +std::shared_ptr<Server> ServerService::require(const std::string &name) const { - auto server = getServer(name); + auto server = get(name); if (!server) { throw std::invalid_argument("server {} not found"_format(name)); @@ -650,7 +650,7 @@ return server; } -void ServerService::removeServer(const std::string &name) +void ServerService::remove(const std::string &name) { auto it = std::find_if(m_servers.begin(), m_servers.end(), [&] (const auto &server) { return server->name() == name; @@ -662,7 +662,7 @@ } } -void ServerService::clearServers() noexcept +void ServerService::clear() noexcept { for (auto &server : m_servers) { server->disconnect();
--- a/lib/irccd/service-server.hpp Wed May 11 21:00:49 2016 +0200 +++ b/lib/irccd/service-server.hpp Wed May 11 21:09:10 2016 +0200 @@ -78,39 +78,6 @@ void sync(fd_set &in, fd_set &out) override; /** - * Check if a server exists. - * - * \param name the name - * \return true if exists - */ - bool hasServer(const std::string &name) const noexcept; - - /** - * Add a new server to the application. - * - * \pre hasServer must return false - * \param sv the server - */ - void addServer(std::shared_ptr<Server> sv) noexcept; - - /** - * Get a server or empty one if not found - * - * \param name the server name - * \return the server or empty one if not found - */ - std::shared_ptr<Server> getServer(const std::string &name) const noexcept; - - /** - * Find a server by name. - * - * \param name the server name - * \return the server - * \throw std::out_of_range if the server does not exist - */ - std::shared_ptr<Server> requireServer(const std::string &name) const; - - /** * Get the list of servers * * \return the servers @@ -121,20 +88,54 @@ } /** + * Check if a server exists. + * + * \param name the name + * \return true if exists + */ + bool has(const std::string &name) const noexcept; + + /** + * Add a new server to the application. + * + * \pre hasServer must return false + * \param sv the server + */ + void add(std::shared_ptr<Server> sv); + + /** + * Get a server or empty one if not found + * + * \param name the server name + * \return the server or empty one if not found + */ + std::shared_ptr<Server> get(const std::string &name) const noexcept; + + /** + * Find a server by name. + * + * \param name the server name + * \return the server + * \throw std::out_of_range if the server does not exist + */ + std::shared_ptr<Server> require(const std::string &name) const; + + + /** * Remove a server from the irccd instance. * * The server if any, will be disconnected. * * \param name the server name */ - void removeServer(const std::string &name); + void remove(const std::string &name); /** * Remove all servers. * * All servers will be disconnected. */ - void clearServers() noexcept; + void clear() noexcept; }; } // !irccd