ClientMessage: turn into a class

This commit is contained in:
Max Kellermann
2013-01-03 17:58:22 +01:00
parent d919f8d50a
commit 5155b0f608
5 changed files with 34 additions and 109 deletions

View File

@@ -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;