From 86e036c3933def22b6ff0eae5bcf9cd7103240e7 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 13 Aug 2015 12:48:31 +0200 Subject: command: pass Response object to command callbacks --- src/command/MessageCommands.cxx | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'src/command/MessageCommands.cxx') diff --git a/src/command/MessageCommands.cxx b/src/command/MessageCommands.cxx index 62d47ff0e..28f97a52f 100644 --- a/src/command/MessageCommands.cxx +++ b/src/command/MessageCommands.cxx @@ -33,10 +33,8 @@ #include CommandResult -handle_subscribe(Client &client, Request args) +handle_subscribe(Client &client, Request args, Response &r) { - Response r(client); - assert(args.size == 1); const char *const channel_name = args[0]; @@ -63,10 +61,8 @@ handle_subscribe(Client &client, Request args) } CommandResult -handle_unsubscribe(Client &client, Request args) +handle_unsubscribe(Client &client, Request args, Response &r) { - Response r(client); - assert(args.size == 1); const char *const channel_name = args[0]; @@ -79,7 +75,7 @@ handle_unsubscribe(Client &client, Request args) } CommandResult -handle_channels(Client &client, gcc_unused Request args) +handle_channels(Client &client, gcc_unused Request args, Response &r) { assert(args.IsEmpty()); @@ -88,7 +84,6 @@ handle_channels(Client &client, gcc_unused Request args) channels.insert(c.subscriptions.begin(), c.subscriptions.end()); - Response r(client); for (const auto &channel : channels) r.Format("channel: %s\n", channel.c_str()); @@ -97,11 +92,10 @@ handle_channels(Client &client, gcc_unused Request args) CommandResult handle_read_messages(Client &client, - gcc_unused Request args) + gcc_unused Request args, Response &r) { assert(args.IsEmpty()); - Response r(client); while (!client.messages.empty()) { const ClientMessage &msg = client.messages.front(); @@ -114,14 +108,13 @@ handle_read_messages(Client &client, } CommandResult -handle_send_message(Client &client, Request args) +handle_send_message(Client &client, Request args, Response &r) { assert(args.size == 2); const char *const channel_name = args[0]; const char *const message_text = args[1]; - Response r(client); if (!client_message_valid_channel_name(channel_name)) { r.Error(ACK_ERROR_ARG, "invalid channel name"); return CommandResult::ERROR; -- cgit v1.2.3