Mercurial > irccd
view lib/irccd/cmd-server-list.cpp @ 95:1125d90b3b44
Misc: switch to .hpp, #477
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 20 Apr 2016 19:45:00 +0200 |
parents | 969f30acfb0e |
children | 1ed760f6e0c6 |
line wrap: on
line source
/* * cmd-server-list.cpp -- implementation of server-list transport command * * Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include <iostream> #include "cmd-server-list.hpp" #include "irccd.hpp" namespace irccd { namespace command { ServerList::ServerList() : RemoteCommand("server-list", "Server") { } std::string ServerList::help() const { return ""; } json::Value ServerList::exec(Irccd &irccd, const json::Value &) const { auto json = json::object({}); auto list = json::array({}); for (const auto &pair : irccd.servers()) list.append(pair.first); json.insert("list", std::move(list)); return json; } void ServerList::result(Irccdctl &, const json::Value &response) const { for (const auto &n : response.valueOr("list", json::Type::Array, json::array({}))) std::cout << n.toString() << std::endl; } } // !command } // !irccd