|
myMPD
Internal API documentation
|
Jsonrpc implementation. More...


Go to the source code of this file.
Enumerations | |
| enum | jsonrpc_response_types { RESPONSE_TYPE_JSONRPC_RESPONSE = 0 , RESPONSE_TYPE_JSONRPC_NOTIFY , RESPONSE_TYPE_PLAIN , RESPONSE_TYPE_NONE } |
| enum | jsonrpc_severities { JSONRPC_SEVERITY_EMERG = 0 , JSONRPC_SEVERITY_ALERT , JSONRPC_SEVERITY_CRIT , JSONRPC_SEVERITY_ERROR , JSONRPC_SEVERITY_WARN , JSONRPC_SEVERITY_NOTICE , JSONRPC_SEVERITY_INFO , JSONRPC_SEVERITY_DEBUG , JSONRPC_SEVERITY_MAX } |
| enum | jsonrpc_facilities { JSONRPC_FACILITY_DATABASE = 0 , JSONRPC_FACILITY_GENERAL , JSONRPC_FACILITY_HOME , JSONRPC_FACILITY_JUKEBOX , JSONRPC_FACILITY_LYRICS , JSONRPC_FACILITY_MPD , JSONRPC_FACILITY_PLAYLIST , JSONRPC_FACILITY_PLAYER , JSONRPC_FACILITY_QUEUE , JSONRPC_FACILITY_SESSION , JSONRPC_FACILITY_SCRIPT , JSONRPC_FACILITY_STICKER , JSONRPC_FACILITY_TIMER , JSONRPC_FACILITY_TRIGGER , JSONRPC_FACILITY_MAX } |
| enum | jsonrpc_events { JSONRPC_EVENT_MPD_CONNECTED = 0 , JSONRPC_EVENT_MPD_DISCONNECTED , JSONRPC_EVENT_NOTIFY , JSONRPC_EVENT_UPDATE_DATABASE , JSONRPC_EVENT_UPDATE_FINISHED , JSONRPC_EVENT_UPDATE_HOME , JSONRPC_EVENT_UPDATE_JUKEBOX , JSONRPC_EVENT_UPDATE_LAST_PLAYED , JSONRPC_EVENT_UPDATE_OPTIONS , JSONRPC_EVENT_UPDATE_OUTPUTS , JSONRPC_EVENT_UPDATE_QUEUE , JSONRPC_EVENT_UPDATE_STARTED , JSONRPC_EVENT_UPDATE_STATE , JSONRPC_EVENT_UPDATE_STORED_PLAYLIST , JSONRPC_EVENT_UPDATE_VOLUME , JSONRPC_EVENT_WELCOME , JSONRPC_EVENT_UPDATE_CACHE_STARTED , JSONRPC_EVENT_UPDATE_CACHE_FINISHED , JSONRPC_EVENT_MAX } |
Functions | |
| 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,...) |
Jsonrpc implementation.
| enum jsonrpc_events |
Jsonrpc events
| enum jsonrpc_facilities |
Jsonrpc facilities
Response types for error messages
| enum jsonrpc_severities |
Jsonrpc severities
| 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 |
| 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 |
| 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 |