mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-08 13:29:59 -05:00
dbus: Do message argument type checking early, centrally.
This commit is contained in:
parent
7bc8a793b8
commit
0e096632c5
11 changed files with 470 additions and 641 deletions
|
|
@ -32,7 +32,10 @@
|
|||
typedef struct pa_dbus_wrap_connection pa_dbus_wrap_connection;
|
||||
|
||||
pa_dbus_wrap_connection* pa_dbus_wrap_connection_new(pa_mainloop_api *mainloop, pa_bool_t use_rtclock, DBusBusType type, DBusError *error);
|
||||
pa_dbus_wrap_connection* pa_dbus_wrap_connection_new_from_existing(pa_mainloop_api *mainloop, pa_bool_t use_rtclock, DBusConnection *conn);
|
||||
pa_dbus_wrap_connection* pa_dbus_wrap_connection_new_from_existing(
|
||||
pa_mainloop_api *mainloop,
|
||||
pa_bool_t use_rtclock,
|
||||
DBusConnection *conn);
|
||||
void pa_dbus_wrap_connection_free(pa_dbus_wrap_connection* conn);
|
||||
|
||||
DBusConnection* pa_dbus_wrap_connection_get(pa_dbus_wrap_connection *conn);
|
||||
|
|
@ -63,36 +66,41 @@ void pa_dbus_sync_pending_list(pa_dbus_pending **p);
|
|||
void pa_dbus_free_pending_list(pa_dbus_pending **p);
|
||||
|
||||
/* Sends an error message as the reply to the given message. */
|
||||
void pa_dbus_send_error(DBusConnection *c, DBusMessage *in_reply_to, const char *name, const char *format, ...) PA_GCC_PRINTF_ATTR(4, 5);
|
||||
void pa_dbus_send_error(
|
||||
DBusConnection *c,
|
||||
DBusMessage *in_reply_to,
|
||||
const char *name,
|
||||
const char *format, ...) PA_GCC_PRINTF_ATTR(4, 5);
|
||||
|
||||
void pa_dbus_send_empty_reply(DBusConnection *c, DBusMessage *in_reply_to);
|
||||
void pa_dbus_send_basic_value_reply(DBusConnection *c, DBusMessage *in_reply_to, int type, void *data);
|
||||
void pa_dbus_send_basic_variant_reply(DBusConnection *c, DBusMessage *in_reply_to, int type, void *data);
|
||||
void pa_dbus_send_basic_array_variant_reply(DBusConnection *c, DBusMessage *in_reply_to, int item_type, void *array, unsigned n);
|
||||
void pa_dbus_send_basic_array_variant_reply(
|
||||
DBusConnection *c,
|
||||
DBusMessage *in_reply_to,
|
||||
int item_type,
|
||||
void *array,
|
||||
unsigned n);
|
||||
void pa_dbus_send_proplist_variant_reply(DBusConnection *c, DBusMessage *in_reply_to, pa_proplist *proplist);
|
||||
|
||||
void pa_dbus_append_basic_array(DBusMessageIter *iter, int item_type, const void *array, unsigned n);
|
||||
void pa_dbus_append_basic_array_variant(DBusMessageIter *iter, int item_type, const void *array, unsigned n);
|
||||
void pa_dbus_append_basic_variant(DBusMessageIter *iter, int type, void *data);
|
||||
void pa_dbus_append_basic_variant_dict_entry(DBusMessageIter *dict_iter, const char *key, int type, void *data);
|
||||
void pa_dbus_append_basic_array_variant_dict_entry(DBusMessageIter *dict_iter, const char *key, int item_type, const void *array, unsigned n);
|
||||
void pa_dbus_append_basic_array_variant_dict_entry(
|
||||
DBusMessageIter *dict_iter,
|
||||
const char *key,
|
||||
int item_type,
|
||||
const void *array,
|
||||
unsigned n);
|
||||
void pa_dbus_append_proplist(DBusMessageIter *iter, pa_proplist *proplist);
|
||||
void pa_dbus_append_proplist_variant(DBusMessageIter *iter, pa_proplist *proplist);
|
||||
void pa_dbus_append_proplist_variant_dict_entry(DBusMessageIter *dict_iter, const char *key, pa_proplist *proplist);
|
||||
|
||||
/* Helper functions for extracting the value argument of a Set call. If the
|
||||
* message is invalid, an error reply is sent and a negative number is
|
||||
* returned. */
|
||||
int pa_dbus_get_basic_set_property_arg(DBusConnection *c, DBusMessage *msg, int type, void *data);
|
||||
int pa_dbus_get_fixed_array_set_property_arg(DBusConnection *c, DBusMessage *msg, int item_type, void *data, unsigned *n);
|
||||
|
||||
/* If the arguments can't be read from the iterator, an error reply is sent and
|
||||
* a negative number is returned. */
|
||||
int pa_dbus_get_basic_arg(DBusConnection *c, DBusMessage *msg, DBusMessageIter *iter, int type, void *data);
|
||||
int pa_dbus_get_fixed_array_arg(DBusConnection *c, DBusMessage *msg, DBusMessageIter *iter, int item_type, void *array, unsigned *n);
|
||||
|
||||
/* Returns a new proplist that the caller has to free. If the proplist can't be
|
||||
* read from the iterator, an error reply is sent and NULL is returned. */
|
||||
/* Returns a new proplist that the caller has to free. If the proplist contains
|
||||
* invalid keys, an error reply is sent and NULL is returned. The iterator must
|
||||
* point to "a{say}" element. This function calls dbus_message_iter_next(iter)
|
||||
* before returning. */
|
||||
pa_proplist *pa_dbus_get_proplist_arg(DBusConnection *c, DBusMessage *msg, DBusMessageIter *iter);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue