diff options
Diffstat (limited to 'src/polyp')
-rw-r--r-- | src/polyp/context.c | 14 | ||||
-rw-r--r-- | src/polyp/context.h | 18 | ||||
-rw-r--r-- | src/polyp/internal.h | 4 |
3 files changed, 20 insertions, 16 deletions
diff --git a/src/polyp/context.c b/src/polyp/context.c index eac5dd23..e2d9d33d 100644 --- a/src/polyp/context.c +++ b/src/polyp/context.c @@ -72,7 +72,7 @@ #define AUTOSPAWN_LOCK "autospawn.lock" -static const pa_pdispatch_callback command_table[PA_COMMAND_MAX] = { +static const pa_pdispatch_callback_t command_table[PA_COMMAND_MAX] = { [PA_COMMAND_REQUEST] = pa_command_request, [PA_COMMAND_OVERFLOW] = pa_command_overflow_or_underflow, [PA_COMMAND_UNDERFLOW] = pa_command_overflow_or_underflow, @@ -671,7 +671,7 @@ int pa_context_errno(pa_context *c) { return c->error; } -void pa_context_set_state_callback(pa_context *c, void (*cb)(pa_context *c, void *userdata), void *userdata) { +void pa_context_set_state_callback(pa_context *c, pa_context_notify_cb_t cb, void *userdata) { assert(c && c->ref >= 1); c->state_callback = cb; c->state_userdata = userdata; @@ -730,7 +730,7 @@ static void set_dispatch_callbacks(pa_operation *o) { pa_operation_unref(o); } -pa_operation* pa_context_drain(pa_context *c, void (*cb) (pa_context*c, void *userdata), void *userdata) { +pa_operation* pa_context_drain(pa_context *c, pa_context_notify_cb_t cb, void *userdata) { pa_operation *o; assert(c && c->ref >= 1); @@ -777,7 +777,7 @@ void pa_context_simple_ack_callback(pa_pdispatch *pd, uint32_t command, PA_GCC_U } if (o->callback) { - void (*cb)(pa_context *c, int _success, void *_userdata) = (void (*)(pa_context *c, int _success, void *_userdata)) o->callback; + pa_context_success_cb_t cb = (pa_context_success_cb_t) o->callback; cb(o->context, success, o->userdata); } @@ -805,7 +805,7 @@ pa_operation* pa_context_send_simple_command(pa_context *c, uint32_t command, vo return pa_operation_ref(o); } -pa_operation* pa_context_set_default_sink(pa_context *c, const char *name, void(*cb)(pa_context*c, int success, void *userdata), void *userdata) { +pa_operation* pa_context_set_default_sink(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata) { pa_tagstruct *t; pa_operation *o; uint32_t tag; @@ -825,7 +825,7 @@ pa_operation* pa_context_set_default_sink(pa_context *c, const char *name, void( return pa_operation_ref(o); } -pa_operation* pa_context_set_default_source(pa_context *c, const char *name, void(*cb)(pa_context*c, int success, void *userdata), void *userdata) { +pa_operation* pa_context_set_default_source(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata) { pa_tagstruct *t; pa_operation *o; uint32_t tag; @@ -850,7 +850,7 @@ int pa_context_is_local(pa_context *c) { return c->local; } -pa_operation* pa_context_set_name(pa_context *c, const char *name, void(*cb)(pa_context*c, int success, void *userdata), void *userdata) { +pa_operation* pa_context_set_name(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata) { pa_tagstruct *t; pa_operation *o; uint32_t tag; diff --git a/src/polyp/context.h b/src/polyp/context.h index 4efd5156..1c06c434 100644 --- a/src/polyp/context.h +++ b/src/polyp/context.h @@ -53,6 +53,12 @@ PA_C_DECL_BEGIN * An opaque connection context to a daemon */ typedef struct pa_context pa_context; +/** Generic notification callback prototype */ +typedef void (*pa_context_notify_cb_t)(pa_context *c, void *userdata); + +/** A generic callback for operation completion */ +typedef void (*pa_context_success_cb_t) (pa_context *c, int success, void *userdata); + /** Instantiate a new connection context with an abstract mainloop API * and an application name */ pa_context *pa_context_new(pa_mainloop_api *mainloop, const char *name); @@ -63,10 +69,8 @@ void pa_context_unref(pa_context *c); /** Increase the reference counter of the context by one */ pa_context* pa_context_ref(pa_context *c); -typedef void (*pa_context_state_callback)(pa_context *c, void *userdata); - /** Set a callback function that is called whenever the context status changes */ -void pa_context_set_state_callback(pa_context *c, pa_context_state_callback callback, void *userdata); +void pa_context_set_state_callback(pa_context *c, pa_context_notify_cb_t cb, void *userdata); /** Return the error number of the last failed operation */ int pa_context_errno(pa_context *c); @@ -90,7 +94,7 @@ int pa_context_connect(pa_context *c, const char *server, int spawn, const pa_sp void pa_context_disconnect(pa_context *c); /** Drain the context. If there is nothing to drain, the function returns NULL */ -pa_operation* pa_context_drain(pa_context *c, void (*cb) (pa_context*c, void *userdata), void *userdata); +pa_operation* pa_context_drain(pa_context *c, pa_context_notify_cb_t cb, void *userdata); /** Tell the daemon to exit. No operation object is returned as the * connection is terminated when the daemon quits, thus this operation @@ -98,16 +102,16 @@ pa_operation* pa_context_drain(pa_context *c, void (*cb) (pa_context*c, void *us void pa_context_exit_daemon(pa_context *c); /** Set the name of the default sink. \since 0.4 */ -pa_operation* pa_context_set_default_sink(pa_context *c, const char *name, void(*cb)(pa_context*c, int success, void *userdata), void *userdata); +pa_operation* pa_context_set_default_sink(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata); /** Set the name of the default source. \since 0.4 */ -pa_operation* pa_context_set_default_source(pa_context *c, const char *name, void(*cb)(pa_context*c, int success, void *userdata), void *userdata); +pa_operation* pa_context_set_default_source(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata); /** Returns 1 when the connection is to a local daemon. Returns negative when no connection has been made yet. \since 0.5 */ int pa_context_is_local(pa_context *c); /** Set a different application name for context on the server. \since 0.5 */ -pa_operation* pa_context_set_name(pa_context *c, const char *name, void(*cb)(pa_context*c, int success, void *userdata), void *userdata); +pa_operation* pa_context_set_name(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata); /** Return the server name this context is connected to. \since 0.7 */ const char* pa_context_get_server(pa_context *c); diff --git a/src/polyp/internal.h b/src/polyp/internal.h index 578969ee..f0374b67 100644 --- a/src/polyp/internal.h +++ b/src/polyp/internal.h @@ -59,8 +59,8 @@ struct pa_context { uint32_t csyncid; uint32_t error; pa_context_state_t state; - - void (*state_callback)(pa_context*c, void *userdata); + + pa_context_notify_cb_t state_callback; void *state_userdata; void (*subscribe_callback)(pa_context *c, pa_subscription_event_type_t t, uint32_t idx, void *userdata); |