comparison irccdctl/watch_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
comparison
equal deleted inserted replaced
573:067240931226 574:18e80ec38ac7
47 return result.find("--format")->second; 47 return result.find("--format")->second;
48 48
49 return "native"; 49 return "native";
50 } 50 }
51 51
52 void onChannelMode(const nlohmann::json &v)
53 {
54 std::cout << "event: onChannelMode\n";
55 std::cout << "server: " << json_util::pretty(v, "server") << "\n";
56 std::cout << "origin: " << json_util::pretty(v, "origin") << "\n";
57 std::cout << "mode: " << json_util::pretty(v, "mode") << "\n";
58 std::cout << "argument: " << json_util::pretty(v, "argument") << "\n";
59 }
60
61 void onChannelNotice(const nlohmann::json &v)
62 {
63 std::cout << "event: onChannelNotice\n";
64 std::cout << "server: " << json_util::pretty(v, "server") << "\n";
65 std::cout << "origin: " << json_util::pretty(v, "origin") << "\n";
66 std::cout << "channel: " << json_util::pretty(v, "channel") << "\n";
67 std::cout << "message: " << json_util::pretty(v, "message") << "\n";
68 }
69
70 void onConnect(const nlohmann::json &v) 52 void onConnect(const nlohmann::json &v)
71 { 53 {
72 std::cout << "event: onConnect\n"; 54 std::cout << "event: onConnect\n";
73 std::cout << "server: " << json_util::pretty(v, "server") << "\n"; 55 std::cout << "server: " << json_util::pretty(v, "server") << "\n";
74 } 56 }
154 std::cout << "event: onPart\n"; 136 std::cout << "event: onPart\n";
155 std::cout << "server: " << json_util::pretty(v, "server") << "\n"; 137 std::cout << "server: " << json_util::pretty(v, "server") << "\n";
156 std::cout << "origin: " << json_util::pretty(v, "origin") << "\n"; 138 std::cout << "origin: " << json_util::pretty(v, "origin") << "\n";
157 std::cout << "channel: " << json_util::pretty(v, "channel") << "\n"; 139 std::cout << "channel: " << json_util::pretty(v, "channel") << "\n";
158 std::cout << "reason: " << json_util::pretty(v, "reason") << "\n"; 140 std::cout << "reason: " << json_util::pretty(v, "reason") << "\n";
159 }
160
161 void onQuery(const nlohmann::json &v)
162 {
163 std::cout << "event: onQuery\n";
164 std::cout << "server: " << json_util::pretty(v, "server") << "\n";
165 std::cout << "origin: " << json_util::pretty(v, "origin") << "\n";
166 std::cout << "message: " << json_util::pretty(v, "message") << "\n";
167 } 141 }
168 142
169 void onTopic(const nlohmann::json &v) 143 void onTopic(const nlohmann::json &v)
170 { 144 {
171 std::cout << "event: onTopic\n"; 145 std::cout << "event: onTopic\n";
184 std::cout << "host: " << json_util::pretty(v, "host") << "\n"; 158 std::cout << "host: " << json_util::pretty(v, "host") << "\n";
185 std::cout << "realname: " << json_util::pretty(v, "realname") << "\n"; 159 std::cout << "realname: " << json_util::pretty(v, "realname") << "\n";
186 } 160 }
187 161
188 const std::unordered_map<std::string, std::function<void (const nlohmann::json&)>> events{ 162 const std::unordered_map<std::string, std::function<void (const nlohmann::json&)>> events{
189 { "onChannelMode", onChannelMode },
190 { "onChannelNotice", onChannelNotice },
191 { "onConnect", onConnect }, 163 { "onConnect", onConnect },
192 { "onInvite", onInvite }, 164 { "onInvite", onInvite },
193 { "onJoin", onJoin }, 165 { "onJoin", onJoin },
194 { "onKick", onKick }, 166 { "onKick", onKick },
195 { "onMessage", onMessage }, 167 { "onMessage", onMessage },
197 { "onMode", onMode }, 169 { "onMode", onMode },
198 { "onNames", onNames }, 170 { "onNames", onNames },
199 { "onNick", onNick }, 171 { "onNick", onNick },
200 { "onNotice", onNotice }, 172 { "onNotice", onNotice },
201 { "onPart", onPart }, 173 { "onPart", onPart },
202 { "onQuery", onQuery },
203 { "onTopic", onTopic }, 174 { "onTopic", onTopic },
204 { "onWhois", onWhois } 175 { "onWhois", onWhois }
205 }; 176 };
206 177
207 void get_event(ctl::controller& ctl, std::string fmt) 178 void get_event(ctl::controller& ctl, std::string fmt)