command/Request: new struct wrapping ConstBuffer<const char *>
This commit is contained in:
parent
cbdc3194cc
commit
0f92d021a1
@ -81,6 +81,7 @@ libmpd_a_SOURCES = \
|
||||
src/protocol/Ack.cxx src/protocol/Ack.hxx \
|
||||
src/protocol/ArgParser.cxx src/protocol/ArgParser.hxx \
|
||||
src/protocol/Result.cxx src/protocol/Result.hxx \
|
||||
src/command/Request.hxx \
|
||||
src/command/CommandResult.hxx \
|
||||
src/command/CommandError.cxx src/command/CommandError.hxx \
|
||||
src/command/AllCommands.cxx src/command/AllCommands.hxx \
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "AllCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "QueueCommands.hxx"
|
||||
#include "TagCommands.hxx"
|
||||
#include "PlayerCommands.hxx"
|
||||
@ -62,15 +63,15 @@ struct command {
|
||||
unsigned permission;
|
||||
int min;
|
||||
int max;
|
||||
CommandResult (*handler)(Client &client, ConstBuffer<const char *> args);
|
||||
CommandResult (*handler)(Client &client, Request args);
|
||||
};
|
||||
|
||||
/* don't be fooled, this is the command handler for "commands" command */
|
||||
static CommandResult
|
||||
handle_commands(Client &client, ConstBuffer<const char *> args);
|
||||
handle_commands(Client &client, Request args);
|
||||
|
||||
static CommandResult
|
||||
handle_not_commands(Client &client, ConstBuffer<const char *> args);
|
||||
handle_not_commands(Client &client, Request args);
|
||||
|
||||
/**
|
||||
* The command registry.
|
||||
@ -227,7 +228,7 @@ command_available(gcc_unused const Partition &partition,
|
||||
|
||||
/* don't be fooled, this is the command handler for "commands" command */
|
||||
static CommandResult
|
||||
handle_commands(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_commands(Client &client, gcc_unused Request args)
|
||||
{
|
||||
const unsigned permission = client.GetPermission();
|
||||
|
||||
@ -243,7 +244,7 @@ handle_commands(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
static CommandResult
|
||||
handle_not_commands(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_not_commands(Client &client, gcc_unused Request args)
|
||||
{
|
||||
const unsigned permission = client.GetPermission();
|
||||
|
||||
@ -295,7 +296,7 @@ command_lookup(const char *name)
|
||||
|
||||
static bool
|
||||
command_check_request(const struct command *cmd, Client &client,
|
||||
unsigned permission, ConstBuffer<const char *> args)
|
||||
unsigned permission, Request args)
|
||||
{
|
||||
if (cmd->permission != (permission & cmd->permission)) {
|
||||
command_error(client, ACK_ERROR_PERMISSION,
|
||||
@ -329,7 +330,7 @@ command_check_request(const struct command *cmd, Client &client,
|
||||
|
||||
static const struct command *
|
||||
command_checked_lookup(Client &client, unsigned permission,
|
||||
const char *cmd_name, ConstBuffer<const char *> args)
|
||||
const char *cmd_name, Request args)
|
||||
{
|
||||
current_command = "";
|
||||
|
||||
@ -380,7 +381,7 @@ command_process(Client &client, unsigned num, char *line)
|
||||
}
|
||||
|
||||
char *argv[COMMAND_ARGV_MAX];
|
||||
ConstBuffer<const char *> args(argv, 0);
|
||||
Request args(argv, 0);
|
||||
|
||||
/* now parse the arguments (quoted or unquoted) */
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "DatabaseCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "db/DatabaseGlue.hxx"
|
||||
#include "db/DatabaseQueue.hxx"
|
||||
#include "db/DatabasePlaylist.hxx"
|
||||
@ -50,7 +51,7 @@ handle_listfiles_db(Client &client, const char *uri)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_lsinfo2(Client &client, ConstBuffer<const char *> args)
|
||||
handle_lsinfo2(Client &client, Request args)
|
||||
{
|
||||
/* default is root directory */
|
||||
const char *const uri = args.IsEmpty() ? "" : args.front();
|
||||
@ -65,7 +66,7 @@ handle_lsinfo2(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
static CommandResult
|
||||
handle_match(Client &client, ConstBuffer<const char *> args, bool fold_case)
|
||||
handle_match(Client &client, Request args, bool fold_case)
|
||||
{
|
||||
RangeArg window;
|
||||
if (args.size >= 2 && strcmp(args[args.size - 2], "window") == 0) {
|
||||
@ -93,19 +94,19 @@ handle_match(Client &client, ConstBuffer<const char *> args, bool fold_case)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_find(Client &client, ConstBuffer<const char *> args)
|
||||
handle_find(Client &client, Request args)
|
||||
{
|
||||
return handle_match(client, args, false);
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_search(Client &client, ConstBuffer<const char *> args)
|
||||
handle_search(Client &client, Request args)
|
||||
{
|
||||
return handle_match(client, args, true);
|
||||
}
|
||||
|
||||
static CommandResult
|
||||
handle_match_add(Client &client, ConstBuffer<const char *> args, bool fold_case)
|
||||
handle_match_add(Client &client, Request args, bool fold_case)
|
||||
{
|
||||
SongFilter filter;
|
||||
if (!filter.Parse(args, fold_case)) {
|
||||
@ -123,19 +124,19 @@ handle_match_add(Client &client, ConstBuffer<const char *> args, bool fold_case)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_findadd(Client &client, ConstBuffer<const char *> args)
|
||||
handle_findadd(Client &client, Request args)
|
||||
{
|
||||
return handle_match_add(client, args, false);
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_searchadd(Client &client, ConstBuffer<const char *> args)
|
||||
handle_searchadd(Client &client, Request args)
|
||||
{
|
||||
return handle_match_add(client, args, true);
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_searchaddpl(Client &client, ConstBuffer<const char *> args)
|
||||
handle_searchaddpl(Client &client, Request args)
|
||||
{
|
||||
const char *playlist = args.shift();
|
||||
|
||||
@ -157,7 +158,7 @@ handle_searchaddpl(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_count(Client &client, ConstBuffer<const char *> args)
|
||||
handle_count(Client &client, Request args)
|
||||
{
|
||||
TagType group = TAG_NUM_OF_ITEM_TYPES;
|
||||
if (args.size >= 2 && strcmp(args[args.size - 2], "group") == 0) {
|
||||
@ -186,7 +187,7 @@ handle_count(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listall(Client &client, ConstBuffer<const char *> args)
|
||||
handle_listall(Client &client, Request args)
|
||||
{
|
||||
/* default is root directory */
|
||||
const char *const uri = args.IsEmpty() ? "" : args.front();
|
||||
@ -199,7 +200,7 @@ handle_listall(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_list(Client &client, ConstBuffer<const char *> args)
|
||||
handle_list(Client &client, Request args)
|
||||
{
|
||||
const char *tag_name = args.shift();
|
||||
unsigned tagType = locate_parse_type(tag_name);
|
||||
@ -271,7 +272,7 @@ handle_list(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listallinfo(Client &client, ConstBuffer<const char *> args)
|
||||
handle_listallinfo(Client &client, Request args)
|
||||
{
|
||||
/* default is root directory */
|
||||
const char *const uri = args.IsEmpty() ? "" : args.front();
|
||||
|
@ -23,39 +23,39 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_listfiles_db(Client &client, const char *uri);
|
||||
|
||||
CommandResult
|
||||
handle_lsinfo2(Client &client, ConstBuffer<const char *> args);
|
||||
handle_lsinfo2(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_find(Client &client, ConstBuffer<const char *> args);
|
||||
handle_find(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_findadd(Client &client, ConstBuffer<const char *> args);
|
||||
handle_findadd(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_search(Client &client, ConstBuffer<const char *> args);
|
||||
handle_search(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_searchadd(Client &client, ConstBuffer<const char *> args);
|
||||
handle_searchadd(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_searchaddpl(Client &client, ConstBuffer<const char *> args);
|
||||
handle_searchaddpl(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_count(Client &client, ConstBuffer<const char *> args);
|
||||
handle_count(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_listall(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listall(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_list(Client &client, ConstBuffer<const char *> args);
|
||||
handle_list(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_listallinfo(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listallinfo(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "FileCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "CommandError.hxx"
|
||||
#include "protocol/Ack.hxx"
|
||||
#include "protocol/Result.hxx"
|
||||
@ -216,7 +217,7 @@ translate_uri(const char *uri)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_read_comments(Client &client, ConstBuffer<const char *> args)
|
||||
handle_read_comments(Client &client, Request args)
|
||||
{
|
||||
assert(args.size == 1);
|
||||
const char *const uri = translate_uri(args.front());
|
||||
|
@ -23,12 +23,12 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_listfiles_local(Client &client, const char *path_utf8);
|
||||
|
||||
CommandResult
|
||||
handle_read_comments(Client &client, ConstBuffer<const char *> args);
|
||||
handle_read_comments(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "MessageCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "client/Client.hxx"
|
||||
#include "client/ClientList.hxx"
|
||||
#include "Instance.hxx"
|
||||
@ -32,7 +33,7 @@
|
||||
#include <assert.h>
|
||||
|
||||
CommandResult
|
||||
handle_subscribe(Client &client, ConstBuffer<const char *> args)
|
||||
handle_subscribe(Client &client, Request args)
|
||||
{
|
||||
assert(args.size == 1);
|
||||
const char *const channel_name = args[0];
|
||||
@ -63,7 +64,7 @@ handle_subscribe(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_unsubscribe(Client &client, ConstBuffer<const char *> args)
|
||||
handle_unsubscribe(Client &client, Request args)
|
||||
{
|
||||
assert(args.size == 1);
|
||||
const char *const channel_name = args[0];
|
||||
@ -78,7 +79,7 @@ handle_unsubscribe(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_channels(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_channels(Client &client, gcc_unused Request args)
|
||||
{
|
||||
assert(args.IsEmpty());
|
||||
|
||||
@ -95,7 +96,7 @@ handle_channels(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
|
||||
CommandResult
|
||||
handle_read_messages(Client &client,
|
||||
gcc_unused ConstBuffer<const char *> args)
|
||||
gcc_unused Request args)
|
||||
{
|
||||
assert(args.IsEmpty());
|
||||
|
||||
@ -111,7 +112,7 @@ handle_read_messages(Client &client,
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_send_message(Client &client, ConstBuffer<const char *> args)
|
||||
handle_send_message(Client &client, Request args)
|
||||
{
|
||||
assert(args.size == 2);
|
||||
|
||||
|
@ -23,21 +23,21 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_subscribe(Client &client, ConstBuffer<const char *> args);
|
||||
handle_subscribe(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_unsubscribe(Client &client, ConstBuffer<const char *> args);
|
||||
handle_unsubscribe(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_channels(Client &client, ConstBuffer<const char *> args);
|
||||
handle_channels(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_read_messages(Client &client, ConstBuffer<const char *> args);
|
||||
handle_read_messages(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_send_message(Client &client, ConstBuffer<const char *> args);
|
||||
handle_send_message(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "NeighborCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "client/Client.hxx"
|
||||
#include "Instance.hxx"
|
||||
#include "Partition.hxx"
|
||||
@ -39,7 +40,7 @@ neighbor_commands_available(const Instance &instance)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listneighbors(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_listneighbors(Client &client, gcc_unused Request args)
|
||||
{
|
||||
const NeighborGlue *const neighbors =
|
||||
client.partition.instance.neighbors;
|
||||
|
@ -25,13 +25,13 @@
|
||||
|
||||
struct Instance;
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
gcc_pure
|
||||
bool
|
||||
neighbor_commands_available(const Instance &instance);
|
||||
|
||||
CommandResult
|
||||
handle_listneighbors(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listneighbors(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "OtherCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "FileCommands.hxx"
|
||||
#include "StorageCommands.hxx"
|
||||
#include "CommandError.hxx"
|
||||
@ -69,7 +70,7 @@ print_spl_list(Client &client, const PlaylistVector &list)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_urlhandlers(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_urlhandlers(Client &client, gcc_unused Request args)
|
||||
{
|
||||
if (client.IsLocal())
|
||||
client_puts(client, "handler: file://\n");
|
||||
@ -78,27 +79,27 @@ handle_urlhandlers(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_decoders(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_decoders(Client &client, gcc_unused Request args)
|
||||
{
|
||||
decoder_list_print(client);
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_tagtypes(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_tagtypes(Client &client, gcc_unused Request args)
|
||||
{
|
||||
tag_print_types(client);
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_kill(gcc_unused Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_kill(gcc_unused Client &client, gcc_unused Request args)
|
||||
{
|
||||
return CommandResult::KILL;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_close(gcc_unused Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_close(gcc_unused Client &client, gcc_unused Request args)
|
||||
{
|
||||
return CommandResult::FINISH;
|
||||
}
|
||||
@ -112,7 +113,7 @@ print_tag(TagType type, const char *value, void *ctx)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listfiles(Client &client, ConstBuffer<const char *> args)
|
||||
handle_listfiles(Client &client, Request args)
|
||||
{
|
||||
/* default is root directory */
|
||||
const char *const uri = args.IsEmpty() ? "" : args.front();
|
||||
@ -151,7 +152,7 @@ static constexpr tag_handler print_tag_handler = {
|
||||
};
|
||||
|
||||
CommandResult
|
||||
handle_lsinfo(Client &client, ConstBuffer<const char *> args)
|
||||
handle_lsinfo(Client &client, Request args)
|
||||
{
|
||||
/* default is root directory */
|
||||
const char *const uri = args.IsEmpty() ? "" : args.front();
|
||||
@ -257,7 +258,7 @@ handle_update(Client &client, Database &db,
|
||||
#endif
|
||||
|
||||
static CommandResult
|
||||
handle_update(Client &client, ConstBuffer<const char *> args, bool discard)
|
||||
handle_update(Client &client, Request args, bool discard)
|
||||
{
|
||||
#ifdef ENABLE_DATABASE
|
||||
const char *path = "";
|
||||
@ -293,19 +294,19 @@ handle_update(Client &client, ConstBuffer<const char *> args, bool discard)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_update(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_update(Client &client, gcc_unused Request args)
|
||||
{
|
||||
return handle_update(client, args, false);
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_rescan(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_rescan(Client &client, gcc_unused Request args)
|
||||
{
|
||||
return handle_update(client, args, true);
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_setvol(Client &client, ConstBuffer<const char *> args)
|
||||
handle_setvol(Client &client, Request args)
|
||||
{
|
||||
unsigned level;
|
||||
if (!check_unsigned(client, &level, args.front()))
|
||||
@ -326,7 +327,7 @@ handle_setvol(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_volume(Client &client, ConstBuffer<const char *> args)
|
||||
handle_volume(Client &client, Request args)
|
||||
{
|
||||
int relative;
|
||||
if (!check_int(client, &relative, args.front()))
|
||||
@ -360,20 +361,20 @@ handle_volume(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_stats(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_stats(Client &client, gcc_unused Request args)
|
||||
{
|
||||
stats_print(client);
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_ping(gcc_unused Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_ping(gcc_unused Client &client, gcc_unused Request args)
|
||||
{
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_password(Client &client, ConstBuffer<const char *> args)
|
||||
handle_password(Client &client, Request args)
|
||||
{
|
||||
unsigned permission = 0;
|
||||
|
||||
@ -388,7 +389,7 @@ handle_password(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_config(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_config(Client &client, gcc_unused Request args)
|
||||
{
|
||||
if (!client.IsLocal()) {
|
||||
command_error(client, ACK_ERROR_PERMISSION,
|
||||
@ -408,7 +409,7 @@ handle_config(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_idle(Client &client, ConstBuffer<const char *> args)
|
||||
handle_idle(Client &client, Request args)
|
||||
{
|
||||
unsigned flags = 0;
|
||||
|
||||
|
@ -23,54 +23,54 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_urlhandlers(Client &client, ConstBuffer<const char *> args);
|
||||
handle_urlhandlers(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_decoders(Client &client, ConstBuffer<const char *> args);
|
||||
handle_decoders(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_tagtypes(Client &client, ConstBuffer<const char *> args);
|
||||
handle_tagtypes(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_kill(Client &client, ConstBuffer<const char *> args);
|
||||
handle_kill(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_close(Client &client, ConstBuffer<const char *> args);
|
||||
handle_close(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_listfiles(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listfiles(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_lsinfo(Client &client, ConstBuffer<const char *> args);
|
||||
handle_lsinfo(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_update(Client &client, ConstBuffer<const char *> args);
|
||||
handle_update(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_rescan(Client &client, ConstBuffer<const char *> args);
|
||||
handle_rescan(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_setvol(Client &client, ConstBuffer<const char *> args);
|
||||
handle_setvol(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_volume(Client &client, ConstBuffer<const char *> args);
|
||||
handle_volume(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_stats(Client &client, ConstBuffer<const char *> args);
|
||||
handle_stats(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_ping(Client &client, ConstBuffer<const char *> args);
|
||||
handle_ping(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_password(Client &client, ConstBuffer<const char *> args);
|
||||
handle_password(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_config(Client &client, ConstBuffer<const char *> args);
|
||||
handle_config(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_idle(Client &client, ConstBuffer<const char *> args);
|
||||
handle_idle(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "OutputCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "output/OutputPrint.hxx"
|
||||
#include "output/OutputCommand.hxx"
|
||||
#include "protocol/Result.hxx"
|
||||
@ -28,7 +29,7 @@
|
||||
#include "util/ConstBuffer.hxx"
|
||||
|
||||
CommandResult
|
||||
handle_enableoutput(Client &client, ConstBuffer<const char *> args)
|
||||
handle_enableoutput(Client &client, Request args)
|
||||
{
|
||||
assert(args.size == 1);
|
||||
|
||||
@ -46,7 +47,7 @@ handle_enableoutput(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_disableoutput(Client &client, ConstBuffer<const char *> args)
|
||||
handle_disableoutput(Client &client, Request args)
|
||||
{
|
||||
assert(args.size == 1);
|
||||
|
||||
@ -64,7 +65,7 @@ handle_disableoutput(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_toggleoutput(Client &client, ConstBuffer<const char *> args)
|
||||
handle_toggleoutput(Client &client, Request args)
|
||||
{
|
||||
assert(args.size == 1);
|
||||
|
||||
@ -82,7 +83,7 @@ handle_toggleoutput(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_devices(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_devices(Client &client, gcc_unused Request args)
|
||||
{
|
||||
assert(args.IsEmpty());
|
||||
|
||||
|
@ -23,18 +23,18 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_enableoutput(Client &client, ConstBuffer<const char *> args);
|
||||
handle_enableoutput(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_disableoutput(Client &client, ConstBuffer<const char *> args);
|
||||
handle_disableoutput(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_toggleoutput(Client &client, ConstBuffer<const char *> args);
|
||||
handle_toggleoutput(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_devices(Client &client, ConstBuffer<const char *> args);
|
||||
handle_devices(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "PlayerCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "CommandError.hxx"
|
||||
#include "queue/Playlist.hxx"
|
||||
#include "PlaylistPrint.hxx"
|
||||
@ -57,7 +58,7 @@
|
||||
#define COMMAND_STATUS_UPDATING_DB "updating_db"
|
||||
|
||||
CommandResult
|
||||
handle_play(Client &client, ConstBuffer<const char *> args)
|
||||
handle_play(Client &client, Request args)
|
||||
{
|
||||
int song = -1;
|
||||
|
||||
@ -68,7 +69,7 @@ handle_play(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playid(Client &client, Request args)
|
||||
{
|
||||
int id = -1;
|
||||
|
||||
@ -80,21 +81,21 @@ handle_playid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_stop(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_stop(Client &client, gcc_unused Request args)
|
||||
{
|
||||
client.partition.Stop();
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_currentsong(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_currentsong(Client &client, gcc_unused Request args)
|
||||
{
|
||||
playlist_print_current(client, client.playlist);
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_pause(Client &client, ConstBuffer<const char *> args)
|
||||
handle_pause(Client &client, Request args)
|
||||
{
|
||||
if (!args.IsEmpty()) {
|
||||
bool pause_flag;
|
||||
@ -109,7 +110,7 @@ handle_pause(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_status(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_status(Client &client, gcc_unused Request args)
|
||||
{
|
||||
const char *state = nullptr;
|
||||
int song;
|
||||
@ -223,7 +224,7 @@ handle_status(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_next(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_next(Client &client, gcc_unused Request args)
|
||||
{
|
||||
playlist &playlist = client.playlist;
|
||||
|
||||
@ -239,14 +240,14 @@ handle_next(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_previous(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_previous(Client &client, gcc_unused Request args)
|
||||
{
|
||||
client.partition.PlayPrevious();
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_repeat(Client &client, ConstBuffer<const char *> args)
|
||||
handle_repeat(Client &client, Request args)
|
||||
{
|
||||
bool status;
|
||||
if (!check_bool(client, &status, args.front()))
|
||||
@ -257,7 +258,7 @@ handle_repeat(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_single(Client &client, ConstBuffer<const char *> args)
|
||||
handle_single(Client &client, Request args)
|
||||
{
|
||||
bool status;
|
||||
if (!check_bool(client, &status, args.front()))
|
||||
@ -268,7 +269,7 @@ handle_single(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_consume(Client &client, ConstBuffer<const char *> args)
|
||||
handle_consume(Client &client, Request args)
|
||||
{
|
||||
bool status;
|
||||
if (!check_bool(client, &status, args.front()))
|
||||
@ -279,7 +280,7 @@ handle_consume(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_random(Client &client, ConstBuffer<const char *> args)
|
||||
handle_random(Client &client, Request args)
|
||||
{
|
||||
bool status;
|
||||
if (!check_bool(client, &status, args.front()))
|
||||
@ -291,14 +292,14 @@ handle_random(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_clearerror(gcc_unused Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_clearerror(gcc_unused Client &client, gcc_unused Request args)
|
||||
{
|
||||
client.player_control.ClearError();
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_seek(Client &client, ConstBuffer<const char *> args)
|
||||
handle_seek(Client &client, Request args)
|
||||
{
|
||||
unsigned song;
|
||||
SongTime seek_time;
|
||||
@ -314,7 +315,7 @@ handle_seek(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_seekid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_seekid(Client &client, Request args)
|
||||
{
|
||||
unsigned id;
|
||||
SongTime seek_time;
|
||||
@ -330,7 +331,7 @@ handle_seekid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_seekcur(Client &client, ConstBuffer<const char *> args)
|
||||
handle_seekcur(Client &client, Request args)
|
||||
{
|
||||
const char *p = args.front();
|
||||
bool relative = *p == '+' || *p == '-';
|
||||
@ -344,7 +345,7 @@ handle_seekcur(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_crossfade(Client &client, ConstBuffer<const char *> args)
|
||||
handle_crossfade(Client &client, Request args)
|
||||
{
|
||||
unsigned xfade_time;
|
||||
|
||||
@ -356,7 +357,7 @@ handle_crossfade(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_mixrampdb(Client &client, ConstBuffer<const char *> args)
|
||||
handle_mixrampdb(Client &client, Request args)
|
||||
{
|
||||
float db;
|
||||
|
||||
@ -368,7 +369,7 @@ handle_mixrampdb(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_mixrampdelay(Client &client, ConstBuffer<const char *> args)
|
||||
handle_mixrampdelay(Client &client, Request args)
|
||||
{
|
||||
float delay_secs;
|
||||
|
||||
@ -380,7 +381,7 @@ handle_mixrampdelay(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_replay_gain_mode(Client &client, ConstBuffer<const char *> args)
|
||||
handle_replay_gain_mode(Client &client, Request args)
|
||||
{
|
||||
if (!replay_gain_set_mode_string(args.front())) {
|
||||
command_error(client, ACK_ERROR_ARG,
|
||||
@ -393,7 +394,7 @@ handle_replay_gain_mode(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_replay_gain_status(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_replay_gain_status(Client &client, gcc_unused Request args)
|
||||
{
|
||||
client_printf(client, "replay_gain_mode: %s\n",
|
||||
replay_gain_get_mode_string());
|
||||
|
@ -23,69 +23,69 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_play(Client &client, ConstBuffer<const char *> args);
|
||||
handle_play(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_stop(Client &client, ConstBuffer<const char *> args);
|
||||
handle_stop(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_currentsong(Client &client, ConstBuffer<const char *> args);
|
||||
handle_currentsong(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_pause(Client &client, ConstBuffer<const char *> args);
|
||||
handle_pause(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_status(Client &client, ConstBuffer<const char *> args);
|
||||
handle_status(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_next(Client &client, ConstBuffer<const char *> args);
|
||||
handle_next(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_previous(Client &client, ConstBuffer<const char *> args);
|
||||
handle_previous(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_repeat(Client &client, ConstBuffer<const char *> args);
|
||||
handle_repeat(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_single(Client &client, ConstBuffer<const char *> args);
|
||||
handle_single(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_consume(Client &client, ConstBuffer<const char *> args);
|
||||
handle_consume(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_random(Client &client, ConstBuffer<const char *> args);
|
||||
handle_random(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_clearerror(Client &client, ConstBuffer<const char *> args);
|
||||
handle_clearerror(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_seek(Client &client, ConstBuffer<const char *> args);
|
||||
handle_seek(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_seekid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_seekid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_seekcur(Client &client, ConstBuffer<const char *> args);
|
||||
handle_seekcur(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_crossfade(Client &client, ConstBuffer<const char *> args);
|
||||
handle_crossfade(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_mixrampdb(Client &client, ConstBuffer<const char *> args);
|
||||
handle_mixrampdb(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_mixrampdelay(Client &client, ConstBuffer<const char *> args);
|
||||
handle_mixrampdelay(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_replay_gain_mode(Client &client, ConstBuffer<const char *> args);
|
||||
handle_replay_gain_mode(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_replay_gain_status(Client &client, ConstBuffer<const char *> args);
|
||||
handle_replay_gain_status(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "PlaylistCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "db/DatabasePlaylist.hxx"
|
||||
#include "CommandError.hxx"
|
||||
#include "PlaylistPrint.hxx"
|
||||
@ -59,7 +60,7 @@ print_spl_list(Client &client, const PlaylistVector &list)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_save(Client &client, ConstBuffer<const char *> args)
|
||||
handle_save(Client &client, Request args)
|
||||
{
|
||||
Error error;
|
||||
return spl_save_playlist(args.front(), client.playlist, error)
|
||||
@ -68,7 +69,7 @@ handle_save(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_load(Client &client, ConstBuffer<const char *> args)
|
||||
handle_load(Client &client, Request args)
|
||||
{
|
||||
RangeArg range;
|
||||
if (args.size < 2)
|
||||
@ -90,7 +91,7 @@ handle_load(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listplaylist(Client &client, ConstBuffer<const char *> args)
|
||||
handle_listplaylist(Client &client, Request args)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
|
||||
@ -104,7 +105,7 @@ handle_listplaylist(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listplaylistinfo(Client &client, ConstBuffer<const char *> args)
|
||||
handle_listplaylistinfo(Client &client, Request args)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
|
||||
@ -118,7 +119,7 @@ handle_listplaylistinfo(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_rm(Client &client, ConstBuffer<const char *> args)
|
||||
handle_rm(Client &client, Request args)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
|
||||
@ -129,7 +130,7 @@ handle_rm(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_rename(Client &client, ConstBuffer<const char *> args)
|
||||
handle_rename(Client &client, Request args)
|
||||
{
|
||||
const char *const old_name = args[0];
|
||||
const char *const new_name = args[1];
|
||||
@ -141,7 +142,7 @@ handle_rename(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistdelete(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistdelete(Client &client, Request args)
|
||||
{
|
||||
const char *const name = args[0];
|
||||
unsigned from;
|
||||
@ -156,7 +157,7 @@ handle_playlistdelete(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistmove(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistmove(Client &client, Request args)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
unsigned from, to;
|
||||
@ -173,7 +174,7 @@ handle_playlistmove(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistclear(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistclear(Client &client, Request args)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
|
||||
@ -184,7 +185,7 @@ handle_playlistclear(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistadd(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistadd(Client &client, Request args)
|
||||
{
|
||||
const char *const playlist = args[0];
|
||||
const char *const uri = args[1];
|
||||
@ -218,7 +219,7 @@ handle_playlistadd(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listplaylists(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_listplaylists(Client &client, gcc_unused Request args)
|
||||
{
|
||||
Error error;
|
||||
const auto list = ListPlaylistFiles(error);
|
||||
|
@ -24,43 +24,43 @@
|
||||
#include "Compiler.h"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
gcc_const
|
||||
bool
|
||||
playlist_commands_available();
|
||||
|
||||
CommandResult
|
||||
handle_save(Client &client, ConstBuffer<const char *> args);
|
||||
handle_save(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_load(Client &client, ConstBuffer<const char *> args);
|
||||
handle_load(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_listplaylist(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listplaylist(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_listplaylistinfo(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listplaylistinfo(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_rm(Client &client, ConstBuffer<const char *> args);
|
||||
handle_rm(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_rename(Client &client, ConstBuffer<const char *> args);
|
||||
handle_rename(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistdelete(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistdelete(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistmove(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistmove(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistclear(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistclear(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistadd(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistadd(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_listplaylists(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listplaylists(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "QueueCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "CommandError.hxx"
|
||||
#include "db/DatabaseQueue.hxx"
|
||||
#include "db/Selection.hxx"
|
||||
@ -54,7 +55,7 @@ translate_uri(const char *uri)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_add(Client &client, ConstBuffer<const char *> args)
|
||||
handle_add(Client &client, Request args)
|
||||
{
|
||||
const char *uri = args.front();
|
||||
if (memcmp(uri, "/", 2) == 0)
|
||||
@ -92,7 +93,7 @@ handle_add(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_addid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_addid(Client &client, Request args)
|
||||
{
|
||||
const char *const uri = translate_uri(args.front());
|
||||
|
||||
@ -151,7 +152,7 @@ parse_time_range(const char *p, SongTime &start_r, SongTime &end_r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_rangeid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_rangeid(Client &client, Request args)
|
||||
{
|
||||
unsigned id;
|
||||
if (!check_unsigned(client, &id, args.front()))
|
||||
@ -173,7 +174,7 @@ handle_rangeid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_delete(Client &client, ConstBuffer<const char *> args)
|
||||
handle_delete(Client &client, Request args)
|
||||
{
|
||||
RangeArg range;
|
||||
if (!ParseCommandArg(client, range, args.front()))
|
||||
@ -184,7 +185,7 @@ handle_delete(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_deleteid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_deleteid(Client &client, Request args)
|
||||
{
|
||||
unsigned id;
|
||||
|
||||
@ -196,14 +197,14 @@ handle_deleteid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlist(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_playlist(Client &client, gcc_unused Request args)
|
||||
{
|
||||
playlist_print_uris(client, client.playlist);
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_shuffle(gcc_unused Client &client, ConstBuffer<const char *> args)
|
||||
handle_shuffle(gcc_unused Client &client, Request args)
|
||||
{
|
||||
RangeArg range;
|
||||
if (args.IsEmpty())
|
||||
@ -216,14 +217,14 @@ handle_shuffle(gcc_unused Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_clear(gcc_unused Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_clear(gcc_unused Client &client, gcc_unused Request args)
|
||||
{
|
||||
client.partition.ClearQueue();
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_plchanges(Client &client, ConstBuffer<const char *> args)
|
||||
handle_plchanges(Client &client, Request args)
|
||||
{
|
||||
uint32_t version;
|
||||
|
||||
@ -235,7 +236,7 @@ handle_plchanges(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_plchangesposid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_plchangesposid(Client &client, Request args)
|
||||
{
|
||||
uint32_t version;
|
||||
|
||||
@ -247,7 +248,7 @@ handle_plchangesposid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistinfo(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistinfo(Client &client, Request args)
|
||||
{
|
||||
RangeArg range;
|
||||
if (args.IsEmpty())
|
||||
@ -264,7 +265,7 @@ handle_playlistinfo(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistid(Client &client, Request args)
|
||||
{
|
||||
if (!args.IsEmpty()) {
|
||||
unsigned id;
|
||||
@ -284,7 +285,7 @@ handle_playlistid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
static CommandResult
|
||||
handle_playlist_match(Client &client, ConstBuffer<const char *> args,
|
||||
handle_playlist_match(Client &client, Request args,
|
||||
bool fold_case)
|
||||
{
|
||||
SongFilter filter;
|
||||
@ -298,19 +299,19 @@ handle_playlist_match(Client &client, ConstBuffer<const char *> args,
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistfind(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistfind(Client &client, Request args)
|
||||
{
|
||||
return handle_playlist_match(client, args, false);
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistsearch(Client &client, ConstBuffer<const char *> args)
|
||||
handle_playlistsearch(Client &client, Request args)
|
||||
{
|
||||
return handle_playlist_match(client, args, true);
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_prio(Client &client, ConstBuffer<const char *> args)
|
||||
handle_prio(Client &client, Request args)
|
||||
{
|
||||
const char *const priority_string = args.shift();
|
||||
unsigned priority;
|
||||
@ -341,7 +342,7 @@ handle_prio(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_prioid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_prioid(Client &client, Request args)
|
||||
{
|
||||
const char *const priority_string = args.shift();
|
||||
unsigned priority;
|
||||
@ -370,7 +371,7 @@ handle_prioid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_move(Client &client, ConstBuffer<const char *> args)
|
||||
handle_move(Client &client, Request args)
|
||||
{
|
||||
RangeArg range;
|
||||
int to;
|
||||
@ -386,7 +387,7 @@ handle_move(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_moveid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_moveid(Client &client, Request args)
|
||||
{
|
||||
unsigned id;
|
||||
int to;
|
||||
@ -400,7 +401,7 @@ handle_moveid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_swap(Client &client, ConstBuffer<const char *> args)
|
||||
handle_swap(Client &client, Request args)
|
||||
{
|
||||
unsigned song1, song2;
|
||||
|
||||
@ -415,7 +416,7 @@ handle_swap(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_swapid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_swapid(Client &client, Request args)
|
||||
{
|
||||
unsigned id1, id2;
|
||||
|
||||
|
@ -23,66 +23,66 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_add(Client &client, ConstBuffer<const char *> args);
|
||||
handle_add(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_addid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_addid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_rangeid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_rangeid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_delete(Client &client, ConstBuffer<const char *> args);
|
||||
handle_delete(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_deleteid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_deleteid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlist(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlist(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_shuffle(Client &client, ConstBuffer<const char *> args);
|
||||
handle_shuffle(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_clear(Client &client, ConstBuffer<const char *> args);
|
||||
handle_clear(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_plchanges(Client &client, ConstBuffer<const char *> args);
|
||||
handle_plchanges(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_plchangesposid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_plchangesposid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistinfo(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistinfo(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistfind(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistfind(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_playlistsearch(Client &client, ConstBuffer<const char *> args);
|
||||
handle_playlistsearch(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_prio(Client &client, ConstBuffer<const char *> args);
|
||||
handle_prio(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_prioid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_prioid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_move(Client &client, ConstBuffer<const char *> args);
|
||||
handle_move(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_moveid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_moveid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_swap(Client &client, ConstBuffer<const char *> args);
|
||||
handle_swap(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_swapid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_swapid(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
34
src/command/Request.hxx
Normal file
34
src/command/Request.hxx
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (C) 2003-2015 The Music Player Daemon Project
|
||||
* http://www.musicpd.org
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef MPD_REQUEST_HXX
|
||||
#define MPD_REQUEST_HXX
|
||||
|
||||
#include "check.h"
|
||||
#include "util/ConstBuffer.hxx"
|
||||
|
||||
class Request : public ConstBuffer<const char *> {
|
||||
typedef ConstBuffer<const char *> Base;
|
||||
|
||||
public:
|
||||
constexpr Request(const char *const*argv, size_type n)
|
||||
:Base(argv, n) {}
|
||||
};
|
||||
|
||||
#endif
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "StickerCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "SongPrint.hxx"
|
||||
#include "db/Interface.hxx"
|
||||
#include "db/DatabaseGlue.hxx"
|
||||
@ -52,7 +53,7 @@ sticker_song_find_print_cb(const LightSong &song, const char *value,
|
||||
}
|
||||
|
||||
static CommandResult
|
||||
handle_sticker_song(Client &client, ConstBuffer<const char *> args)
|
||||
handle_sticker_song(Client &client, Request args)
|
||||
{
|
||||
Error error;
|
||||
const Database *db = client.GetDatabase(error);
|
||||
@ -191,7 +192,7 @@ handle_sticker_song(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_sticker(Client &client, ConstBuffer<const char *> args)
|
||||
handle_sticker(Client &client, Request args)
|
||||
{
|
||||
assert(args.size >= 3);
|
||||
|
||||
|
@ -23,9 +23,9 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_sticker(Client &client, ConstBuffer<const char *> args);
|
||||
handle_sticker(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "StorageCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "CommandError.hxx"
|
||||
#include "protocol/Result.hxx"
|
||||
#include "util/UriUtil.hxx"
|
||||
@ -168,7 +169,7 @@ print_storage_uri(Client &client, const Storage &storage)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listmounts(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
handle_listmounts(Client &client, gcc_unused Request args)
|
||||
{
|
||||
Storage *_composite = client.partition.instance.storage;
|
||||
if (_composite == nullptr) {
|
||||
@ -190,7 +191,7 @@ handle_listmounts(Client &client, gcc_unused ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_mount(Client &client, ConstBuffer<const char *> args)
|
||||
handle_mount(Client &client, Request args)
|
||||
{
|
||||
Storage *_composite = client.partition.instance.storage;
|
||||
if (_composite == nullptr) {
|
||||
@ -253,7 +254,7 @@ handle_mount(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_unmount(Client &client, ConstBuffer<const char *> args)
|
||||
handle_unmount(Client &client, Request args)
|
||||
{
|
||||
Storage *_composite = client.partition.instance.storage;
|
||||
if (_composite == nullptr) {
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
class Client;
|
||||
class Storage;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_listfiles_storage(Client &client, Storage &storage, const char *uri);
|
||||
@ -33,12 +33,12 @@ CommandResult
|
||||
handle_listfiles_storage(Client &client, const char *uri);
|
||||
|
||||
CommandResult
|
||||
handle_listmounts(Client &client, ConstBuffer<const char *> args);
|
||||
handle_listmounts(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_mount(Client &client, ConstBuffer<const char *> args);
|
||||
handle_mount(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_unmount(Client &client, ConstBuffer<const char *> args);
|
||||
handle_unmount(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "TagCommands.hxx"
|
||||
#include "Request.hxx"
|
||||
#include "CommandError.hxx"
|
||||
#include "client/Client.hxx"
|
||||
#include "protocol/ArgParser.hxx"
|
||||
@ -28,7 +29,7 @@
|
||||
#include "util/ConstBuffer.hxx"
|
||||
|
||||
CommandResult
|
||||
handle_addtagid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_addtagid(Client &client, Request args)
|
||||
{
|
||||
unsigned song_id;
|
||||
if (!check_unsigned(client, &song_id, args.front()))
|
||||
@ -53,7 +54,7 @@ handle_addtagid(Client &client, ConstBuffer<const char *> args)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_cleartagid(Client &client, ConstBuffer<const char *> args)
|
||||
handle_cleartagid(Client &client, Request args)
|
||||
{
|
||||
unsigned song_id;
|
||||
if (!check_unsigned(client, &song_id, args.front()))
|
||||
|
@ -23,12 +23,12 @@
|
||||
#include "CommandResult.hxx"
|
||||
|
||||
class Client;
|
||||
template<typename T> struct ConstBuffer;
|
||||
class Request;
|
||||
|
||||
CommandResult
|
||||
handle_addtagid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_addtagid(Client &client, Request args);
|
||||
|
||||
CommandResult
|
||||
handle_cleartagid(Client &client, ConstBuffer<const char *> args);
|
||||
handle_cleartagid(Client &client, Request args);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user