# HG changeset patch # User David Demelier # Date 1513352149 -3600 # Node ID 420480ce53e08dd229615e327f926952324daca6 # Parent 9fbd1700435b135bc84ad26957cc63cc909d07b7 Irccdctl: use category string instead of ints diff -r 9fbd1700435b -r 420480ce53e0 libirccdctl/irccd/ctl/controller.cpp --- a/libirccdctl/irccd/ctl/controller.cpp Fri Dec 15 15:37:58 2017 +0100 +++ b/libirccdctl/irccd/ctl/controller.cpp Fri Dec 15 16:35:49 2017 +0100 @@ -90,7 +90,6 @@ assert(handler); // TODO: ensure connected. - conn_.recv([handler] (auto code, auto msg) { if (code) { handler(std::move(code), std::move(msg)); @@ -98,15 +97,15 @@ } auto e = json_util::to_int(msg["error"]); + auto c = json_util::to_string(msg["errorCategory"]); - // TODO: maybe better to pass category instead of using static ranges. - if (e > 0 && e < 1000) + if (c == "irccd") code = make_error_code(static_cast(e)); - else if (e >= 1000 && e < 2000) + else if (c == "server") code = make_error_code(static_cast(e)); - else if (e >= 2000 && e < 3000) + else if (c == "plugin") code = make_error_code(static_cast(e)); - else if (e >= 4000 && e < 5000) + else if (c == "rule") code = make_error_code(static_cast(e)); handler(std::move(code), std::move(msg)); @@ -118,7 +117,6 @@ assert(message.is_object()); // TODO: ensure connected. - conn_.send(std::move(message), std::move(handler)); }