licensing: AUTHORS, LICENSE + license headers for each *.[hc]
[profile/ivi/pulseaudio-module-murphy-ivi.git] / murphy / tracker.h
1 /*
2  * module-murphy-ivi -- PulseAudio module for providing audio routing support
3  * Copyright (c) 2012, Intel Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU Lesser General Public License,
7  * version 2.1, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.
12  * See the GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this program; if not, write to the
16  * Free Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
17  * MA 02110-1301 USA.
18  *
19  */
20 #ifndef footrackerfoo
21 #define footrackerfoo
22
23 #include "userdata.h"
24
25
26 struct pa_card_hooks {
27     pa_hook_slot    *put;
28     pa_hook_slot    *unlink;
29     pa_hook_slot    *profchg;
30 };
31
32 struct pa_sink_hooks {
33     pa_hook_slot    *put;
34     pa_hook_slot    *unlink;
35     pa_hook_slot    *portchg;
36     pa_hook_slot    *portavail;
37 };
38
39 struct pa_source_hooks {
40     pa_hook_slot    *put;
41     pa_hook_slot    *unlink;
42     pa_hook_slot    *portchg;
43     pa_hook_slot    *portavail;
44 };
45
46 struct pa_sink_input_hooks {
47     pa_hook_slot    *neew;
48     pa_hook_slot    *put;
49     pa_hook_slot    *unlink;
50 };
51
52
53 struct pa_tracker {
54     pa_card_hooks       card;
55     pa_sink_hooks       sink;
56     pa_source_hooks     source;
57     pa_sink_input_hooks sink_input;
58 };
59
60 pa_tracker *pa_tracker_init(struct userdata *);
61 void pa_tracker_done(struct userdata *);
62
63 void pa_tracker_synchronize(struct userdata *);
64
65
66
67 #endif /* footrackerfoo */
68
69 /*
70  * Local Variables:
71  * c-basic-offset: 4
72  * indent-tabs-mode: nil
73  * End:
74  *
75  */