murphyif: Free the connect timer when unloading
[profile/ivi/pulseaudio-module-murphy-ivi.git] / murphy / routerif.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 foorouteriffoo
21 #define foorouteriffoo
22
23 #include "userdata.h"
24
25
26 enum am_method {
27     audiomgr_unknown_method = 0,
28
29     audiomgr_register_domain,
30     audiomgr_domain_complete,
31     audiomgr_deregister_domain,
32
33     audiomgr_register_source,
34     audiomgr_deregister_source,
35
36     audiomgr_register_sink,
37     audiomgr_deregister_sink,
38
39     audiomgr_implicit_connection,
40     audiomgr_implicit_connections,
41     
42     audiomgr_connect,
43     audiomgr_connect_ack,
44     
45     audiomgr_disconnect,
46     audiomgr_disconnect_ack,
47     
48     audiomgr_setsinkvol_ack,
49     audiomgr_setsrcvol_ack,
50     audiomgr_sinkvoltick_ack,
51     audiomgr_srcvoltick_ack,
52     audiomgr_setsinkprop_ack,
53
54     audiomgr_method_dim
55 };
56
57
58 #ifdef WITH_DBUS
59 pa_routerif *pa_routerif_init(struct userdata *, const char *,
60                               const char *, const char *);
61 #else
62 pa_routerif *pa_routerif_init(struct userdata *, const char *,
63                               const char *, const char *);
64
65 #endif
66
67 void pa_routerif_done(struct userdata *);
68
69
70 bool pa_routerif_register_domain(struct userdata *,
71                                       am_domainreg_data *);
72 bool pa_routerif_domain_complete(struct userdata *, uint16_t);
73 bool pa_routerif_unregister_domain(struct userdata *, uint16_t);
74
75 bool pa_routerif_register_node(struct userdata *, am_method,
76                                     am_nodereg_data *);
77 bool pa_routerif_unregister_node(struct userdata *, am_method,
78                                       am_nodeunreg_data *);
79
80 bool pa_routerif_acknowledge(struct userdata *, am_method, am_ack_data *);
81
82 bool pa_routerif_register_implicit_connection(struct userdata *,
83                                                    am_connect_data *);
84 bool pa_routerif_register_implicit_connections(struct userdata *, int,
85                                                     am_connect_data *);
86
87 #endif  /* foorouteriffoo */
88
89 /*
90  * Local Variables:
91  * c-basic-offset: 4
92  * indent-tabs-mode: nil
93  * End:
94  *
95  */