command: new command "config"
This commit is contained in:
parent
0a0b473765
commit
5540fbaec2
1
NEWS
1
NEWS
|
@ -3,6 +3,7 @@ ver 0.17 (2011/??/??)
|
||||||
- support client-to-client communication
|
- support client-to-client communication
|
||||||
- "update" and "rescan" need only "CONTROL" permission
|
- "update" and "rescan" need only "CONTROL" permission
|
||||||
- new command "seekcur" for simpler seeking within current song
|
- new command "seekcur" for simpler seeking within current song
|
||||||
|
- new command "config" dumps location of music directory
|
||||||
- add range parameter to command "load"
|
- add range parameter to command "load"
|
||||||
- print extra "playlist" object for embedded CUE sheets
|
- print extra "playlist" object for embedded CUE sheets
|
||||||
* input:
|
* input:
|
||||||
|
|
|
@ -1845,6 +1845,47 @@ OK
|
||||||
<title>Reflection</title>
|
<title>Reflection</title>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
<varlistentry id="command_config">
|
||||||
|
<term>
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>config</command>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Dumps configuration values that may be interesting for
|
||||||
|
the client. This command is only permitted to "local"
|
||||||
|
clients (connected via UNIX domain socket).
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The following response attributes are available:
|
||||||
|
</para>
|
||||||
|
<informaltable>
|
||||||
|
<tgroup cols="2">
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry>
|
||||||
|
Name
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
Description
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>
|
||||||
|
<varname>music_directory</varname>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
The absolute path of the music directory.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry id="command_commands">
|
<varlistentry id="command_commands">
|
||||||
<term>
|
<term>
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
#include "path.h"
|
#include "path.h"
|
||||||
#include "replay_gain_config.h"
|
#include "replay_gain_config.h"
|
||||||
#include "idle.h"
|
#include "idle.h"
|
||||||
|
#include "mapper.h"
|
||||||
|
|
||||||
#ifdef ENABLE_SQLITE
|
#ifdef ENABLE_SQLITE
|
||||||
#include "sticker.h"
|
#include "sticker.h"
|
||||||
|
@ -1696,6 +1697,23 @@ static enum command_return
|
||||||
handle_not_commands(struct client *client,
|
handle_not_commands(struct client *client,
|
||||||
G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[]);
|
G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[]);
|
||||||
|
|
||||||
|
static enum command_return
|
||||||
|
handle_config(struct client *client,
|
||||||
|
G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[])
|
||||||
|
{
|
||||||
|
if (!client_is_local(client)) {
|
||||||
|
command_error(client, ACK_ERROR_PERMISSION,
|
||||||
|
"Command only permitted to local clients");
|
||||||
|
return COMMAND_RETURN_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *path = mapper_get_music_directory();
|
||||||
|
if (path != NULL)
|
||||||
|
client_printf(client, "music_directory: %s\n", path);
|
||||||
|
|
||||||
|
return COMMAND_RETURN_OK;
|
||||||
|
}
|
||||||
|
|
||||||
static enum command_return
|
static enum command_return
|
||||||
handle_playlistclear(struct client *client, G_GNUC_UNUSED int argc, char *argv[])
|
handle_playlistclear(struct client *client, G_GNUC_UNUSED int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
@ -2139,6 +2157,7 @@ static const struct command commands[] = {
|
||||||
{ "clearerror", PERMISSION_CONTROL, 0, 0, handle_clearerror },
|
{ "clearerror", PERMISSION_CONTROL, 0, 0, handle_clearerror },
|
||||||
{ "close", PERMISSION_NONE, -1, -1, handle_close },
|
{ "close", PERMISSION_NONE, -1, -1, handle_close },
|
||||||
{ "commands", PERMISSION_NONE, 0, 0, handle_commands },
|
{ "commands", PERMISSION_NONE, 0, 0, handle_commands },
|
||||||
|
{ "config", PERMISSION_ADMIN, 0, 0, handle_config },
|
||||||
{ "consume", PERMISSION_CONTROL, 1, 1, handle_consume },
|
{ "consume", PERMISSION_CONTROL, 1, 1, handle_consume },
|
||||||
{ "count", PERMISSION_READ, 2, -1, handle_count },
|
{ "count", PERMISSION_READ, 2, -1, handle_count },
|
||||||
{ "crossfade", PERMISSION_CONTROL, 1, 1, handle_crossfade },
|
{ "crossfade", PERMISSION_CONTROL, 1, 1, handle_crossfade },
|
||||||
|
|
Loading…
Reference in New Issue