]>
code.delx.au - pulseaudio/blob - src/tests/hook-list-test.c
3 #include <pulsecore/hook-list.h>
4 #include <pulsecore/log.h>
6 PA_HOOK_DECLARE(test
, const char *, const char*);
7 PA_HOOK_IMPLEMENT(test
, const char *, const char *);
9 static pa_hook_result_t
func1(const char*a
, const char*b
, void *userdata
) {
10 pa_log("#1 a=%s b=%s userdata=%s", a
, b
, (char*) userdata
);
14 static pa_hook_result_t
func2(const char*a
, const char*b
, void *userdata
) {
15 pa_log("#2 a=%s b=%s userdata=%s", a
, b
, (char*) userdata
);
19 int main(int argc
, char *argv
[]) {
22 PA_HOOK_HEAD(test
, test
);
24 PA_HOOK_HEAD_INIT(test
, test
);
26 PA_HOOK_APPEND(test
, test
, func1
, (void*) "1-1");
27 PA_HOOK_APPEND(test
, test
, func2
, u
= (void*) "2");
28 PA_HOOK_APPEND(test
, test
, func1
, (void*) "1-2");
31 PA_HOOK_EXECUTE(test
, test
, "arg1", "arg2");
33 PA_HOOK_REMOVE(test
, test
, func2
, u
);
35 PA_HOOK_FREE(test
, test
);