|
myMPD
Internal API documentation
|
Jsonrpc implementation. More...
#include "compile_time.h"#include "src/lib/json/json_rpc.h"#include "src/lib/api.h"#include "src/lib/json/json_print.h"#include "src/lib/sds_extras.h"#include <string.h>
Functions | |
| static const char * | jsonrpc_facility_name (enum jsonrpc_facilities facility) |
| static const char * | jsonrpc_severity_name (enum jsonrpc_severities severity) |
| static const char * | jsonrpc_event_name (enum jsonrpc_events event) |
| void | send_jsonrpc_notify (enum jsonrpc_facilities facility, enum jsonrpc_severities severity, const char *partition, const char *message) |
| void | send_jsonrpc_notify_client (enum jsonrpc_facilities facility, enum jsonrpc_severities severity, unsigned request_id, const char *message) |
| void | send_jsonrpc_event (enum jsonrpc_events event, const char *partition) |
| sds | jsonrpc_event (sds buffer, enum jsonrpc_events event) |
| sds | jsonrpc_notify (sds buffer, enum jsonrpc_facilities facility, enum jsonrpc_severities severity, const char *message) |
| sds | jsonrpc_notify_phrase (sds buffer, enum jsonrpc_facilities facility, enum jsonrpc_severities severity, const char *message, int count,...) |
| sds | jsonrpc_notify_start (sds buffer, enum jsonrpc_events event) |
| sds | jsonrpc_respond_start (sds buffer, enum mympd_cmd_ids cmd_id, unsigned request_id) |
| sds | jsonrpc_end (sds buffer) |
| sds | jsonrpc_respond_ok (sds buffer, enum mympd_cmd_ids cmd_id, unsigned request_id, enum jsonrpc_facilities facility) |
| sds | jsonrpc_respond_with_ok_or_error (sds buffer, enum mympd_cmd_ids cmd_id, unsigned request_id, bool rc, enum jsonrpc_facilities facility, const char *error) |
| sds | jsonrpc_respond_with_message_or_error (sds buffer, enum mympd_cmd_ids cmd_id, unsigned request_id, bool rc, enum jsonrpc_facilities facility, const char *message, const char *error) |
| sds | jsonrpc_respond_message (sds buffer, enum mympd_cmd_ids cmd_id, unsigned request_id, enum jsonrpc_facilities facility, enum jsonrpc_severities severity, const char *message) |
| sds | jsonrpc_respond_message_phrase (sds buffer, enum mympd_cmd_ids cmd_id, unsigned request_id, enum jsonrpc_facilities facility, enum jsonrpc_severities severity, const char *message, int count,...) |
Variables | |
| static const char * | jsonrpc_severity_names [JSONRPC_SEVERITY_MAX] |
| static const char * | jsonrpc_facility_names [JSONRPC_FACILITY_MAX] |
| static const char * | jsonrpc_event_names [JSONRPC_EVENT_MAX] |
Jsonrpc implementation.
| sds jsonrpc_end | ( | sds | buffer | ) |
Creates the end of a jsonrpc response
| buffer | pointer to already allocated sds string |
| sds jsonrpc_event | ( | sds | buffer, |
| enum jsonrpc_events | event | ||
| ) |
Creates a simple jsonrpc notification with the event as method
| buffer | pointer to already allocated sds string |
| event | the event to use |
|
static |
Returns the event name
| event | enum jsonrpc_events |
|
static |
This unit provides functions for jsonrpc printing Json parsing is done by mjson private definitions
Returns the facility name
| facility | enum jsonrpc_facilities |
| sds jsonrpc_notify | ( | sds | buffer, |
| enum jsonrpc_facilities | facility, | ||
| enum jsonrpc_severities | severity, | ||
| const char * | message | ||
| ) |
Creates a jsonrpc notification with facility, severity and a message
| buffer | pointer to already allocated sds string |
| facility | one of enum jsonrpc_facilities |
| severity | one of enum jsonrpc_severities |
| message | the message to send |
| sds jsonrpc_notify_phrase | ( | sds | buffer, |
| enum jsonrpc_facilities | facility, | ||
| enum jsonrpc_severities | severity, | ||
| const char * | message, | ||
| int | count, | ||
| ... | |||
| ) |
Creates a jsonrpc notification with facility, severity and a message phrase. A message phrase can include %{key} placeholders that are replaced on the client side with the value. Key/value pairs are variadic arguments.
| buffer | pointer to already allocated sds string |
| facility | one of enum jsonrpc_facilities |
| severity | one of enum jsonrpc_severities |
| message | the message to send |
| count | number of following variadic arguments |
| ... | key/value pairs for the phrase |
| sds jsonrpc_notify_start | ( | sds | buffer, |
| enum jsonrpc_events | event | ||
| ) |
Creates the start of a jsonrpc notification.
| buffer | pointer to already allocated sds string |
| event | the event to use |
| sds jsonrpc_respond_message | ( | sds | buffer, |
| enum mympd_cmd_ids | cmd_id, | ||
| unsigned | request_id, | ||
| enum jsonrpc_facilities | facility, | ||
| enum jsonrpc_severities | severity, | ||
| const char * | message | ||
| ) |
Creates a simple jsonrpc response with a custom message
| buffer | pointer to already allocated sds string |
| cmd_id | enum mympd_cmd_ids |
| request_id | id of the jsonrpc request to answer |
| facility | one of enum jsonrpc_facilities |
| severity | one of enum jsonrpc_severities |
| message | the response message |
| sds jsonrpc_respond_message_phrase | ( | sds | buffer, |
| enum mympd_cmd_ids | cmd_id, | ||
| unsigned | request_id, | ||
| enum jsonrpc_facilities | facility, | ||
| enum jsonrpc_severities | severity, | ||
| const char * | message, | ||
| int | count, | ||
| ... | |||
| ) |
Creates a jsonrpc response with facility, severity and a message phrase. A message phrase can include %{key} placeholders that are replaced on the client side with the value. Key/value pairs are variadic arguments.
| buffer | pointer to already allocated sds string |
| cmd_id | enum mympd_cmd_ids |
| request_id | id of the jsonrpc request to answer |
| facility | one of enum jsonrpc_facilities |
| severity | one of enum jsonrpc_severities |
| message | the message to send |
| count | number of following variadic arguments |
| ... | key/value pairs for the phrase |
| sds jsonrpc_respond_ok | ( | sds | buffer, |
| enum mympd_cmd_ids | cmd_id, | ||
| unsigned | request_id, | ||
| enum jsonrpc_facilities | facility | ||
| ) |
Creates a simple jsonrpc response with "ok" as message
| buffer | pointer to already allocated sds string |
| cmd_id | enum mympd_cmd_ids |
| request_id | id of the jsonrpc request to answer |
| facility | one of enum jsonrpc_facilities |
| sds jsonrpc_respond_start | ( | sds | buffer, |
| enum mympd_cmd_ids | cmd_id, | ||
| unsigned | request_id | ||
| ) |
Creates the start of a jsonrpc response.
| buffer | pointer to already allocated sds string |
| cmd_id | enum mympd_cmd_ids |
| request_id | id of the jsonrpc request to answer |
| sds jsonrpc_respond_with_message_or_error | ( | sds | buffer, |
| enum mympd_cmd_ids | cmd_id, | ||
| unsigned | request_id, | ||
| bool | rc, | ||
| enum jsonrpc_facilities | facility, | ||
| const char * | message, | ||
| const char * | error | ||
| ) |
Checks rc and responses with ok or the message
| buffer | already allocated sds string for the jsonrpc response |
| cmd_id | enum mympd_cmd_ids |
| request_id | jsonrpc request id to respond |
| rc | return code to check |
| facility | one of enum jsonrpc_facilities |
| message | the response message, if rc == true |
| error | the response message, if rc == false |
| sds jsonrpc_respond_with_ok_or_error | ( | sds | buffer, |
| enum mympd_cmd_ids | cmd_id, | ||
| unsigned | request_id, | ||
| bool | rc, | ||
| enum jsonrpc_facilities | facility, | ||
| const char * | error | ||
| ) |
Checks rc and responses with ok or the message
| buffer | already allocated sds string for the jsonrpc response |
| cmd_id | enum mympd_cmd_ids |
| request_id | jsonrpc request id to respond |
| rc | return code to check |
| facility | one of enum jsonrpc_facilities |
| error | the response message, if rc == false |
|
static |
Returns the severity name
| severity | enum jsonrpc_severities |
| void send_jsonrpc_event | ( | enum jsonrpc_events | event, |
| const char * | partition | ||
| ) |
Creates and sends a jsonrpc event to all connected websockets
| event | the event to send |
| partition | mpd partition |
| void send_jsonrpc_notify | ( | enum jsonrpc_facilities | facility, |
| enum jsonrpc_severities | severity, | ||
| const char * | partition, | ||
| const char * | message | ||
| ) |
public functions Jsonrpc printing Creates and sends a jsonrpc notify to all connected websockets for a partition
| facility | one of enum jsonrpc_facilities |
| severity | one of enum jsonrpc_severities |
| partition | mpd partition |
| message | the message to send |
| void send_jsonrpc_notify_client | ( | enum jsonrpc_facilities | facility, |
| enum jsonrpc_severities | severity, | ||
| unsigned | request_id, | ||
| const char * | message | ||
| ) |
Creates and sends a jsonrpc notify to a client
| facility | one of enum jsonrpc_facilities |
| severity | one of enum jsonrpc_severities |
| request_id | the jsonrpc id of the client |
| message | the message to send |
|
static |
Names for myMPD events
|
static |
Names for enum jsonrpc_facilities
|
static |
Names for enum jsonrpc_events