Mercurial > irccd
comparison irccdctl/cli.cpp @ 450:c8c68d4bf555
Irccdctl: implement rule-remove
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 07 Jul 2017 12:22:17 +0200 |
parents | 9968eac538e6 |
children | 1fdedd2977d2 |
comparison
equal
deleted
inserted
replaced
449:9968eac538e6 | 450:c8c68d4bf555 |
---|---|
941 { "index", index } | 941 { "index", index } |
942 }); | 942 }); |
943 | 943 |
944 check(result); | 944 check(result); |
945 showRule(result, 0); | 945 showRule(result, 0); |
946 } | |
947 | |
948 /* | |
949 * RuleRemoveCli. | |
950 * ------------------------------------------------------------------ | |
951 */ | |
952 | |
953 RuleRemoveCli::RuleRemoveCli() | |
954 : Cli("rule-remove", | |
955 "remove a rule", | |
956 "rule-remove index", | |
957 "Remove an existing rule.\n\n" | |
958 "Example:\n" | |
959 "\tirccdctl rule-remove 0\n" | |
960 "\tirccdctl rule-remove 1") | |
961 { | |
962 } | |
963 | |
964 void RuleRemoveCli::exec(Irccdctl &irccdctl, const std::vector<std::string> &args) | |
965 { | |
966 if (args.size() < 1) | |
967 throw std::invalid_argument("rule-remove requires 1 argument"); | |
968 | |
969 int index = 0; | |
970 | |
971 try { | |
972 index = std::stoi(args[0]); | |
973 } catch (...) { | |
974 throw std::invalid_argument("invalid number '" + args[0] + "'"); | |
975 } | |
976 | |
977 auto result = request(irccdctl, { | |
978 { "command", "rule-remove" }, | |
979 { "index", index } | |
980 }); | |
981 | |
982 check(result); | |
946 } | 983 } |
947 | 984 |
948 /* | 985 /* |
949 * WatchCli. | 986 * WatchCli. |
950 * ------------------------------------------------------------------ | 987 * ------------------------------------------------------------------ |