configure.ac: Move the encoders before the audio outputs.
[mpd-mk.git] / src / client_list.c
blob5332ed65f09d0454e095f98275143554f2ea5be6
1 /*
2 * Copyright (C) 2003-2010 The Music Player Daemon Project
3 * http://www.musicpd.org
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #include "config.h"
21 #include "client_internal.h"
23 #include <assert.h>
25 static GList *clients;
26 static unsigned num_clients;
28 bool
29 client_list_is_empty(void)
31 return num_clients == 0;
34 bool
35 client_list_is_full(void)
37 return num_clients >= client_max_connections;
40 struct client *
41 client_list_get_first(void)
43 assert(clients != NULL);
45 return clients->data;
48 void
49 client_list_add(struct client *client)
51 clients = g_list_prepend(clients, client);
52 ++num_clients;
55 void
56 client_list_foreach(GFunc func, gpointer user_data)
58 g_list_foreach(clients, func, user_data);
61 void
62 client_list_remove(struct client *client)
64 assert(num_clients > 0);
65 assert(clients != NULL);
67 clients = g_list_remove(clients, client);
68 --num_clients;