1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
/*
* module-agl-audio -- PulseAudio module for providing audio routing support
* (forked from "module-murphy-ivi" - https://github.com/otcshare )
* Copyright (c) 2012, Intel Corporation.
* Copyright (c) 2016, IoT.bzh
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
* version 2.1, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
* MA 02110-1301 USA.
*
*/
#include "config.h"
const char *agl_config_file_get_path (const char *dir, const char *file, char *buf, size_t len)
{
pa_assert (file);
pa_assert (buf);
pa_assert (len > 0);
snprintf (buf, len, "%s/%s", dir, file);
return buf;
}
bool agl_config_parse_file (struct userdata *u, const char *path)
{
bool success;
pa_assert (u);
if (!path)
return false;
else {
pa_log_info ("parsing configuration file '%s'", path);
success = agl_config_dofile (u, path);
}
if (!success) {
pa_log_info ("applying builtin default configuration");
//success = use_default_configuration (u);
}
return success;
}
bool agl_config_dofile (struct userdata *u, const char *path)
{
/* TODO */
return false;
}
/* DEFAULT CONFIGURATION PART */
static zone_def zones[] = {
{ "driver" },
{ "passenger1" },
{ "passenger2" },
{ "passenger3" },
{ "passenger4" },
{ NULL }
};
static rtgroup_def rtgroups[] = {
{ agl_input,
"phone",
agl_router_phone_accept,
agl_router_phone_compare
},
{ 0, NULL, NULL, NULL }
};
static classmap_def classmap[] = {
{ agl_phone, 0, agl_output, "phone" },
{ agl_player, 0, agl_output, "default" },
{ agl_radio, 0, agl_output, "default" },
{ agl_navigator,0, agl_output, "default" },
{ agl_event, 0, agl_output, "default" },
{ agl_node_type_unknown, 0, agl_direction_unknown, NULL }
};
static typemap_def typemap[] = {
{ "phone", agl_phone },
{ "music", agl_player },
{ "radio", agl_radio },
{ "navi", agl_navigator },
{ "event", agl_event },
{ NULL, agl_node_type_unknown }
};
static prior_def priormap[] = {
{ agl_event, 5 },
{ agl_phone, 4 },
{ agl_navigator, 2 },
{ agl_radio, 1 },
{ agl_player, 1 },
{ agl_node_type_unknown, 0}
};
bool use_default_configuration (struct userdata *u)
{
zone_def *z;
rtgroup_def *r;
classmap_def *c;
typemap_def *t;
prior_def *p;
return true;
}
|