[pulseaudio-discuss] [PATCH 3/8] pactl, pacmd, cli-command: Add send-message command

Tanu Kaskinen tanuk at iki.fi
Mon Jul 9 14:24:03 UTC 2018


On Mon, 2018-04-09 at 19:35 +0200, Georg Chini wrote:
> The patch also adds some API documentation.
> ---
>  doc/messaging_api.txt            | 15 ++++++++++++++
>  man/pactl.1.xml.in               |  7 +++++++
>  man/pulse-cli-syntax.5.xml.in    |  7 +++++++
>  shell-completion/bash/pulseaudio |  5 +++--
>  shell-completion/zsh/_pulseaudio |  2 ++
>  src/pulse/introspect.h           |  3 ++-
>  src/pulsecore/cli-command.c      | 44 ++++++++++++++++++++++++++++++++++++++++
>  src/utils/pacmd.c                |  1 +
>  src/utils/pactl.c                | 43 ++++++++++++++++++++++++++++++++++++++-
>  9 files changed, 123 insertions(+), 4 deletions(-)
>  create mode 100644 doc/messaging_api.txt
> 
> diff --git a/doc/messaging_api.txt b/doc/messaging_api.txt
> new file mode 100644
> index 00000000..cbc06e75
> --- /dev/null
> +++ b/doc/messaging_api.txt
> @@ -0,0 +1,15 @@
> +Message API reference
> +
> +The message API allows any object within pulseaudio to register a message
> +handler. A message handler is a function that can be called by clients using
> +PA_COMMAND_SEND_OBJECT_MESSAGE. A message consists at least of an object path
> +and a message command, both specified as strings. Additional parameters can
> +be specified using a single string, but are not mandatory. The message handler
> +returns an error number as defined in def.h and also returns a string in
> +the "response" variable. The following reference lists available messages,
> +their parameters and return values.
> +
> +Recipient:
> +Message:
> +Parameters:
> +Return value:
> diff --git a/man/pactl.1.xml.in b/man/pactl.1.xml.in
> index 39569b6b..4052fae3 100644
> --- a/man/pactl.1.xml.in
> +++ b/man/pactl.1.xml.in
> @@ -245,6 +245,13 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
>        'ac3-iec61937, format.rate = "[ 32000, 44100, 48000 ]"').
>        </p></optdesc> </option>
>  
> +    <option>
> +      <p><opt>send-message</opt> <arg>RECIPIENT</arg> <arg>MESSAGE</arg> <arg>MESSAGE_PARAMETERS</arg></p>
> +      <optdesc><p>Send a message string to the specified recipient object. If applicable an additional string containing

I think "a message" is better than "a message string".

> +      message parameters can be specified. A string is returned as a response to the message. For available message
> +      commands see https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/doc/messaging_api.txt.</p></optdesc>;

I think "available messages" is better than "available message
commands".

> +    </option>
> +
>      <option>
>        <p><opt>subscribe</opt></p>
>        <optdesc><p>Subscribe to events, pactl does not exit by itself, but keeps waiting for new events.</p></optdesc>
> diff --git a/man/pulse-cli-syntax.5.xml.in b/man/pulse-cli-syntax.5.xml.in
> index 0a0fabaf..83f55d6b 100644
> --- a/man/pulse-cli-syntax.5.xml.in
> +++ b/man/pulse-cli-syntax.5.xml.in
> @@ -297,6 +297,13 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
>        <optdesc><p>Debug: Show shared properties.</p></optdesc>
>      </option>
>  
> +    <option>
> +      <p><opt>send-message</opt> <arg>recipient</arg> <arg>message</arg> <arg>message_parameters</arg></p>
> +      <optdesc><p>Send a message string to the specified recipient object. If applicable an additional string containing
> +      message parameters can be specified. A string is returned as a response to the message. For available message
> +      commands see https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/doc/messaging_api.txt.</p></optdesc>;
> +    </option>

Same as above.

> diff --git a/src/pulse/introspect.h b/src/pulse/introspect.h
> index 7e47e740..fbe5b668 100644
> --- a/src/pulse/introspect.h
> +++ b/src/pulse/introspect.h
> @@ -451,7 +451,8 @@ pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_s
>  /** Callback prototype for pa_context_send_message_to_object() */
>  typedef void (*pa_context_string_cb_t)(pa_context *c, int success, const char *response, void *userdata);
>  
> -/** Send a message to an object that registered a message handler. */
> +/** Send a message to an object that registered a message handler. For more information
> + * see https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/doc/messaging_api.txt. */
>  pa_operation* pa_context_send_message_to_object(pa_context *c, const char *recipient_name, const char *message, const char *message_parameters, pa_context_string_cb_t cb, void *userdata);

Apparently I didn't notice when reviewing the previous patch that the
documentation is lacking a \since tag.

-- 
Tanu

https://liberapay.com/tanuk
https://www.patreon.com/tanuk


More information about the pulseaudio-discuss mailing list