5 #include <pulsecore/pulsecore-config.h>
13 mir_rtgroup_accept_t accept;
14 mir_rtgroup_compare_t compare;
22 rtgroup_def rtgroups[] = {
23 {"default", mir_router_default_accept, mir_router_default_compare},
24 {"phone" , mir_router_phone_accept , mir_router_phone_compare },
25 { NULL , NULL , NULL }
28 classmap_def classmap[] = {
29 {mir_radio , "default"},
30 {mir_player , "default"},
31 {mir_navigator, "default"},
32 {mir_game , "default"},
33 {mir_browser , "default"},
34 {mir_phone , "default"},
35 {mir_event , "default"},
36 {mir_node_type_unknown, NULL}
40 static pa_bool_t use_default_configuration(struct userdata *);
41 static pa_bool_t parse_config_file(struct userdata *, FILE *);
44 pa_mir_config *pa_mir_config_init(struct userdata *u)
46 pa_mir_config *config;
50 config = pa_xnew0(pa_mir_config, 1);
55 void pa_mir_config_done(struct userdata *u)
57 pa_mir_config *config;
59 if (u && (config = u->config)) {
66 pa_bool_t pa_mir_config_parse_file(struct userdata *u, const char *path)
68 pa_mir_config *config;
73 pa_assert_se((config = u->config));
76 if ((f = fopen(path, "r"))) {
77 success = parse_config_file(u, f);
82 pa_log_info("%s: failed to open config file '%s': %s",
83 __FILE__, path, strerror(errno));
87 pa_log_debug("%s: default config values will apply", __FILE__);
89 success = use_default_configuration(u);
94 static pa_bool_t use_default_configuration(struct userdata *u)
101 for (r = rtgroups; r->name; r++)
102 mir_router_create_rtgroup(u, r->name, r->accept, r->compare);
104 for (c = classmap; c->rtgroup; c++)
105 mir_router_assign_class_to_rtgroup(u, c->class, c->rtgroup);
110 static pa_bool_t parse_config_file(struct userdata *u, FILE *f)
118 * indent-tabs-mode: nil