diff options
author | Tanu Kaskinen <tanuk@iki.fi> | 2009-07-21 00:02:27 +0300 |
---|---|---|
committer | Tanu Kaskinen <tanuk@iki.fi> | 2009-07-21 00:02:27 +0300 |
commit | 9347e90fed732dac619bb88f6518c344e7436447 (patch) | |
tree | 13b38dbb987296e21e7040d4ae903ddbd2a30d04 /src/pulsecore/dbus-util.h | |
parent | 5c7952e4fa5e560f64255ef173c3e6570bee433a (diff) |
Finish the Core dbus interface.
Diffstat (limited to 'src/pulsecore/dbus-util.h')
-rw-r--r-- | src/pulsecore/dbus-util.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/pulsecore/dbus-util.h b/src/pulsecore/dbus-util.h index 97328735..1a8aeac9 100644 --- a/src/pulsecore/dbus-util.h +++ b/src/pulsecore/dbus-util.h @@ -26,6 +26,7 @@ #include <pulsecore/llist.h> #include <pulse/mainloop-api.h> +#include <pulse/proplist.h> /* A wrap connection is not shared or refcounted, it is available in client side */ typedef struct pa_dbus_wrap_connection pa_dbus_wrap_connection; @@ -61,4 +62,32 @@ 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); +/* 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 *message); + +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_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); + +/* Helper function for extracting the value argument of a Set call for a + * property with a basic type. 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); + +/* 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. */ +pa_proplist *pa_dbus_get_proplist_arg(DBusConnection *c, DBusMessage *msg, DBusMessageIter *iter); + #endif |