mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-08 13:29:59 -05:00
dbus: New helper function: pa_dbus_get_error_message().
This commit is contained in:
parent
910bc7c2b4
commit
bec34c428c
2 changed files with 22 additions and 0 deletions
|
|
@ -452,6 +452,20 @@ void pa_dbus_free_pending_list(pa_dbus_pending **p) {
|
|||
}
|
||||
}
|
||||
|
||||
const char *pa_dbus_get_error_message(DBusMessage *m) {
|
||||
const char *message;
|
||||
|
||||
pa_assert(m);
|
||||
pa_assert(dbus_message_get_type(m) == DBUS_MESSAGE_TYPE_ERROR);
|
||||
|
||||
if (dbus_message_get_signature(m)[0] != 's')
|
||||
return "<no explanation>";
|
||||
|
||||
pa_assert_se(dbus_message_get_args(m, NULL, DBUS_TYPE_STRING, &message, DBUS_TYPE_INVALID));
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
void pa_dbus_send_error(DBusConnection *c, DBusMessage *in_reply_to, const char *name, const char *format, ...) {
|
||||
va_list ap;
|
||||
char *message;
|
||||
|
|
|
|||
|
|
@ -67,6 +67,14 @@ void pa_dbus_sync_pending_list(pa_dbus_pending **p);
|
|||
/* Free up a list of pa_dbus_pending_call objects */
|
||||
void pa_dbus_free_pending_list(pa_dbus_pending **p);
|
||||
|
||||
/* When receiving a DBusMessage with type DBUS_MESSAGE_TYPE_ERROR, the
|
||||
* DBusMessage may or may not contain an error message (a human-readable
|
||||
* explanation of what went wrong). Extracting the error message from the
|
||||
* DBusMessage object is a bit tedious, so here's a helper function that does
|
||||
* that. If the DBusMessage doesn't contain any error message,
|
||||
* "<no explanation>" is returned. */
|
||||
const char *pa_dbus_get_error_message(DBusMessage *m);
|
||||
|
||||
/* Sends an error message as the reply to the given message. */
|
||||
void pa_dbus_send_error(
|
||||
DBusConnection *c,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue