annotate irccdctl/server_nick_cli.cpp @ 574:18e80ec38ac7

Irccd: get rid of user/channel separation, closes #734 Do not make separate events on messages, notices and modes. This was currently added because the original libircclient made these distinctions between the both. In the IRC specification, the channel represents both a nickname and a real channel. Delete: - onChannelMode, - onChannelNotice, - onQuery, - onQueryCommand. Add: - Server.isSelf(target).
author David Demelier <markand@malikania.fr>
date Wed, 29 Nov 2017 14:44:36 +0100
parents 9daccaeedcce
children 27587ff92a64
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
528
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * server_nick_cli.cpp -- implementation of irccdctl server-nick
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2013-2017 David Demelier <markand@malikania.fr>
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include "server_nick_cli.hpp"
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 namespace irccd {
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 namespace ctl {
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 std::string server_nick_cli::name() const
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 {
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 return "server-nick";
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 }
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 void server_nick_cli::exec(ctl::controller& ctl, const std::vector<std::string>& args)
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 {
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 if (args.size() < 2)
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 throw std::invalid_argument("server-nick requires 2 arguments");
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 request(ctl, {
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 { "server", args[0] },
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 { "nickname", args[1] }
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 });
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 }
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 } // !ctl
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
9daccaeedcce Irccdctl: split cli.hpp, closes #726
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 } // !irccd