exit(EXIT_FAILURE);
}
+static void cf_deluser(disorder_client *c,
+ char **argv) {
+ if(disorder_deluser(c, argv[0]))
+ exit(EXIT_FAILURE);
+}
+
static void cf_edituser(disorder_client *c,
char **argv) {
if(disorder_edituser(c, argv[0], argv[1], argv[2]))
exit(EXIT_FAILURE);
}
-/* TODO: userinfo */
+static void cf_userinfo(disorder_client *c, char **argv) {
+ char *s;
+
+ if(disorder_userinfo(c, argv[0], argv[1], &s))
+ exit(EXIT_FAILURE);
+ xprintf("%s\n", nullcheck(utf82mb(s)));
+}
static const struct command {
const char *name;
"Authorize USER to connect to the server" },
{ "become", 1, 1, cf_become, 0, "USER",
"Become user USER" },
+ { "deluser", 1, 1, cf_deluser, 0, "USER",
+ "Delete a user" },
{ "dirs", 1, 2, cf_dirs, isarg_regexp, "DIR [~REGEXP]",
"List directories in DIR" },
{ "disable", 0, 0, cf_disable, 0, "",
"Disable play" },
{ "disable-random", 0, 0, cf_random_disable, 0, "",
"Disable random play" },
- { "edituser", 3, 3, cf_edituser, 0, "USER KEY VALUE",
+ { "edituser", 3, 3, cf_edituser, 0, "USER PROPERTY VALUE",
"Set a property of a user" },
{ "enable", 0, 0, cf_enable, 0, "",
"Enable play" },
"Unset a preference" },
{ "unset-global", 1, 1, cf_unset_global, 0, "NAME",
"Unset a global preference" },
+ { "userinfo", 2, 2, cf_userinfo, 0, "USER PROPERTY",
+ "Get a property of as user" },
{ "users", 0, 0, cf_users, 0, "",
"List all users" },
{ "version", 0, 0, cf_version, 0, "",
.\"
-.\" Copyright (C) 2004, 2005, 2006 Richard Kettlewell
+.\" Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
List all known commands.
.SH COMMANDS
.TP
+.B adduser \fIUSER PASSWORD\fR
+Create a new user with default rights.
+.TP
+.B deluser \fIUSER\fR
+Delete a user.
+.TP
.B dirs \fIDIRECTORY\fR [\fB~\fIREGEXP\fR]
List all the directories in \fIDIRECTORY\fR.
.IP
.B disable
Disables playing after the current track finishes.
.TP
+.B edituser \fIUSER PROPERTY VALUE
+Set some property of a user.
+.TP
.B enable
(Re-)enable playing.
.TP
.B unset-global \fIKEY\fR
Unset the global preference \fIKEY\fR.
.TP
+.B users
+List known users.
+.TP
.B version
Report the daemon's version number.
.PP
return disorder_simple(c, 0, "deluser", user, (char *)0);
}
-int disorder_userinfo(disorder_client *c, const char *user, const char *key) {
- return disorder_simple(c, 0, "userinfo", user, key, (char *)0);
+int disorder_userinfo(disorder_client *c, const char *user, const char *key,
+ char **valuep) {
+ return disorder_simple(c, valuep, "userinfo", user, key, (char *)0);
}
int disorder_edituser(disorder_client *c, const char *user,
int disorder_adduser(disorder_client *c,
const char *user, const char *password);
int disorder_deluser(disorder_client *c, const char *user);
-int disorder_userinfo(disorder_client *c, const char *user, const char *key);
+int disorder_userinfo(disorder_client *c, const char *user, const char *key,
+ char **valuep);
int disorder_edituser(disorder_client *c, const char *user,
const char *key, const char *value);
int disorder_users(disorder_client *c,