libmpdclient 2.23
capabilities.h File Reference

MPD client library. More...

#include "recv.h"
#include "compiler.h"
#include "tag.h"
#include "feature.h"
#include <stdbool.h>

Go to the source code of this file.

Functions

bool mpd_send_allowed_commands (struct mpd_connection *connection)
bool mpd_send_disallowed_commands (struct mpd_connection *connection)
static struct mpd_pairmpd_recv_command_pair (struct mpd_connection *connection)
bool mpd_send_list_url_schemes (struct mpd_connection *connection)
static struct mpd_pairmpd_recv_url_scheme_pair (struct mpd_connection *connection)
bool mpd_send_list_tag_types (struct mpd_connection *connection)
bool mpd_send_list_tag_types_available (struct mpd_connection *connection)
static struct mpd_pairmpd_recv_tag_type_pair (struct mpd_connection *connection)
bool mpd_send_disable_tag_types (struct mpd_connection *connection, const enum mpd_tag_type *types, unsigned n)
bool mpd_run_disable_tag_types (struct mpd_connection *connection, const enum mpd_tag_type *types, unsigned n)
bool mpd_send_enable_tag_types (struct mpd_connection *connection, const enum mpd_tag_type *types, unsigned n)
bool mpd_run_enable_tag_types (struct mpd_connection *connection, const enum mpd_tag_type *types, unsigned n)
bool mpd_send_clear_tag_types (struct mpd_connection *connection)
bool mpd_run_clear_tag_types (struct mpd_connection *connection)
bool mpd_send_all_tag_types (struct mpd_connection *connection)
bool mpd_run_all_tag_types (struct mpd_connection *connection)
bool mpd_send_reset_tag_types (struct mpd_connection *connection, const enum mpd_tag_type *types, unsigned n)
bool mpd_run_reset_tag_types (struct mpd_connection *connection, const enum mpd_tag_type *types, unsigned n)
bool mpd_send_list_protocol_features (struct mpd_connection *connection)
bool mpd_send_list_protocol_features_available (struct mpd_connection *connection)
static struct mpd_pairmpd_recv_protocol_feature_pair (struct mpd_connection *connection)
bool mpd_send_disable_protocol_features (struct mpd_connection *connection, const enum mpd_protocol_feature *features, unsigned n)
bool mpd_run_disable_protocol_features (struct mpd_connection *connection, const enum mpd_protocol_feature *features, unsigned n)
bool mpd_send_enable_protocol_features (struct mpd_connection *connection, const enum mpd_protocol_feature *features, unsigned n)
bool mpd_run_enable_protocol_features (struct mpd_connection *connection, const enum mpd_protocol_feature *features, unsigned n)
bool mpd_send_clear_protocol_features (struct mpd_connection *connection)
bool mpd_run_clear_protocol_features (struct mpd_connection *connection)
bool mpd_send_all_protocol_features (struct mpd_connection *connection)
bool mpd_run_all_protocol_features (struct mpd_connection *connection)

Detailed Description

MPD client library.

Do not include this header directly. Use mpd/client.h instead.

Definition in file capabilities.h.

Function Documentation

◆ mpd_send_allowed_commands()

bool mpd_send_allowed_commands ( struct mpd_connection * connection)

Requests a list of supported and allowed commands. Use mpd_recv_command_pair() to obtain the list of "command" pairs.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error

◆ mpd_send_disallowed_commands()

bool mpd_send_disallowed_commands ( struct mpd_connection * connection)

Requests a list of supported commands which are not allowed for this connection. Use mpd_recv_command_pair() to obtain the list of "command" pairs.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error

◆ mpd_recv_command_pair()

struct mpd_pair * mpd_recv_command_pair ( struct mpd_connection * connection)
inlinestatic

Receives the next supported command. Call this in a loop after mpd_send_allowed_commands() or mpd_send_disallowed_commands().

Free the return value with mpd_return_pair().

Parameters
connectiona mpd_connection
Returns
a "command" pair, or NULL on error or if the end of the response is reached

Definition at line 59 of file capabilities.h.

◆ mpd_send_list_url_schemes()

bool mpd_send_list_url_schemes ( struct mpd_connection * connection)

Requests a list of supported URL handlers in the form "scheme://", example: "http://". Use mpd_recv_url_scheme_pair() to obtain the list of "handler" pairs.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error

◆ mpd_recv_url_scheme_pair()

struct mpd_pair * mpd_recv_url_scheme_pair ( struct mpd_connection * connection)
inlinestatic

Receives one line of the mpd_send_url_schemes() response.

Free the return value with mpd_return_pair().

Parameters
connectiona mpd_connection
Returns
a "handler" pair, or NULL on error or if the end of the response is reached

Definition at line 86 of file capabilities.h.

◆ mpd_send_list_tag_types()

bool mpd_send_list_tag_types ( struct mpd_connection * connection)

Requests a list of supported tag types. Use mpd_recv_tag_type_pair() to obtain the list of "tagtype" pairs.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error

◆ mpd_send_list_tag_types_available()

bool mpd_send_list_tag_types_available ( struct mpd_connection * connection)

Requests a list of available tag types. This are the tags enabled in the configuration. Use mpd_recv_tag_type_pair() to obtain the list of "tagtype" pairs.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_recv_tag_type_pair()

struct mpd_pair * mpd_recv_tag_type_pair ( struct mpd_connection * connection)
inlinestatic

Receives the next tag type name. Call this in a loop after mpd_send_list_tag_types().

Free the return value with mpd_return_pair().

Parameters
connectiona mpd_connection
Returns
a "tagtype" pair, or NULL on error or if the end of the response is reached

Definition at line 126 of file capabilities.h.

◆ mpd_send_disable_tag_types()

bool mpd_send_disable_tag_types ( struct mpd_connection * connection,
const enum mpd_tag_type * types,
unsigned n )

Remove one or more tags from the list of tag types the client is interested in. These will be omitted from responses to this client.

Parameters
connectionthe connection to MPD
typesan array of tag types to disable
nthe number of tag types in the array
Returns
true on success, false on error
Since
libmpdclient 2.12, MPD 0.21

◆ mpd_run_disable_tag_types()

bool mpd_run_disable_tag_types ( struct mpd_connection * connection,
const enum mpd_tag_type * types,
unsigned n )

Shortcut for mpd_send_disable_tag_types() and mpd_response_finish().

Since
libmpdclient 2.12, MPD 0.21

◆ mpd_send_enable_tag_types()

bool mpd_send_enable_tag_types ( struct mpd_connection * connection,
const enum mpd_tag_type * types,
unsigned n )

Re-enable one or more tags from the list of tag types for this client. These will no longer be hidden from responses to this client.

Parameters
connectionthe connection to MPD
typesan array of tag types to enable
nthe number of tag types in the array
Returns
true on success, false on error
Since
libmpdclient 2.12, MPD 0.21

◆ mpd_run_enable_tag_types()

bool mpd_run_enable_tag_types ( struct mpd_connection * connection,
const enum mpd_tag_type * types,
unsigned n )

Shortcut for mpd_send_enable_tag_types() and mpd_response_finish().

Since
libmpdclient 2.12, MPD 0.21

◆ mpd_send_clear_tag_types()

bool mpd_send_clear_tag_types ( struct mpd_connection * connection)

Clear the list of tag types this client is interested in. This means that MPD will not send any tags to this client.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error
Since
libmpdclient 2.12, MPD 0.21

◆ mpd_run_clear_tag_types()

bool mpd_run_clear_tag_types ( struct mpd_connection * connection)

Shortcut for mpd_send_clear_tag_types() and mpd_response_finish().

Since
libmpdclient 2.12, MPD 0.21

◆ mpd_send_all_tag_types()

bool mpd_send_all_tag_types ( struct mpd_connection * connection)

Add all tags to the list of tag types this client is interested in. This means that MPD will send all tags to this client.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error
Since
libmpdclient 2.19, MPD 0.21

◆ mpd_run_all_tag_types()

bool mpd_run_all_tag_types ( struct mpd_connection * connection)

Shortcut for mpd_send_all_tag_types() and mpd_response_finish().

Since
libmpdclient 2.19, MPD 0.21

◆ mpd_send_reset_tag_types()

bool mpd_send_reset_tag_types ( struct mpd_connection * connection,
const enum mpd_tag_type * types,
unsigned n )

Clear the list of tag types and re-enable one or more tags from the list of tag types for this client. These will no longer be hidden from responses to this client.

Parameters
connectionthe connection to MPD
typesan array of tag types to enable
nthe number of tag types in the array
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_run_reset_tag_types()

bool mpd_run_reset_tag_types ( struct mpd_connection * connection,
const enum mpd_tag_type * types,
unsigned n )

Shortcut for mpd_send_reset_tag_types() and mpd_response_finish().

Since
libmpdclient 2.23, MPD 0.24

◆ mpd_send_list_protocol_features()

bool mpd_send_list_protocol_features ( struct mpd_connection * connection)

Requests a list of enabled protocol features. Use mpd_recv_protocol_feature_pair() to obtain the list of "protocol feature" pairs.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_send_list_protocol_features_available()

bool mpd_send_list_protocol_features_available ( struct mpd_connection * connection)

Requests a list of available protocol features. Use mpd_recv_protocol_feature_pair() to obtain the list of "protocol feature" pairs.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_recv_protocol_feature_pair()

struct mpd_pair * mpd_recv_protocol_feature_pair ( struct mpd_connection * connection)
inlinestatic

Receives the next protocol feature name. Call this in a loop after mpd_send_list_protocol().

Free the return value with mpd_return_pair().

Parameters
connectiona mpd_connection
Returns
a "protocol feature" pair, or NULL on error or if the end of the response is reached
Since
libmpdclient 2.23, MPD 0.24

Definition at line 286 of file capabilities.h.

◆ mpd_send_disable_protocol_features()

bool mpd_send_disable_protocol_features ( struct mpd_connection * connection,
const enum mpd_protocol_feature * features,
unsigned n )

Disables one or more features from the list of protocol features.

Parameters
connectionthe connection to MPD
featuresan array of protocol features to disable
nthe number of protocol features in the array
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_run_disable_protocol_features()

bool mpd_run_disable_protocol_features ( struct mpd_connection * connection,
const enum mpd_protocol_feature * features,
unsigned n )

Shortcut for mpd_send_disable_protocol_features() and mpd_response_finish().

Since
libmpdclient 2.23, MPD 0.24

◆ mpd_send_enable_protocol_features()

bool mpd_send_enable_protocol_features ( struct mpd_connection * connection,
const enum mpd_protocol_feature * features,
unsigned n )

Re-enable one or more features from the list of protocol features for this client.

Parameters
connectionthe connection to MPD
featuresan array of protocol features to enable
nthe number of protocol features in the array
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_run_enable_protocol_features()

bool mpd_run_enable_protocol_features ( struct mpd_connection * connection,
const enum mpd_protocol_feature * features,
unsigned n )

Shortcut for mpd_send_enable_protocol_features() and mpd_response_finish().

Since
libmpdclient 2.23, MPD 0.24

◆ mpd_send_clear_protocol_features()

bool mpd_send_clear_protocol_features ( struct mpd_connection * connection)

Clear the list of enabled protocol features for this client.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_run_clear_protocol_features()

bool mpd_run_clear_protocol_features ( struct mpd_connection * connection)

Shortcut for mpd_send_clear_protocol_features() and mpd_response_finish().

Since
libmpdclient 2.23, MPD 0.24

◆ mpd_send_all_protocol_features()

bool mpd_send_all_protocol_features ( struct mpd_connection * connection)

Enable all available features for this client.

Parameters
connectionthe connection to MPD
Returns
true on success, false on error
Since
libmpdclient 2.23, MPD 0.24

◆ mpd_run_all_protocol_features()

bool mpd_run_all_protocol_features ( struct mpd_connection * connection)

Shortcut for mpd_send_all_protocol_features() and mpd_response_finish().

Since
libmpdclient 2.23, MPD 0.24