Mercurial > irccd
comparison irccdctl/cli.cpp @ 758:445c071e8efb
Irccd: Javascript API cleanup
- Place all related code to `js` namespace,
- Import duk.hpp and duk.cpp from libduk.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 09 Aug 2018 13:07:19 +0200 |
parents | c216d148558d |
children | 8c44bbcbbab9 |
comparison
equal
deleted
inserted
replaced
757:97b356010785 | 758:445c071e8efb |
---|---|
32 | 32 |
33 // {{{ helpers | 33 // {{{ helpers |
34 | 34 |
35 namespace { | 35 namespace { |
36 | 36 |
37 template <typename T> | |
38 auto bind() noexcept -> cli::constructor | |
39 { | |
40 return [] () noexcept { | |
41 return std::make_unique<T>(); | |
42 }; | |
43 } | |
44 | |
37 auto format(std::vector<std::string> args) -> std::string | 45 auto format(std::vector<std::string> args) -> std::string |
38 { | 46 { |
39 auto result = option::read(args, { | 47 auto result = option::read(args, { |
40 { "-f", true }, | 48 { "-f", true }, |
41 { "--format", true } | 49 { "--format", true } |
220 } // !namespace | 228 } // !namespace |
221 | 229 |
222 // }}} | 230 // }}} |
223 | 231 |
224 // {{{ cli | 232 // {{{ cli |
233 | |
234 const std::vector<cli::constructor> cli::registry{ | |
235 bind<plugin_config_cli>(), | |
236 bind<plugin_info_cli>(), | |
237 bind<plugin_list_cli>(), | |
238 bind<plugin_load_cli>(), | |
239 bind<plugin_reload_cli>(), | |
240 bind<plugin_unload_cli>(), | |
241 bind<rule_add_cli>(), | |
242 bind<rule_edit_cli>(), | |
243 bind<rule_info_cli>(), | |
244 bind<rule_info_cli>(), | |
245 bind<rule_list_cli>(), | |
246 bind<rule_move_cli>(), | |
247 bind<rule_remove_cli>(), | |
248 bind<server_connect_cli>(), | |
249 bind<server_disconnect_cli>(), | |
250 bind<server_info_cli>(), | |
251 bind<server_invite_cli>(), | |
252 bind<server_join_cli>(), | |
253 bind<server_kick_cli>(), | |
254 bind<server_list_cli>(), | |
255 bind<server_me_cli>(), | |
256 bind<server_message_cli>(), | |
257 bind<server_mode_cli>(), | |
258 bind<server_nick_cli>(), | |
259 bind<server_notice_cli>(), | |
260 bind<server_part_cli>(), | |
261 bind<server_reconnect_cli>(), | |
262 bind<server_topic_cli>(), | |
263 bind<watch_cli>() | |
264 }; | |
225 | 265 |
226 void cli::recv_response(ctl::controller& ctl, nlohmann::json req, handler_t handler) | 266 void cli::recv_response(ctl::controller& ctl, nlohmann::json req, handler_t handler) |
227 { | 267 { |
228 ctl.read([&ctl, req, handler, this] (auto code, auto message) { | 268 ctl.read([&ctl, req, handler, this] (auto code, auto message) { |
229 if (code) | 269 if (code) |