summaryrefslogtreecommitdiffstats
path: root/src/polyp
diff options
context:
space:
mode:
Diffstat (limited to 'src/polyp')
-rw-r--r--src/polyp/context.c14
-rw-r--r--src/polyp/context.h18
-rw-r--r--src/polyp/internal.h4
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);