aboutsummaryrefslogtreecommitdiff
path: root/src/ClientSubscribe.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-01-03 17:58:22 +0100
committerMax Kellermann <max@duempel.org>2013-01-03 17:58:22 +0100
commit5155b0f6087b5929838f6594a719011e3e704244 (patch)
treee924eff40e0330d4a4129213f32dc6f03dadcd16 /src/ClientSubscribe.cxx
parentd919f8d50ab32a94b8965330297985cd14c45a42 (diff)
ClientMessage: turn into a class
Diffstat (limited to 'src/ClientSubscribe.cxx')
-rw-r--r--src/ClientSubscribe.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/ClientSubscribe.cxx b/src/ClientSubscribe.cxx
index 3f471495..4f147147 100644
--- a/src/ClientSubscribe.cxx
+++ b/src/ClientSubscribe.cxx
@@ -25,6 +25,7 @@ extern "C" {
#include "idle.h"
}
+#include <assert.h>
#include <string.h>
enum client_subscribe_result
@@ -78,21 +79,19 @@ client_unsubscribe_all(Client *client)
}
bool
-client_push_message(Client *client, const struct client_message *msg)
+client_push_message(Client *client, const ClientMessage &msg)
{
assert(client != NULL);
- assert(msg != NULL);
- assert(client_message_defined(msg));
if (client->num_messages >= CLIENT_MAX_MESSAGES ||
- !client->IsSubscribed(msg->channel))
+ !client->IsSubscribed(msg.GetChannel()))
return false;
if (client->messages == NULL)
client_idle_add(client, IDLE_MESSAGE);
client->messages = g_slist_prepend(client->messages,
- client_message_dup(msg));
+ new ClientMessage(msg));
++client->num_messages;
return true;