Add documentation about Sound Manager and Audio Manager architecture
[staging/soundmanager.git] / doc / api-ref / html / soundmanager_8c.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>Sound Manager: SoundManagerBinding/soundmanager_binging/soundmanager.c File Reference</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="resize.js"></script>
14 <script type="text/javascript" src="navtreedata.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17   $(document).ready(initResizable);
18 </script>
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <link href="doxygen.css" rel="stylesheet" type="text/css" />
23 </head>
24 <body>
25 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26 <div id="titlearea">
27 <table cellspacing="0" cellpadding="0">
28  <tbody>
29  <tr style="height: 56px;">
30   <td id="projectalign" style="padding-left: 0.5em;">
31    <div id="projectname">Sound Manager
32    </div>
33   </td>
34  </tr>
35  </tbody>
36 </table>
37 </div>
38 <!-- end header part -->
39 <!-- Generated by Doxygen 1.8.13 -->
40 <script type="text/javascript">
41 var searchBox = new SearchBox("searchBox", "search",false,'Search');
42 </script>
43 <script type="text/javascript" src="menudata.js"></script>
44 <script type="text/javascript" src="menu.js"></script>
45 <script type="text/javascript">
46 $(function() {
47   initMenu('',true,false,'search.php','Search');
48   $(document).ready(function() { init_search(); });
49 });
50 </script>
51 <div id="main-nav"></div>
52 </div><!-- top -->
53 <div id="side-nav" class="ui-resizable side-nav-resizable">
54   <div id="nav-tree">
55     <div id="nav-tree-contents">
56       <div id="nav-sync" class="sync"></div>
57     </div>
58   </div>
59   <div id="splitbar" style="-moz-user-select:none;" 
60        class="ui-resizable-handle">
61   </div>
62 </div>
63 <script type="text/javascript">
64 $(document).ready(function(){initNavTree('soundmanager_8c.html','');});
65 </script>
66 <div id="doc-content">
67 <!-- window showing the filter options -->
68 <div id="MSearchSelectWindow"
69      onmouseover="return searchBox.OnSearchSelectShow()"
70      onmouseout="return searchBox.OnSearchSelectHide()"
71      onkeydown="return searchBox.OnSearchSelectKey(event)">
72 </div>
73
74 <!-- iframe showing the search results (closed by default) -->
75 <div id="MSearchResultsWindow">
76 <iframe src="javascript:void(0)" frameborder="0" 
77         name="MSearchResults" id="MSearchResults">
78 </iframe>
79 </div>
80
81 <div class="header">
82   <div class="summary">
83 <a href="#nested-classes">Data Structures</a> &#124;
84 <a href="#define-members">Macros</a> &#124;
85 <a href="#func-members">Functions</a>  </div>
86   <div class="headertitle">
87 <div class="title">soundmanager.c File Reference</div>  </div>
88 </div><!--header-->
89 <div class="contents">
90 <div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
91 <code>#include &lt;string.h&gt;</code><br />
92 <code>#include &lt;stdlib.h&gt;</code><br />
93 <code>#include &lt;stdint.h&gt;</code><br />
94 <code>#include &lt;unistd.h&gt;</code><br />
95 <code>#include &lt;json-c/json.h&gt;</code><br />
96 <code>#include &lt;pthread.h&gt;</code><br />
97 <code>#include &lt;afb/afb-binding.h&gt;</code><br />
98 <code>#include &quot;sm-helper.h&quot;</code><br />
99 <code>#include &quot;dbus/audio_manager_interface.h&quot;</code><br />
100 </div>
101 <p><a href="soundmanager_8c_source.html">Go to the source code of this file.</a></p>
102 <table class="memberdecls">
103 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
104 Data Structures</h2></td></tr>
105 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structevent.html">event</a></td></tr>
106 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
107 </table><table class="memberdecls">
108 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
109 Macros</h2></td></tr>
110 <tr class="memitem:a369266c24eacffb87046522897a570d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#a369266c24eacffb87046522897a570d5">_GNU_SOURCE</a></td></tr>
111 <tr class="separator:a369266c24eacffb87046522897a570d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
112 <tr class="memitem:ad25089fbfd55bf795bed283a5b283461"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#ad25089fbfd55bf795bed283a5b283461">AM_NAME</a>&#160;&#160;&#160;&quot;org.genivi.audiomanager&quot;</td></tr>
113 <tr class="separator:ad25089fbfd55bf795bed283a5b283461"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <tr class="memitem:afa98a8b4c63efeb6e209144e7b247291"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#afa98a8b4c63efeb6e209144e7b247291">AM_CMD_PATH</a>&#160;&#160;&#160;&quot;/org/genivi/audiomanager/commandinterface&quot;</td></tr>
115 <tr class="separator:afa98a8b4c63efeb6e209144e7b247291"><td class="memSeparator" colspan="2">&#160;</td></tr>
116 <tr class="memitem:a9a50fb496af125690fb276944b3b4cff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#a9a50fb496af125690fb276944b3b4cff">AM_ROUTE_PATH</a>&#160;&#160;&#160;&quot;/org/genivi/audiomanager/routinginterface&quot;</td></tr>
117 <tr class="separator:a9a50fb496af125690fb276944b3b4cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
118 <tr class="memitem:a9b2ae077f774994129a3c231be6703a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#a9b2ae077f774994129a3c231be6703a0">SOUND_MANAGER_NAME</a>&#160;&#160;&#160;&quot;org.soundmanager.genivi.routingsend&quot;</td></tr>
119 <tr class="separator:a9b2ae077f774994129a3c231be6703a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 <tr class="memitem:a2690d3e2461f5a2f9bb0720d657280da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#a2690d3e2461f5a2f9bb0720d657280da">SOUND_MANAGER_PATH</a>&#160;&#160;&#160;&quot;org/soundmanager/genivi/routingsend&quot;</td></tr>
121 <tr class="separator:a2690d3e2461f5a2f9bb0720d657280da"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 <tr class="memitem:a09f43d9e7e1c5d2198c0d66024b4500e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e">COMMAND_EVENT_NUM</a>&#160;&#160;&#160;10</td></tr>
123 <tr class="separator:a09f43d9e7e1c5d2198c0d66024b4500e"><td class="memSeparator" colspan="2">&#160;</td></tr>
124 <tr class="memitem:a33d1c40de8a5e7a3d6f0e2f45de9f37f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#a33d1c40de8a5e7a3d6f0e2f45de9f37f">ROUTING_EVENT_NUM</a>&#160;&#160;&#160;10</td></tr>
125 <tr class="separator:a33d1c40de8a5e7a3d6f0e2f45de9f37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
126 <tr class="memitem:ab29566f6eaf3523d21c1465a3ff71570"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#ab29566f6eaf3523d21c1465a3ff71570">MAX_LEN_STR</a>&#160;&#160;&#160;100</td></tr>
127 <tr class="separator:ab29566f6eaf3523d21c1465a3ff71570"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 </table><table class="memberdecls">
129 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
130 Functions</h2></td></tr>
131 <tr class="memitem:a88642b2e51aa08fd18fdfc8017c8d567"><td class="memItemLeft" align="right" valign="top">const struct afb_binding *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#a88642b2e51aa08fd18fdfc8017c8d567">afbBindingV1Register</a> (const struct afb_binding_interface *itf)</td></tr>
132 <tr class="separator:a88642b2e51aa08fd18fdfc8017c8d567"><td class="memSeparator" colspan="2">&#160;</td></tr>
133 <tr class="memitem:aace0247d919659df209ceb7dbeff6a2d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="soundmanager_8c.html#aace0247d919659df209ceb7dbeff6a2d">afbBindingV1ServiceInit</a> (struct afb_service service)</td></tr>
134 <tr class="separator:aace0247d919659df209ceb7dbeff6a2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 </table>
136 <h2 class="groupheader">Macro Definition Documentation</h2>
137 <a id="a369266c24eacffb87046522897a570d5"></a>
138 <h2 class="memtitle"><span class="permalink"><a href="#a369266c24eacffb87046522897a570d5">&#9670;&nbsp;</a></span>_GNU_SOURCE</h2>
139
140 <div class="memitem">
141 <div class="memproto">
142       <table class="memname">
143         <tr>
144           <td class="memname">#define _GNU_SOURCE</td>
145         </tr>
146       </table>
147 </div><div class="memdoc">
148
149 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00017">17</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
150
151 </div>
152 </div>
153 <a id="afa98a8b4c63efeb6e209144e7b247291"></a>
154 <h2 class="memtitle"><span class="permalink"><a href="#afa98a8b4c63efeb6e209144e7b247291">&#9670;&nbsp;</a></span>AM_CMD_PATH</h2>
155
156 <div class="memitem">
157 <div class="memproto">
158       <table class="memname">
159         <tr>
160           <td class="memname">#define AM_CMD_PATH&#160;&#160;&#160;&quot;/org/genivi/audiomanager/commandinterface&quot;</td>
161         </tr>
162       </table>
163 </div><div class="memdoc">
164
165 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00032">32</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
166
167 </div>
168 </div>
169 <a id="ad25089fbfd55bf795bed283a5b283461"></a>
170 <h2 class="memtitle"><span class="permalink"><a href="#ad25089fbfd55bf795bed283a5b283461">&#9670;&nbsp;</a></span>AM_NAME</h2>
171
172 <div class="memitem">
173 <div class="memproto">
174       <table class="memname">
175         <tr>
176           <td class="memname">#define AM_NAME&#160;&#160;&#160;&quot;org.genivi.audiomanager&quot;</td>
177         </tr>
178       </table>
179 </div><div class="memdoc">
180
181 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00031">31</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
182
183 </div>
184 </div>
185 <a id="a9a50fb496af125690fb276944b3b4cff"></a>
186 <h2 class="memtitle"><span class="permalink"><a href="#a9a50fb496af125690fb276944b3b4cff">&#9670;&nbsp;</a></span>AM_ROUTE_PATH</h2>
187
188 <div class="memitem">
189 <div class="memproto">
190       <table class="memname">
191         <tr>
192           <td class="memname">#define AM_ROUTE_PATH&#160;&#160;&#160;&quot;/org/genivi/audiomanager/routinginterface&quot;</td>
193         </tr>
194       </table>
195 </div><div class="memdoc">
196
197 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00033">33</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
198
199 </div>
200 </div>
201 <a id="a09f43d9e7e1c5d2198c0d66024b4500e"></a>
202 <h2 class="memtitle"><span class="permalink"><a href="#a09f43d9e7e1c5d2198c0d66024b4500e">&#9670;&nbsp;</a></span>COMMAND_EVENT_NUM</h2>
203
204 <div class="memitem">
205 <div class="memproto">
206       <table class="memname">
207         <tr>
208           <td class="memname">#define COMMAND_EVENT_NUM&#160;&#160;&#160;10</td>
209         </tr>
210       </table>
211 </div><div class="memdoc">
212
213 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00037">37</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
214
215 </div>
216 </div>
217 <a id="ab29566f6eaf3523d21c1465a3ff71570"></a>
218 <h2 class="memtitle"><span class="permalink"><a href="#ab29566f6eaf3523d21c1465a3ff71570">&#9670;&nbsp;</a></span>MAX_LEN_STR</h2>
219
220 <div class="memitem">
221 <div class="memproto">
222       <table class="memname">
223         <tr>
224           <td class="memname">#define MAX_LEN_STR&#160;&#160;&#160;100</td>
225         </tr>
226       </table>
227 </div><div class="memdoc">
228
229 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00039">39</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
230
231 </div>
232 </div>
233 <a id="a33d1c40de8a5e7a3d6f0e2f45de9f37f"></a>
234 <h2 class="memtitle"><span class="permalink"><a href="#a33d1c40de8a5e7a3d6f0e2f45de9f37f">&#9670;&nbsp;</a></span>ROUTING_EVENT_NUM</h2>
235
236 <div class="memitem">
237 <div class="memproto">
238       <table class="memname">
239         <tr>
240           <td class="memname">#define ROUTING_EVENT_NUM&#160;&#160;&#160;10</td>
241         </tr>
242       </table>
243 </div><div class="memdoc">
244
245 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00038">38</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
246
247 </div>
248 </div>
249 <a id="a9b2ae077f774994129a3c231be6703a0"></a>
250 <h2 class="memtitle"><span class="permalink"><a href="#a9b2ae077f774994129a3c231be6703a0">&#9670;&nbsp;</a></span>SOUND_MANAGER_NAME</h2>
251
252 <div class="memitem">
253 <div class="memproto">
254       <table class="memname">
255         <tr>
256           <td class="memname">#define SOUND_MANAGER_NAME&#160;&#160;&#160;&quot;org.soundmanager.genivi.routingsend&quot;</td>
257         </tr>
258       </table>
259 </div><div class="memdoc">
260
261 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00034">34</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
262
263 </div>
264 </div>
265 <a id="a2690d3e2461f5a2f9bb0720d657280da"></a>
266 <h2 class="memtitle"><span class="permalink"><a href="#a2690d3e2461f5a2f9bb0720d657280da">&#9670;&nbsp;</a></span>SOUND_MANAGER_PATH</h2>
267
268 <div class="memitem">
269 <div class="memproto">
270       <table class="memname">
271         <tr>
272           <td class="memname">#define SOUND_MANAGER_PATH&#160;&#160;&#160;&quot;org/soundmanager/genivi/routingsend&quot;</td>
273         </tr>
274       </table>
275 </div><div class="memdoc">
276
277 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l00035">35</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
278
279 </div>
280 </div>
281 <h2 class="groupheader">Function Documentation</h2>
282 <a id="a88642b2e51aa08fd18fdfc8017c8d567"></a>
283 <h2 class="memtitle"><span class="permalink"><a href="#a88642b2e51aa08fd18fdfc8017c8d567">&#9670;&nbsp;</a></span>afbBindingV1Register()</h2>
284
285 <div class="memitem">
286 <div class="memproto">
287       <table class="memname">
288         <tr>
289           <td class="memname">const struct afb_binding* afbBindingV1Register </td>
290           <td>(</td>
291           <td class="paramtype">const struct afb_binding_interface *&#160;</td>
292           <td class="paramname"><em>itf</em></td><td>)</td>
293           <td></td>
294         </tr>
295       </table>
296 </div><div class="memdoc">
297
298 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l01137">1137</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
299
300 </div>
301 </div>
302 <a id="aace0247d919659df209ceb7dbeff6a2d"></a>
303 <h2 class="memtitle"><span class="permalink"><a href="#aace0247d919659df209ceb7dbeff6a2d">&#9670;&nbsp;</a></span>afbBindingV1ServiceInit()</h2>
304
305 <div class="memitem">
306 <div class="memproto">
307       <table class="memname">
308         <tr>
309           <td class="memname">int afbBindingV1ServiceInit </td>
310           <td>(</td>
311           <td class="paramtype">struct afb_service&#160;</td>
312           <td class="paramname"><em>service</em></td><td>)</td>
313           <td></td>
314         </tr>
315       </table>
316 </div><div class="memdoc">
317
318 <p class="definition">Definition at line <a class="el" href="soundmanager_8c_source.html#l01145">1145</a> of file <a class="el" href="soundmanager_8c_source.html">soundmanager.c</a>.</p>
319
320 </div>
321 </div>
322 </div><!-- contents -->
323 </div><!-- doc-content -->
324 <!-- start footer part -->
325 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
326   <ul>
327     <li class="navelem"><a class="el" href="dir_b967abc00200c877344b4504e6cbcf3f.html">SoundManagerBinding</a></li><li class="navelem"><a class="el" href="dir_85932083476b47061c69d172796990a3.html">soundmanager_binging</a></li><li class="navelem"><a class="el" href="soundmanager_8c.html">soundmanager.c</a></li>
328     <li class="footer">Generated by
329     <a href="http://www.doxygen.org/index.html">
330     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
331   </ul>
332 </div>
333 </body>
334 </html>