finer granularity of amname generation + audio manager registration filtering
[profile/ivi/pulseaudio-module-murphy-ivi.git] / murphy / murphyif.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 foomurphyiffoo
21 #define foomurphyiffoo
22
23 #include <stdarg.h>
24
25 #ifdef WITH_MURPHYIF
26 #include <murphy/domain-control/client.h>
27 #else
28 typedef void mrp_domctl_value_t;
29 #endif
30
31 #include "userdata.h"
32
33
34 typedef void (*pa_murphyif_watch_cb)(struct userdata *u, const char *,
35                                          int, mrp_domctl_value_t **);
36
37 pa_murphyif *pa_murphyif_init(struct userdata *, const char *, const char *);
38 void pa_murphyif_done(struct userdata *);
39
40 void pa_murphyif_add_table(struct userdata *, const char *, const char *,
41                            const char *);
42 int  pa_murphyif_add_watch(struct userdata *, const char *, const char *,
43                            const char *, int);
44 void pa_murphyif_setup_domainctl(struct userdata *, pa_murphyif_watch_cb);
45
46 void pa_murphyif_add_audio_resource(struct userdata *, mir_direction,
47                                     const char *);
48 void pa_murphyif_add_audio_attribute(struct userdata *, const char *,
49                                      const char *, mqi_data_type_t, ... );
50 void pa_murphyif_create_resource_set(struct userdata *, mir_node *,
51                                      pa_nodeset_resdef *);
52 void pa_murphyif_destroy_resource_set(struct userdata *, mir_node *);
53
54 int  pa_murphyif_add_node(struct userdata *, mir_node *);
55 void pa_murphyif_delete_node(struct userdata *, mir_node *);
56
57
58 #endif /* foomurphyiffoo */
59
60 /*
61  * Local Variables:
62  * c-basic-offset: 4
63  * indent-tabs-mode: nil
64  * End:
65  *
66  */