]> code.delx.au - pulseaudio/blobdiff - src/client.c
esound protocol
[pulseaudio] / src / client.c
index 1b84c6bf59c452210a888ee9196a859ee3eec6b5..3769128320cefb2e64aa291d4058316300be6fb3 100644 (file)
@@ -4,6 +4,7 @@
 #include <string.h>
 
 #include "client.h"
+#include "strbuf.h"
 
 struct client *client_new(struct core *core, const char *protocol_name, char *name) {
     struct client *c;
@@ -42,3 +43,26 @@ void client_kill(struct client *c) {
         c->kill(c);
 }
 
+char *client_list_to_string(struct core *c) {
+    struct strbuf *s;
+    struct client *client;
+    uint32_t index = IDXSET_INVALID;
+    assert(c);
+
+    s = strbuf_new();
+    assert(s);
+
+    strbuf_printf(s, "%u client(s).\n", idxset_ncontents(c->clients));
+    
+    for (client = idxset_first(c->clients, &index); client; client = idxset_next(c->clients, &index))
+        strbuf_printf(s, "    index: %u, name: <%s>, protocol_name: <%s>\n", client->index, client->name, client->protocol_name);
+    
+    return strbuf_tostring_free(s);
+}
+
+
+void client_rename(struct client *c, const char *name) {
+    assert(c);
+    free(c->name);
+    c->name = name ? strdup(name) : NULL;
+}