routing: adding constraint to handle BT profiles and ALSA ports correctly
[profile/ivi/pulseaudio-module-murphy-ivi.git] / murphy / userdata.h
1 #ifndef foouserdatafoo
2 #define foouserdatafoo
3
4 #include <stdbool.h>
5 #include <pulsecore/core.h>
6
7 #include "multiplex.h"
8
9
10 #define PA_PROP_ROUTING_CLASS_NAME  "routing.class.name"
11 #define PA_PROP_ROUTING_CLASS_ID    "routing.class.id"
12 #define PA_PROP_ROUTING_METHOD      "routing.method"
13 #define PA_PROP_ROUTING_TABLE       "routing.table"
14
15 #define PA_ROUTING_DEFAULT           "default"
16 #define PA_ROUTING_EXPLICIT          "explicit"
17
18 typedef struct pa_card               pa_card;
19 typedef struct pa_sink               pa_sink;
20
21 typedef struct pa_null_sink          pa_null_sink;
22 typedef struct pa_tracker            pa_tracker;
23 typedef struct pa_audiomgr           pa_audiomgr;
24 typedef struct pa_policy_dbusif      pa_policy_dbusif;
25 typedef struct pa_discover           pa_discover;
26 typedef struct pa_router             pa_router;
27 typedef struct pa_constrain          pa_constrain;
28 typedef struct pa_mir_config         pa_mir_config;
29 typedef struct pa_nodeset            pa_nodeset;
30 typedef struct pa_node_card          pa_node_card;
31 typedef struct pa_card_hooks         pa_card_hooks;
32 typedef struct pa_sink_hooks         pa_sink_hooks;
33 typedef struct pa_source_hooks       pa_source_hooks;
34 typedef struct pa_sink_input_hooks   pa_sink_input_hooks;
35
36 typedef enum   mir_direction         mir_direction;
37 typedef enum   mir_implement         mir_implement;
38 typedef enum   mir_location          mir_location;
39 typedef enum   mir_node_type         mir_node_type;
40 typedef enum   mir_privacy           mir_privacy; 
41 typedef struct mir_node              mir_node;
42 typedef struct mir_rtgroup           mir_rtgroup;
43 typedef struct mir_rtentry           mir_rtentry;
44 typedef struct mir_connection        mir_connection;
45 typedef struct mir_constr_link       mir_constr_link;
46 typedef struct mir_constr_def        mir_constr_def;
47
48 typedef struct am_domainreg_data     am_domainreg_data;
49 typedef struct am_nodereg_data       am_nodereg_data;
50 typedef struct am_nodeunreg_data     am_nodeunreg_data;
51 typedef struct am_ack_data           am_ack_data;
52 typedef struct am_connect_data       am_connect_data;
53
54
55
56 typedef struct {
57     char *profile;    /**< During profile change it contains the new profile
58                            name. Otherwise it is NULL. When sink tracking
59                            hooks called the card's active_profile still
60                            points to the old profile */
61 } pa_mir_state;
62
63
64 struct userdata {
65     pa_core           *core;
66     pa_module         *module;
67     pa_null_sink      *nullsink;
68     pa_nodeset        *nodeset;
69     pa_audiomgr       *audiomgr;
70     pa_policy_dbusif  *dbusif;
71     pa_discover       *discover;
72     pa_tracker        *tracker;
73     pa_router         *router;
74     pa_constrain      *constrain;
75     pa_multiplex      *multiplex;
76     pa_mir_config     *config;
77     pa_mir_state       state;
78 };
79
80 #endif
81
82 /*
83  * Local Variables:
84  * c-basic-offset: 4
85  * indent-tabs-mode: nil
86  * End:
87  *
88  */