summaryrefslogtreecommitdiff
path: root/docs/CAmControlSender_8cpp_source.html
blob: da13acd7f2dfbb9e34e501f937b52d6e095fb585 (plain)
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>AudioManager: AudioManagerCore/src/CAmControlSender.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">AudioManager
   &#160;<span id="projectnumber">7.6.6</span>
   </div>
   <div id="projectbrief">Native Application Runtime Environment</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('CAmControlSender_8cpp_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">CAmControlSender.cpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="CAmControlSender_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CAmControlSender_8h.html">CAmControlSender.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;sys/stat.h&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;dirent.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="TAmPluginTemplate_8h.html">TAmPluginTemplate.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CAmDltWrapper_8h.html">CAmDltWrapper.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceam.html">am</a></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="CAmControlSender_8cpp.html#accf5fa8c8d8bbafa636dc7473685948b">   39</a></span>&#160;<span class="preprocessor">#define REQUIRED_INTERFACE_VERSION_MAJOR 1  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="CAmControlSender_8cpp.html#aaad5231037c0c12bf95bb42526c2bab8">   40</a></span>&#160;<span class="preprocessor">#define REQUIRED_INTERFACE_VERSION_MINOR 0 </span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;CAmControlSender* CAmControlSender::mInstance=NULL;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a5075231ff6f03655cf5559ddb7489c42">   44</a></span>&#160;<a class="code" href="classam_1_1CAmControlSender.html#af6ece21d3385f9599ce1bffe393d8c7f">CAmControlSender::CAmControlSender</a>(std::string controlPluginFile,<a class="code" href="classam_1_1CAmSocketHandler.html">CAmSocketHandler</a>* sockethandler) :</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        receiverCallbackT(this, &amp;<a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>::receiverCallback),<span class="comment">//</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        checkerCallbackT(this, &amp;<a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>::checkerCallback),<span class="comment">//</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        dispatcherCallbackT(this, &amp;<a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>::dispatcherCallback), <span class="comment">//</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        mPipe(), <span class="comment">//</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        mlibHandle(NULL), <span class="comment">//</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        mController(NULL), <span class="comment">//</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        mSignal(0)</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    assert(sockethandler);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="comment">//Check if a folder is given, then select the first plugin</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keyword">struct </span>stat buf;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span>* conFile(controlPluginFile.c_str());</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    stat(conFile, &amp;buf);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordflow">if</span> (S_ISDIR(buf.st_mode))</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    {</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        std::string directoryName(controlPluginFile);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <a class="code" href="namespaceam.html#a47d650dc91db97c1f9323b4ed5cf4fd6">logInfo</a>(<span class="stringliteral">&quot;Searching for ControlPlugin in&quot;</span>, directoryName);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        DIR *directory = opendir(directoryName.c_str());</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keywordflow">if</span> (!directory)</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;            <a class="code" href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">logError</a>(<span class="stringliteral">&quot;Error opening directory &quot;</span>, directoryName);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;            <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;Controller directory could not be openend&quot;</span>);</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        }</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="comment">// iterate content of directory</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <span class="keyword">struct </span>dirent *itemInDirectory = 0;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keywordflow">while</span> ((itemInDirectory = readdir(directory)))</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        {</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> entryType = itemInDirectory-&gt;d_type;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;            std::string entryName = itemInDirectory-&gt;d_name;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;            std::string fullName = directoryName + <span class="stringliteral">&quot;/&quot;</span> + entryName;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            <span class="keywordtype">bool</span> regularFile = (entryType == DT_REG || entryType == DT_LNK);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;            <span class="keywordtype">bool</span> sharedLibExtension = (<span class="stringliteral">&quot;so&quot;</span> == entryName.substr(entryName.find_last_of(<span class="stringliteral">&quot;.&quot;</span>) + 1));</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            <span class="comment">// Handle cases where readdir() could not determine the file type</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;            <span class="keywordflow">if</span> (entryType == DT_UNKNOWN) {</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                <span class="keyword">struct </span>stat buf;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                <span class="keywordflow">if</span> (stat(fullName.c_str(), &amp;buf)) {</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                    <a class="code" href="namespaceam.html#a47d650dc91db97c1f9323b4ed5cf4fd6">logInfo</a>(__PRETTY_FUNCTION__,<span class="stringliteral">&quot;Failed to stat file: &quot;</span>, entryName, errno);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                    <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                regularFile = S_ISREG(buf.st_mode);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;            }</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;            <span class="keywordflow">if</span> (regularFile &amp;&amp; sharedLibExtension)</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;            {</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                controlPluginFile=directoryName + <span class="stringliteral">&quot;/&quot;</span> + entryName;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                <a class="code" href="namespaceam.html#a47d650dc91db97c1f9323b4ed5cf4fd6">logInfo</a>(<span class="stringliteral">&quot;Found ControlPlugin:&quot;</span>, controlPluginFile);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            }</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        closedir(directory);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    </div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    }</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    </div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    std::ifstream isfile(controlPluginFile.c_str());</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordflow">if</span> (!isfile)</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    {</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <a class="code" href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">logError</a>(<span class="stringliteral">&quot;ControlSender::ControlSender: Controller plugin not found:&quot;</span>, controlPluginFile);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;Could not find controller plugin!&quot;</span>);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    }</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!controlPluginFile.empty())</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    {</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        mInstance=<span class="keyword">this</span>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <a class="code" href="classam_1_1IAmControlSend.html">IAmControlSend</a>* (*createFunc)();</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        createFunc = getCreateFunction&lt;IAmControlSend*()&gt;(controlPluginFile, mlibHandle);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        assert(createFunc!=NULL);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        mController = createFunc();</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        mControlPluginFile = controlPluginFile;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="comment">//check libversion</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        std::string version, cVersion(<a class="code" href="IAmControl_8h.html#ac8c9ea59b513da97f115ed3d6322d6ad">ControlVersion</a>);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a0eaec631c13a8e98cd7e13bc8c30c5f1">getInterfaceVersion</a>(version);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        uint16_t minorVersion, majorVersion, cMinorVersion, cMajorVersion;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        std::istringstream(version.substr(0, 1)) &gt;&gt; majorVersion;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        std::istringstream(version.substr(2, 1)) &gt;&gt; minorVersion;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        std::istringstream(cVersion.substr(0, 1)) &gt;&gt; cMajorVersion;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        std::istringstream(cVersion.substr(2, 1)) &gt;&gt; cMinorVersion;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        </div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        </div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <span class="keywordflow">if</span> (majorVersion &lt; cMajorVersion || ((majorVersion == cMajorVersion) &amp;&amp; (minorVersion &lt; cMinorVersion)))</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;            <a class="code" href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">logError</a>(<span class="stringliteral">&quot;ControlSender::ControlSender: Interface Version of Controller too old, required version:&quot;</span>,<a class="code" href="IAmControl_8h.html#ac8c9ea59b513da97f115ed3d6322d6ad">ControlVersion</a>,<span class="stringliteral">&quot; Controller Version:&quot;</span>,version,<span class="stringliteral">&quot;exiting now&quot;</span>);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;            <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;Interface Version of Controller too old&quot;</span>);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        }</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    }</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        <a class="code" href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">logError</a>(<span class="stringliteral">&quot;ControlSender::ControlSender: No controller loaded !&quot;</span>);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    }</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="comment">//here we need a pipe to be able to call the rundown function out of the mainloop</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">if</span> (pipe(mPipe) == -1)</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    {</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <a class="code" href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">logError</a>(<span class="stringliteral">&quot;CAmControlSender could not create pipe!&quot;</span>);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    }</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="comment">//add the pipe to the poll - nothing needs to be proccessed here we just need the pipe to trigger the ppoll</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordtype">short</span> <span class="keyword">event</span> = 0;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <a class="code" href="namespaceam.html#af782e2735b1adf1e43a9d530cee340aa">sh_pollHandle_t</a> handle;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keyword">event</span> |= POLLIN;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    sockethandler-&gt;<a class="code" href="classam_1_1CAmSocketHandler.html#a8ee49d4fbc44291bc6b99fa49fc0350a">addFDPoll</a>(mPipe[0], event, NULL, &amp;<a class="code" href="classam_1_1CAmControlSender.html#aea988dc0577c0e5d09610351ef034f66">receiverCallbackT</a>, &amp;<a class="code" href="classam_1_1CAmControlSender.html#ad8ff5682f685309d1dd18f020b6a3c45">checkerCallbackT</a>, &amp;<a class="code" href="classam_1_1CAmControlSender.html#a99d157d1d345cb08038d5ddbbfaddd46">dispatcherCallbackT</a>, NULL, handle);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;}</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a493ee4dcf1f7baf99ce92f7515213679">  154</a></span>&#160;<a class="code" href="classam_1_1CAmControlSender.html#a493ee4dcf1f7baf99ce92f7515213679">CAmControlSender::~CAmControlSender</a>()</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;{</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    close(mPipe[0]);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    close(mPipe[1]);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keywordflow">if</span> (mlibHandle)</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        void (*destroyFunc)(<a class="code" href="classam_1_1IAmControlSend.html">IAmControlSend</a>*);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        destroyFunc = getDestroyFunction&lt;void(IAmControlSend*)&gt;(mControlPluginFile, mlibHandle);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="keywordflow">if</span> (destroyFunc)</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        {</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;            destroyFunc(mController);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        }</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        {</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;            <a class="code" href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">logError</a>(<span class="stringliteral">&quot;CAmControlSender Dtor: destroyFunc is invalid or not found&quot;</span>);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        }</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        dlclose(mlibHandle);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    }</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ac1bdb116a00b8b75cf4c4558e184b832">  175</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ac1bdb116a00b8b75cf4c4558e184b832">CAmControlSender::hookUserConnectionRequest</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <a class="code" href="namespaceam.html#a33a5bb7641f58ab3a5f3b86400ad804c">am_mainConnectionID_t</a> &amp; mainConnectionID)</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    assert(mController);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a6c7daca73a1e74782a360771b01cfd5c">hookUserConnectionRequest</a>(sourceID, sinkID, mainConnectionID));</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;}</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a39bb9b4f25e1c162d6a3daf344944960">  181</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a39bb9b4f25e1c162d6a3daf344944960">CAmControlSender::hookUserDisconnectionRequest</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a33a5bb7641f58ab3a5f3b86400ad804c">am_mainConnectionID_t</a> connectionID)</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;{</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    assert(mController);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a8766543db01f4b0ac5dd747f2f4205f6">hookUserDisconnectionRequest</a>(connectionID));</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;}</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a0d93a02239f6a1bdc5279b03eae891bd">  187</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a0d93a02239f6a1bdc5279b03eae891bd">CAmControlSender::hookUserSetMainSinkSoundProperty</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__MainSoundProperty__s.html">am_MainSoundProperty_s</a> &amp; soundProperty)</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;{</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    assert(mController);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a5c650701fb40059f3f21694a8ddbd47d">hookUserSetMainSinkSoundProperty</a>(sinkID, soundProperty));</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;}</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ac809407580b0bfd81ad853320beb3a75">  193</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ac809407580b0bfd81ad853320beb3a75">CAmControlSender::hookUserSetMainSourceSoundProperty</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__MainSoundProperty__s.html">am_MainSoundProperty_s</a> &amp; soundProperty)</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;{</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    assert(mController);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a7a4952da0cdf7359d46efeef736c75a6">hookUserSetMainSourceSoundProperty</a>(sourceID, soundProperty));</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;}</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#af92be6d9b34c296d2ba1b5908c8d66a4">  199</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#af92be6d9b34c296d2ba1b5908c8d66a4">CAmControlSender::hookUserSetSystemProperty</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__SystemProperty__s.html">am_SystemProperty_s</a> &amp; property)</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;{</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    assert(mController);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#aff13395c4cb3130be4c918a86c9cf56e">hookUserSetSystemProperty</a>(property));</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;}</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ad9e6c45492e72c9994652d0f2a9d1abd">  205</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ad9e6c45492e72c9994652d0f2a9d1abd">CAmControlSender::hookUserVolumeChange</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a834886e7c3e4a2d6745ef2b59b485b00">am_mainVolume_t</a> newVolume)</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;{</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    assert(mController);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a46ef78b23a59cdc7ee9307ce8c934030">hookUserVolumeChange</a>(sinkID, newVolume));</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;}</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a3880c0627b1d1360120c6bb294d45cdf">  211</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a3880c0627b1d1360120c6bb294d45cdf">CAmControlSender::hookUserVolumeStep</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> int16_t increment)</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;{</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    assert(mController);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a5e3824e837500684d5f90b171be0e397">hookUserVolumeStep</a>(sinkID, increment));</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;}</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ad34e16a4b571a5dc70c7081f96015d53">  217</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ad34e16a4b571a5dc70c7081f96015d53">CAmControlSender::hookUserSetSinkMuteState</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#af9d68f1f1b0553906df4c90e9a860ffa">am_MuteState_e</a> muteState)</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;{</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    assert(mController);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ade2da944b84e2474f2052aa4cf3b5ae0">hookUserSetSinkMuteState</a>(sinkID, muteState));</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;}</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a8d08ef4107f58674435a0f7bc50ab84f">  223</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a8d08ef4107f58674435a0f7bc50ab84f">CAmControlSender::hookSystemRegisterDomain</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Domain__s.html">am_Domain_s</a> &amp; domainData, <a class="code" href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> &amp; domainID)</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;{</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    assert(mController);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a19adb45ff178867150f801608904eb56">hookSystemRegisterDomain</a>(domainData, domainID));</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;}</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a23259c09417c91ac1adf066acac4ca32">  229</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a23259c09417c91ac1adf066acac4ca32">CAmControlSender::hookSystemDeregisterDomain</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> domainID)</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    assert(mController);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ac193d4987d357e522be802c2e188dadd">hookSystemDeregisterDomain</a>(domainID));</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;}</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ab557fbfedaff1a1ac99c6e51d786e0f5">  235</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#ab557fbfedaff1a1ac99c6e51d786e0f5">CAmControlSender::hookSystemDomainRegistrationComplete</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> domainID)</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;{</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    assert(mController);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a1a8c6dc9dc211edfefab1c996d621ab8">hookSystemDomainRegistrationComplete</a>(domainID));</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;}</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a8d19d13415194e0f177f541e9673c569">  241</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a8d19d13415194e0f177f541e9673c569">CAmControlSender::hookSystemRegisterSink</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Sink__s.html">am_Sink_s</a> &amp; sinkData, <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> &amp; sinkID)</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;{</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    assert(mController);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a8da410be680cf652048f95e2941f9402">hookSystemRegisterSink</a>(sinkData, sinkID));</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;}</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ad6736a771e532feb75dbe90d2120eec6">  247</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ad6736a771e532feb75dbe90d2120eec6">CAmControlSender::hookSystemDeregisterSink</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID)</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;{</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    assert(mController);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ae1e7f801d0620b2f7087a761ea85976c">hookSystemDeregisterSink</a>(sinkID));</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;}</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ae8f9632e00e25cb2797a6f9368ded02b">  253</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ae8f9632e00e25cb2797a6f9368ded02b">CAmControlSender::hookSystemRegisterSource</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Source__s.html">am_Source_s</a> &amp; sourceData, <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> &amp; sourceID)</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;{</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    assert(mController);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a7ee7417734d6976d47899c614f7903de">hookSystemRegisterSource</a>(sourceData, sourceID));</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;}</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#afca65c0418b9f0830a568bff1014b3ca">  259</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#afca65c0418b9f0830a568bff1014b3ca">CAmControlSender::hookSystemDeregisterSource</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID)</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;{</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    assert(mController);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a206d0b9489520aeccf402bff31b39965">hookSystemDeregisterSource</a>(sourceID));</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;}</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a6596765114f1d64769ce48ce7068c6d2">  265</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a6596765114f1d64769ce48ce7068c6d2">CAmControlSender::hookSystemRegisterGateway</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Gateway__s.html">am_Gateway_s</a> &amp; gatewayData, <a class="code" href="namespaceam.html#af671cec58d6713a0c1e4eaa9c89613d5">am_gatewayID_t</a> &amp; gatewayID)</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;{</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    assert(mController);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a1f88f342cc533b839d07eefe3362b45d">hookSystemRegisterGateway</a>(gatewayData, gatewayID));</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;}</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ad366b9499db3824db2184ce33fd827bd">  271</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ad366b9499db3824db2184ce33fd827bd">CAmControlSender::hookSystemRegisterConverter</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Converter__s.html">am_Converter_s</a>&amp; converterData, <a class="code" href="namespaceam.html#a21f8ea45717692cd82c42c222a6ee3c8">am_converterID_t</a>&amp; converterID)</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;{</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    assert(mController);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ad559c7714947fcf4d719df4552b244d6">hookSystemRegisterConverter</a>(converterData, converterID));</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;}</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ab5d345660b91a8c972c6cf7a83dad60b">  277</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ab5d345660b91a8c972c6cf7a83dad60b">CAmControlSender::hookSystemDeregisterGateway</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#af671cec58d6713a0c1e4eaa9c89613d5">am_gatewayID_t</a> gatewayID)</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    assert(mController);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a5067bc239564697fd9c6f15026d5d06f">hookSystemDeregisterGateway</a>(gatewayID));</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;}</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a56ae1287a330adfad9276109ab0ad5a8">  283</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a56ae1287a330adfad9276109ab0ad5a8">CAmControlSender::hookSystemDeregisterConverter</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a21f8ea45717692cd82c42c222a6ee3c8">am_converterID_t</a> converterID)</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;{</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    assert(mController);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#aabf3bf19aacc34071ad37bfc8c51bf5a">hookSystemDeregisterConverter</a>(converterID));</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;}</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#abdcd10d01e5e55517beab1249086aae2">  289</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#abdcd10d01e5e55517beab1249086aae2">CAmControlSender::hookSystemRegisterCrossfader</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Crossfader__s.html">am_Crossfader_s</a> &amp; crossfaderData, <a class="code" href="namespaceam.html#aaf4c3deaf1b53aeac50503c75b4e5a31">am_crossfaderID_t</a> &amp; crossfaderID)</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;{</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    assert(mController);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#abe2d2f93c83fa7e9104aae7ba0a47f5b">hookSystemRegisterCrossfader</a>(crossfaderData, crossfaderID));</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;}</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#afa96b42c7128fca631011483744e7010">  295</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#afa96b42c7128fca631011483744e7010">CAmControlSender::hookSystemDeregisterCrossfader</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aaf4c3deaf1b53aeac50503c75b4e5a31">am_crossfaderID_t</a> crossfaderID)</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    assert(mController);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a9baa02aecfe369982364b16f73d82fb5">hookSystemDeregisterCrossfader</a>(crossfaderID));</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;}</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ab964493d75dd1b837edfee449efe20d7">  301</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#ab964493d75dd1b837edfee449efe20d7">CAmControlSender::hookSystemSinkVolumeTick</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a0ba72fdbafaa9e886e77aa4099c281ec">am_volume_t</a> volume)</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    assert(mController);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a6a5814402c82ea2bf229ac2d63862f06">hookSystemSinkVolumeTick</a>(handle, sinkID, volume);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;}</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#aa513e2bee2998261a640e5f3901704d9">  307</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#aa513e2bee2998261a640e5f3901704d9">CAmControlSender::hookSystemSourceVolumeTick</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a0ba72fdbafaa9e886e77aa4099c281ec">am_volume_t</a> volume)</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    assert(mController);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a85e03ec31a0e3f3810095ca3e6e6ab39">hookSystemSourceVolumeTick</a>(handle, sourceID, volume);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;}</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a986e7f985794ab4988a63cc49b1fb3f9">  313</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a986e7f985794ab4988a63cc49b1fb3f9">CAmControlSender::hookSystemInterruptStateChange</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a9bce055a917900b33c7fa5666ec00e22">am_InterruptState_e</a> interruptState)</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;{</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    assert(mController);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ac3b8d58456c49ad52b3aff6c1f93dfe2">hookSystemInterruptStateChange</a>(sourceID, interruptState);</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;}</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#aaace40abc06b07579865b279fde4b5b3">  319</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#aaace40abc06b07579865b279fde4b5b3">CAmControlSender::hookSystemSinkAvailablityStateChange</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__Availability__s.html">am_Availability_s</a> &amp; availability)</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;{</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    assert(mController);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#aa7dc874694477107daa61b95c64c8390">hookSystemSinkAvailablityStateChange</a>(sinkID, availability);</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;}</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#adbed8d711062d95e9ecbe7576d72de89">  325</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#adbed8d711062d95e9ecbe7576d72de89">CAmControlSender::hookSystemSourceAvailablityStateChange</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__Availability__s.html">am_Availability_s</a> &amp; availability)</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;{</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    assert(mController);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a89e2012e3c556d61b194bd2fa81487c6">hookSystemSourceAvailablityStateChange</a>(sourceID, availability);</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;}</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a5b5bc8a05e0cb75b7145f936764c2150">  331</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a5b5bc8a05e0cb75b7145f936764c2150">CAmControlSender::hookSystemDomainStateChange</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> domainID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a2e1718a0cd2d37bd5f989402b89c34a5">am_DomainState_e</a> state)</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;{</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    assert(mController);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#aa0773afa08479945b24568991e34b96a">hookSystemDomainStateChange</a>(domainID, state);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;}</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a11cf689ead2a35ad3eb781b1a3f4dd02">  337</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a11cf689ead2a35ad3eb781b1a3f4dd02">CAmControlSender::hookSystemReceiveEarlyData</a>(<span class="keyword">const</span> std::vector&lt;am_EarlyData_s&gt; &amp; data)</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    assert(mController);</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a4c49eb39f5478c4c56587e8fdbb08078">hookSystemReceiveEarlyData</a>(data);</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;}</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ae6e0d8d4edc396b2cc6e4b68b281df31">  343</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#ae6e0d8d4edc396b2cc6e4b68b281df31">CAmControlSender::hookSystemSpeedChange</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a01c1c639ee87e804885f92c69ca4a97c">am_speed_t</a> speed)</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;{</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    assert(mController);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a4b0e8f68a193ac8ea7fe1d9175a11380">hookSystemSpeedChange</a>(speed);</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;}</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ab299a4ca5edcb83f81618eb5d67cd7a3">  349</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#ab299a4ca5edcb83f81618eb5d67cd7a3">CAmControlSender::hookSystemTimingInformationChanged</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a33a5bb7641f58ab3a5f3b86400ad804c">am_mainConnectionID_t</a> mainConnectionID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#ad94ba90e3c8f6bd7e51a15a811755167">am_timeSync_t</a> time)</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;{</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    assert(mController);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a76fb11877cd69010199b996f9426fb0d">hookSystemTimingInformationChanged</a>(mainConnectionID, time);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;}</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a860fc09d07ab8d8f44bbeafacb897eb3">  355</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a860fc09d07ab8d8f44bbeafacb897eb3">CAmControlSender::cbAckConnect</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> errorID)</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    assert(mController);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#af5c964b32524b9268d1ebbd701f9955f">cbAckConnect</a>(handle, errorID);</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;}</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a94b200d6db39488a2cb59500339edeec">  361</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a94b200d6db39488a2cb59500339edeec">CAmControlSender::cbAckDisconnect</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> errorID)</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;{</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    assert(mController);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#afb0af13318c5cdd96dc8334870f41156">cbAckDisconnect</a>(handle, errorID);</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;}</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#aaa1eaeafeb8d3fe68b07a1217474d529">  367</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#aaa1eaeafeb8d3fe68b07a1217474d529">CAmControlSender::cbAckCrossFade</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#afc05253c20a9333f02f7a4b3f7762269">am_HotSink_e</a> hostsink, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;{</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    assert(mController);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a795eb8b4ac2c50eb3b5ec14bbf639cc4">cbAckCrossFade</a>(handle, hostsink, error);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;}</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ad72f53d6632cdf22959fede139fb27c5">  373</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#ad72f53d6632cdf22959fede139fb27c5">CAmControlSender::cbAckSetSinkVolumeChange</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a0ba72fdbafaa9e886e77aa4099c281ec">am_volume_t</a> volume, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;{</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    assert(mController);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a7de79e5bfd1ef0a6d24e0d817e7b8c13">cbAckSetSinkVolumeChange</a>(handle, volume, error);</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;}</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#adf5c8c1e16207db2e47c99f38bf196e7">  379</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#adf5c8c1e16207db2e47c99f38bf196e7">CAmControlSender::cbAckSetSourceVolumeChange</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a0ba72fdbafaa9e886e77aa4099c281ec">am_volume_t</a> volume, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;{</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    assert(mController);</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a45180aa9a4aedf0cab8214961013c9ee">cbAckSetSourceVolumeChange</a>(handle, volume, error);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;}</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#af34d246772ac308320740cdfc0c7a415">  385</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#af34d246772ac308320740cdfc0c7a415">CAmControlSender::cbAckSetSourceState</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;{</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    assert(mController);</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a411aaaf89f7d19ccfb09aac1c6734df8">cbAckSetSourceState</a>(handle, error);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;}</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a1302ac87a9e252e3a6e5ad38925bffff">  391</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a1302ac87a9e252e3a6e5ad38925bffff">CAmControlSender::cbAckSetSourceSoundProperty</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;{</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    assert(mController);</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a3adcb322f2bdea1f9e386e4a9d07a2e1">cbAckSetSourceSoundProperty</a>(handle, error);</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;}</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#aa462eb56d64c178b9f065b0e4ef6bc33">  397</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#aa462eb56d64c178b9f065b0e4ef6bc33">CAmControlSender::startupController</a>(<a class="code" href="classam_1_1IAmControlReceive.html">IAmControlReceive</a> *controlreceiveinterface)</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;{</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <span class="keywordflow">if</span> (!mController)</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    {</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        <a class="code" href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">logError</a>(<span class="stringliteral">&quot;ControlSender::startupController: no Controller to startup!&quot;</span>);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;ControlSender::startupController: no Controller to startup! Exiting now ...&quot;</span>);</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4cea0f1d576f3d17aa86498a61ec9d8a6453">E_NON_EXISTENT</a>);</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    }</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a2d2ac929f577498633d223c4194054f5">startupController</a>(controlreceiveinterface));</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;}</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a38cc36342c63abe0d163edea4bd460f9">  408</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a38cc36342c63abe0d163edea4bd460f9">CAmControlSender::cbAckSetSinkSoundProperty</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;{</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    assert(mController);</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a523341b43629a1cf3adf2a03b2b2bacd">cbAckSetSinkSoundProperty</a>(handle, error);</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;}</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a2d986d73268ef02a167151b62dd155e4">  414</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a2d986d73268ef02a167151b62dd155e4">CAmControlSender::cbAckSetSinkSoundProperties</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;{</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    assert(mController);</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a1fa99fa2d2edce3e8841dfc9e226c9da">cbAckSetSinkSoundProperties</a>(handle, error);</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;}</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#aa88c9c0e0e828de6c5b218f2bbde4aae">  420</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#aa88c9c0e0e828de6c5b218f2bbde4aae">CAmControlSender::cbAckSetSourceSoundProperties</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;{</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    assert(mController);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ae83380db1d35b9b653cd4b892352a39b">cbAckSetSourceSoundProperties</a>(handle, error);</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;}</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a9ed2db1aa1e1b48db96f7356a55435fc">  426</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a9ed2db1aa1e1b48db96f7356a55435fc">CAmControlSender::setControllerReady</a>()</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;{</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    assert(mController);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a492ed9ab0bac42192ee66240ab82eaf3">setControllerReady</a>();</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;}</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a81e71a98de468e79c5422fb02113aec5">  432</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a81e71a98de468e79c5422fb02113aec5">CAmControlSender::setControllerRundown</a>(<span class="keyword">const</span> int16_t signal)</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;{</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    assert(mController);</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <a class="code" href="namespaceam.html#a47d650dc91db97c1f9323b4ed5cf4fd6">logInfo</a>(<span class="stringliteral">&quot;CAmControlSender::setControllerRundown received, signal=&quot;</span>,signal);</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a3fa49b5d984c07117b7506557eb7daab">setControllerRundown</a>(signal);</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;}</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a78de0729435fd75879d1c0ef94cd7106">  439</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a78de0729435fd75879d1c0ef94cd7106">am::CAmControlSender::getConnectionFormatChoice</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__Route__s.html">am_Route_s</a> listRoute, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt; listPossibleConnectionFormats, std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; listPrioConnectionFormats)</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;{</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    assert(mController);</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a7f54417c24637b91e0079187caecd3d3">getConnectionFormatChoice</a>(sourceID, sinkID, listRoute, listPossibleConnectionFormats, listPrioConnectionFormats));</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;}</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a04117188812edfedac49c45edad74918">  445</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a04117188812edfedac49c45edad74918">CAmControlSender::getInterfaceVersion</a>(std::string &amp; version)<span class="keyword"> const</span></div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    version = <a class="code" href="IAmControl_8h.html#ac8c9ea59b513da97f115ed3d6322d6ad">ControlVersion</a>;</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;}</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ad57f83fec6cdaba8dd84d2e16b8f00d5">  450</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#ad57f83fec6cdaba8dd84d2e16b8f00d5">CAmControlSender::confirmCommandReady</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;{</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    assert(mController);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#afeec1947803ab015afe385885222dd23">confirmCommandReady</a>(error);</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;}</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#abe66bb8fe1836496dc623960da9d16f2">  456</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#abe66bb8fe1836496dc623960da9d16f2">CAmControlSender::confirmRoutingReady</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;{</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    assert(mController);</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#af1757d4f2fbc6ad1c9346f53558b1364">confirmRoutingReady</a>(error);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;}</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ad7d8499e2a4064e02a606277df3ca5ad">  462</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#ad7d8499e2a4064e02a606277df3ca5ad">CAmControlSender::confirmCommandRundown</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;{</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    assert(mController);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a851aa10941357f6ede340e4e3c0caa72">confirmCommandRundown</a>(error);</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;}</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#adf9bc70ad78f14e7af98284a2e6a0c91">  468</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#adf9bc70ad78f14e7af98284a2e6a0c91">CAmControlSender::confirmRoutingRundown</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;{</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    assert(mController);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ac8997d2c07ca17d0dff92291e5ebd7b0">confirmRoutingRundown</a>(error);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;}</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a7f3bf974ffb35ccf02622127967de341">  474</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a7f3bf974ffb35ccf02622127967de341">CAmControlSender::hookSystemUpdateSink</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a2aa2a1e9d9c5a5cc4cb48b5b9c9a222f">am_sinkClass_t</a> sinkClassID, <span class="keyword">const</span> std::vector&lt;am_SoundProperty_s&gt;&amp; listSoundProperties, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt;&amp; listConnectionFormats, <span class="keyword">const</span> std::vector&lt;am_MainSoundProperty_s&gt;&amp; listMainSoundProperties)</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;{</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    assert(mController);</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#aae3cd3025c36ce1a735c60510c560186">hookSystemUpdateSink</a>(sinkID,sinkClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;}</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#abcf7efc501fa8e7d121e2bccab105d39">  480</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#abcf7efc501fa8e7d121e2bccab105d39">CAmControlSender::hookSystemUpdateSource</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a8b8fc2ab1ac4d427ca85fe8549e6afd0">am_sourceClass_t</a> sourceClassID, <span class="keyword">const</span> std::vector&lt;am_SoundProperty_s&gt;&amp; listSoundProperties, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt;&amp; listConnectionFormats, <span class="keyword">const</span> std::vector&lt;am_MainSoundProperty_s&gt;&amp; listMainSoundProperties)</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;{</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    assert(mController);</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a784f5fa94e92d36ed39f90a4a61c74cd">hookSystemUpdateSource</a>(sourceID,sourceClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;}</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;</div><div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ab4334176792bcc60de95f7568edcd332">  486</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ab4334176792bcc60de95f7568edcd332">CAmControlSender::hookSystemUpdateGateway</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#af671cec58d6713a0c1e4eaa9c89613d5">am_gatewayID_t</a> gatewayID, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt;&amp; listSourceConnectionFormats, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt;&amp; listSinkConnectionFromats, <span class="keyword">const</span> std::vector&lt;bool&gt;&amp; convertionMatrix)</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;{</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    assert(mController);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#add6036a1f88634ad6e9fa74a7eb8d9c3">hookSystemUpdateGateway</a>(gatewayID,listSourceConnectionFormats,listSinkConnectionFromats,convertionMatrix));</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;}</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a6f77683e7c7e9f5298dd59970c6c5afb">  492</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a6f77683e7c7e9f5298dd59970c6c5afb">CAmControlSender::hookSystemUpdateConverter</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a21f8ea45717692cd82c42c222a6ee3c8">am_converterID_t</a> converterID, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt;&amp; listSourceConnectionFormats, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt;&amp; listSinkConnectionFromats, <span class="keyword">const</span> std::vector&lt;bool&gt;&amp; convertionMatrix)</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;{</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    assert(mController);</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#ac07c4d8bcb89f43e084f319308f1b252">hookSystemUpdateConverter</a>(converterID,listSourceConnectionFormats,listSinkConnectionFromats,convertionMatrix));</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;}</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#af69aa3145127e0f9ba29728fd0e75b7f">  498</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#af69aa3145127e0f9ba29728fd0e75b7f">CAmControlSender::cbAckSetVolume</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> std::vector&lt;am_Volumes_s&gt;&amp; listVolumes, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;{</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    assert(mController);</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a871851b07faa0808088f5270f7788652">cbAckSetVolumes</a>(handle,listVolumes,error);</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;}</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a6022d701a671a6776c1066d5bb8394ae">  504</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a6022d701a671a6776c1066d5bb8394ae">CAmControlSender::cbAckSetSinkNotificationConfiguration</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;{</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    assert(mController);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a00be1fd1fa2aa657042e97b9533b6cbf">cbAckSetSinkNotificationConfiguration</a>(handle,error);</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;}</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a8c19a72986d3fbaec14740d659b994be">  510</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a8c19a72986d3fbaec14740d659b994be">CAmControlSender::cbAckSetSourceNotificationConfiguration</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__Handle__s.html">am_Handle_s</a> handle, <span class="keyword">const</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> error)</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;{</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    assert(mController);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a509053b30cd6310110dad0fc8bea819e">cbAckSetSourceNotificationConfiguration</a>(handle,error);</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;}</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#abb1198366d007af454087cde09077f15">  516</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#abb1198366d007af454087cde09077f15">CAmControlSender::hookSinkNotificationDataChanged</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__NotificationPayload__s.html">am_NotificationPayload_s</a>&amp; payload)</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;{</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    assert(mController);</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a47963dfe663b99d71172bb54d1e31e34">hookSinkNotificationDataChanged</a>(sinkID,payload);</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;}</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;</div><div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a5d230a951b1eac878581e0e7b508b7c0">  522</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a5d230a951b1eac878581e0e7b508b7c0">CAmControlSender::hookSourceNotificationDataChanged</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__NotificationPayload__s.html">am_NotificationPayload_s</a>&amp; payload)</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;{</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    assert(mController);</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a64f209d9dcbcd1cb5cce4ebbc8236fc1">hookSourceNotificationDataChanged</a>(sourceID,payload);</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;}</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a16a0498beb28d7491656fba5407b84ba">  528</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#a16a0498beb28d7491656fba5407b84ba">CAmControlSender::hookUserSetMainSinkNotificationConfiguration</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__NotificationConfiguration__s.html">am_NotificationConfiguration_s</a>&amp; notificationConfiguration)</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;{</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    assert(mController);</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a9b297c03a6239be2c45bef687c0d4def">hookUserSetMainSinkNotificationConfiguration</a>(sinkID,notificationConfiguration));</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;}</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ae84b7b255db7b4527063539047dae4ef">  534</a></span>&#160;<a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> <a class="code" href="classam_1_1CAmControlSender.html#ae84b7b255db7b4527063539047dae4ef">CAmControlSender::hookUserSetMainSourceNotificationConfiguration</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID, <span class="keyword">const</span> <a class="code" href="structam_1_1am__NotificationConfiguration__s.html">am_NotificationConfiguration_s</a>&amp; notificationConfiguration)</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;{</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    assert(mController);</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="keywordflow">return</span> (mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#aa6f94e59485a962830c7e957cfb1fe49">hookUserSetMainSourceNotificationConfiguration</a>(sourceID,notificationConfiguration));</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;}</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;</div><div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a57e3b3d6356fe6359f63a6e7052cbefc">  540</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a57e3b3d6356fe6359f63a6e7052cbefc">CAmControlSender::receiverCallback</a>(<span class="keyword">const</span> pollfd pollfd, <span class="keyword">const</span> <a class="code" href="namespaceam.html#af782e2735b1adf1e43a9d530cee340aa">sh_pollHandle_t</a> handle, <span class="keywordtype">void</span>* userData)</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;{</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;   (void) handle;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;   (void) userData;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;   <span class="comment">//get the signal number from the socket</span></div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;   ssize_t result = read(pollfd.fd, &amp;mSignal, <span class="keyword">sizeof</span>(mSignal));</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;}</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;</div><div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#ae60a8653137fde722872d34cae686d15">  548</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classam_1_1CAmControlSender.html#ae60a8653137fde722872d34cae686d15">CAmControlSender::checkerCallback</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#af782e2735b1adf1e43a9d530cee340aa">sh_pollHandle_t</a> handle, <span class="keywordtype">void</span>* userData)</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;{</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;   (void) handle;</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;   (void) userData;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;   <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;}</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#a20b99dc1e2ae52653f86bc92c5fa7e6f">  555</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmControlSender.html#a20b99dc1e2ae52653f86bc92c5fa7e6f">CAmControlSender::hookSystemSingleTimingInformationChanged</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aee5e4e9b864d3867a896b6cdceed6ff4">am_connectionID_t</a> connectionID, <span class="keyword">const</span> <a class="code" href="namespaceam.html#ad94ba90e3c8f6bd7e51a15a811755167">am_timeSync_t</a> time)</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;{</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    assert(mController);</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    mController-&gt;<a class="code" href="classam_1_1IAmControlSend.html#a96f39617e1ecaf021d544b5d4048bc5b">hookSystemSingleTimingInformationChanged</a>(connectionID,time);</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;}</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#af6ece21d3385f9599ce1bffe393d8c7f">  564</a></span>&#160;<a class="code" href="classam_1_1CAmControlSender.html#af6ece21d3385f9599ce1bffe393d8c7f">CAmControlSender::CAmControlSender</a>() :</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <a class="code" href="classam_1_1CAmControlSender.html#aea988dc0577c0e5d09610351ef034f66">receiverCallbackT</a>(this, &amp;<a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>::<a class="code" href="classam_1_1CAmControlSender.html#a57e3b3d6356fe6359f63a6e7052cbefc">receiverCallback</a>),<span class="comment">//</span></div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <a class="code" href="classam_1_1CAmControlSender.html#ad8ff5682f685309d1dd18f020b6a3c45">checkerCallbackT</a>(this, &amp;<a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>::<a class="code" href="classam_1_1CAmControlSender.html#ae60a8653137fde722872d34cae686d15">checkerCallback</a>),<span class="comment">//</span></div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <a class="code" href="classam_1_1CAmControlSender.html#a99d157d1d345cb08038d5ddbbfaddd46">dispatcherCallbackT</a>(this, &amp;<a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>::<a class="code" href="classam_1_1CAmControlSender.html#af4914756d3de29e3f2e50fe75d287adc">dispatcherCallback</a>), <span class="comment">//</span></div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    mPipe(), <span class="comment">//</span></div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    mlibHandle(NULL), <span class="comment">//</span></div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    mController(NULL), <span class="comment">//</span></div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    mSignal(0)</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;{</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <a class="code" href="namespaceam.html#a47d650dc91db97c1f9323b4ed5cf4fd6">logInfo</a>(<span class="stringliteral">&quot;CAmControlSender was loaded in test mode!&quot;</span>);</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;}</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classam_1_1CAmControlSender.html#af4914756d3de29e3f2e50fe75d287adc">  576</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classam_1_1CAmControlSender.html#af4914756d3de29e3f2e50fe75d287adc">CAmControlSender::dispatcherCallback</a>(<span class="keyword">const</span> <a class="code" href="namespaceam.html#af782e2735b1adf1e43a9d530cee340aa">sh_pollHandle_t</a> handle, <span class="keywordtype">void</span>* userData)</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;{</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;   (void)handle;</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;   (void)userData;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;   <a class="code" href="classam_1_1CAmControlSender.html#a81e71a98de468e79c5422fb02113aec5">setControllerRundown</a>(mSignal);</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;   <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;}</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;}</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;</div><div class="ttc" id="TAmPluginTemplate_8h_html"><div class="ttname"><a href="TAmPluginTemplate_8h.html">TAmPluginTemplate.h</a></div><div class="ttdoc">SPDX license identifier: MPL-2.0. </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a493ee4dcf1f7baf99ce92f7515213679"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a493ee4dcf1f7baf99ce92f7515213679">am::CAmControlSender::~CAmControlSender</a></div><div class="ttdeci">~CAmControlSender()</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00154">CAmControlSender.cpp:154</a></div></div>
<div class="ttc" id="namespaceam_html_aee5e4e9b864d3867a896b6cdceed6ff4"><div class="ttname"><a href="namespaceam.html#aee5e4e9b864d3867a896b6cdceed6ff4">am::am_connectionID_t</a></div><div class="ttdeci">uint16_t am_connectionID_t</div><div class="ttdoc">a connection ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00055">audiomanagertypes.h:55</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ae60a8653137fde722872d34cae686d15"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ae60a8653137fde722872d34cae686d15">am::CAmControlSender::checkerCallback</a></div><div class="ttdeci">bool checkerCallback(const sh_pollHandle_t handle, void *userData)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00548">CAmControlSender.cpp:548</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_af4914756d3de29e3f2e50fe75d287adc"><div class="ttname"><a href="classam_1_1CAmControlSender.html#af4914756d3de29e3f2e50fe75d287adc">am::CAmControlSender::dispatcherCallback</a></div><div class="ttdeci">bool dispatcherCallback(const sh_pollHandle_t handle, void *userData)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00576">CAmControlSender.cpp:576</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad9e6c45492e72c9994652d0f2a9d1abd"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad9e6c45492e72c9994652d0f2a9d1abd">am::CAmControlSender::hookUserVolumeChange</a></div><div class="ttdeci">am_Error_e hookUserVolumeChange(const am_sinkID_t SinkID, const am_mainVolume_t newVolume)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00205">CAmControlSender.cpp:205</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a04117188812edfedac49c45edad74918"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a04117188812edfedac49c45edad74918">am::CAmControlSender::getInterfaceVersion</a></div><div class="ttdeci">void getInterfaceVersion(std::string &amp;version) const </div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00445">CAmControlSender.cpp:445</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_adbed8d711062d95e9ecbe7576d72de89"><div class="ttname"><a href="classam_1_1CAmControlSender.html#adbed8d711062d95e9ecbe7576d72de89">am::CAmControlSender::hookSystemSourceAvailablityStateChange</a></div><div class="ttdeci">void hookSystemSourceAvailablityStateChange(const am_sourceID_t sourceID, const am_Availability_s &amp;availability)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00325">CAmControlSender.cpp:325</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ab4334176792bcc60de95f7568edcd332"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ab4334176792bcc60de95f7568edcd332">am::CAmControlSender::hookSystemUpdateGateway</a></div><div class="ttdeci">am_Error_e hookSystemUpdateGateway(const am_gatewayID_t gatewayID, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSourceConnectionFormats, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSinkConnectionFromats, const std::vector&lt; bool &gt; &amp;convertionMatrix)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00486">CAmControlSender.cpp:486</a></div></div>
<div class="ttc" id="namespaceam_html"><div class="ttname"><a href="namespaceam.html">am</a></div><div class="ttdoc">A Common-API wrapper class, which loads the common-api runtime and instantiates all necessary objects...</div><div class="ttdef"><b>Definition:</b> <a href="CAmCommandReceiver_8h_source.html#l00029">CAmCommandReceiver.h:29</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a46ef78b23a59cdc7ee9307ce8c934030"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a46ef78b23a59cdc7ee9307ce8c934030">am::IAmControlSend::hookUserVolumeChange</a></div><div class="ttdeci">virtual am_Error_e hookUserVolumeChange(const am_sinkID_t SinkID, const am_mainVolume_t newVolume)=0</div><div class="ttdoc">sets a user volume </div></div>
<div class="ttc" id="namespaceam_html_aa3dcb70029da317d661b6f422de1b4cea0f1d576f3d17aa86498a61ec9d8a6453"><div class="ttname"><a href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4cea0f1d576f3d17aa86498a61ec9d8a6453">am::E_NON_EXISTENT</a></div><div class="ttdoc">the desired object is non existent </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00374">audiomanagertypes.h:374</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a2d986d73268ef02a167151b62dd155e4"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a2d986d73268ef02a167151b62dd155e4">am::CAmControlSender::cbAckSetSinkSoundProperties</a></div><div class="ttdeci">void cbAckSetSinkSoundProperties(const am_Handle_s handle, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00414">CAmControlSender.cpp:414</a></div></div>
<div class="ttc" id="namespaceam_html_a2aa2a1e9d9c5a5cc4cb48b5b9c9a222f"><div class="ttname"><a href="namespaceam.html#a2aa2a1e9d9c5a5cc4cb48b5b9c9a222f">am::am_sinkClass_t</a></div><div class="ttdeci">uint16_t am_sinkClass_t</div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00104">audiomanagertypes.h:104</a></div></div>
<div class="ttc" id="namespaceam_html_aa3dcb70029da317d661b6f422de1b4ce"><div class="ttname"><a href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am::am_Error_e</a></div><div class="ttdeci">am_Error_e</div><div class="ttdoc">the errors of the audiomanager. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00337">audiomanagertypes.h:337</a></div></div>
<div class="ttc" id="namespaceam_html_a9bce055a917900b33c7fa5666ec00e22"><div class="ttname"><a href="namespaceam.html#a9bce055a917900b33c7fa5666ec00e22">am::am_InterruptState_e</a></div><div class="ttdeci">am_InterruptState_e</div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00454">audiomanagertypes.h:454</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a0d93a02239f6a1bdc5279b03eae891bd"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a0d93a02239f6a1bdc5279b03eae891bd">am::CAmControlSender::hookUserSetMainSinkSoundProperty</a></div><div class="ttdeci">am_Error_e hookUserSetMainSinkSoundProperty(const am_sinkID_t sinkID, const am_MainSoundProperty_s &amp;soundProperty)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00187">CAmControlSender.cpp:187</a></div></div>
<div class="ttc" id="structam_1_1am__NotificationConfiguration__s_html"><div class="ttname"><a href="structam_1_1am__NotificationConfiguration__s.html">am::am_NotificationConfiguration_s</a></div><div class="ttdoc">This struct holds information about the configuration for notifications. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01109">audiomanagertypes.h:1109</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a8d19d13415194e0f177f541e9673c569"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a8d19d13415194e0f177f541e9673c569">am::CAmControlSender::hookSystemRegisterSink</a></div><div class="ttdeci">am_Error_e hookSystemRegisterSink(const am_Sink_s &amp;sinkData, am_sinkID_t &amp;sinkID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00241">CAmControlSender.cpp:241</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_afa96b42c7128fca631011483744e7010"><div class="ttname"><a href="classam_1_1CAmControlSender.html#afa96b42c7128fca631011483744e7010">am::CAmControlSender::hookSystemDeregisterCrossfader</a></div><div class="ttdeci">am_Error_e hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00295">CAmControlSender.cpp:295</a></div></div>
<div class="ttc" id="namespaceam_html_a47d650dc91db97c1f9323b4ed5cf4fd6"><div class="ttname"><a href="namespaceam.html#a47d650dc91db97c1f9323b4ed5cf4fd6">am::logInfo</a></div><div class="ttdeci">void logInfo(T value, TArgs...args)</div><div class="ttdoc">logs given values with infolevel with the default context </div><div class="ttdef"><b>Definition:</b> <a href="CAmDltWrapper_8h_source.html#l00420">CAmDltWrapper.h:420</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_aa0773afa08479945b24568991e34b96a"><div class="ttname"><a href="classam_1_1IAmControlSend.html#aa0773afa08479945b24568991e34b96a">am::IAmControlSend::hookSystemDomainStateChange</a></div><div class="ttdeci">virtual void hookSystemDomainStateChange(const am_domainID_t domainID, const am_DomainState_e state)=0</div><div class="ttdoc">id called when domainstate was changed </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a39bb9b4f25e1c162d6a3daf344944960"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a39bb9b4f25e1c162d6a3daf344944960">am::CAmControlSender::hookUserDisconnectionRequest</a></div><div class="ttdeci">am_Error_e hookUserDisconnectionRequest(const am_mainConnectionID_t connectionID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00181">CAmControlSender.cpp:181</a></div></div>
<div class="ttc" id="namespaceam_html_af9d68f1f1b0553906df4c90e9a860ffa"><div class="ttname"><a href="namespaceam.html#af9d68f1f1b0553906df4c90e9a860ffa">am::am_MuteState_e</a></div><div class="ttdeci">am_MuteState_e</div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00392">audiomanagertypes.h:392</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a986e7f985794ab4988a63cc49b1fb3f9"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a986e7f985794ab4988a63cc49b1fb3f9">am::CAmControlSender::hookSystemInterruptStateChange</a></div><div class="ttdeci">void hookSystemInterruptStateChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00313">CAmControlSender.cpp:313</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ab557fbfedaff1a1ac99c6e51d786e0f5"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ab557fbfedaff1a1ac99c6e51d786e0f5">am::CAmControlSender::hookSystemDomainRegistrationComplete</a></div><div class="ttdeci">void hookSystemDomainRegistrationComplete(const am_domainID_t domainID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00235">CAmControlSender.cpp:235</a></div></div>
<div class="ttc" id="structam_1_1am__Sink__s_html"><div class="ttname"><a href="structam_1_1am__Sink__s.html">am::am_Sink_s</a></div><div class="ttdoc">This struct describes the attribiutes of a sink. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01137">audiomanagertypes.h:1137</a></div></div>
<div class="ttc" id="structam_1_1am__NotificationPayload__s_html"><div class="ttname"><a href="structam_1_1am__NotificationPayload__s.html">am::am_NotificationPayload_s</a></div><div class="ttdoc">This struct holds the payload of a notification. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01090">audiomanagertypes.h:1090</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a9baa02aecfe369982364b16f73d82fb5"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a9baa02aecfe369982364b16f73d82fb5">am::IAmControlSend::hookSystemDeregisterCrossfader</a></div><div class="ttdeci">virtual am_Error_e hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID)=0</div><div class="ttdoc">is called when a routing adaptor deregisters a crossfader </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a6022d701a671a6776c1066d5bb8394ae"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a6022d701a671a6776c1066d5bb8394ae">am::CAmControlSender::cbAckSetSinkNotificationConfiguration</a></div><div class="ttdeci">void cbAckSetSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00504">CAmControlSender.cpp:504</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_abe66bb8fe1836496dc623960da9d16f2"><div class="ttname"><a href="classam_1_1CAmControlSender.html#abe66bb8fe1836496dc623960da9d16f2">am::CAmControlSender::confirmRoutingReady</a></div><div class="ttdeci">void confirmRoutingReady(const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00456">CAmControlSender.cpp:456</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a492ed9ab0bac42192ee66240ab82eaf3"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a492ed9ab0bac42192ee66240ab82eaf3">am::IAmControlSend::setControllerReady</a></div><div class="ttdeci">virtual void setControllerReady()=0</div><div class="ttdoc">this message is used tell the controller that it should get ready. </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a784f5fa94e92d36ed39f90a4a61c74cd"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a784f5fa94e92d36ed39f90a4a61c74cd">am::IAmControlSend::hookSystemUpdateSource</a></div><div class="ttdeci">virtual am_Error_e hookSystemUpdateSource(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector&lt; am_SoundProperty_s &gt; &amp;listSoundProperties, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listConnectionFormats, const std::vector&lt; am_MainSoundProperty_s &gt; &amp;listMainSoundProperties)=0</div><div class="ttdoc">update from the source Data </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_abb1198366d007af454087cde09077f15"><div class="ttname"><a href="classam_1_1CAmControlSender.html#abb1198366d007af454087cde09077f15">am::CAmControlSender::hookSinkNotificationDataChanged</a></div><div class="ttdeci">void hookSinkNotificationDataChanged(const am_sinkID_t sinkID, const am_NotificationPayload_s &amp;payload)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00516">CAmControlSender.cpp:516</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a7f54417c24637b91e0079187caecd3d3"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a7f54417c24637b91e0079187caecd3d3">am::IAmControlSend::getConnectionFormatChoice</a></div><div class="ttdeci">virtual am_Error_e getConnectionFormatChoice(const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_Route_s listRoute, const std::vector&lt; am_CustomConnectionFormat_t &gt; listPossibleConnectionFormats, std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listPrioConnectionFormats)=0</div><div class="ttdoc">This function is used by the routing algorithm to retrieve a priorized list of connectionFormats from...</div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad6736a771e532feb75dbe90d2120eec6"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad6736a771e532feb75dbe90d2120eec6">am::CAmControlSender::hookSystemDeregisterSink</a></div><div class="ttdeci">am_Error_e hookSystemDeregisterSink(const am_sinkID_t sinkID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00247">CAmControlSender.cpp:247</a></div></div>
<div class="ttc" id="structam_1_1am__Domain__s_html"><div class="ttname"><a href="structam_1_1am__Domain__s.html">am::am_Domain_s</a></div><div class="ttdoc">This struct describes the attribiutes of a domain. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01342">audiomanagertypes.h:1342</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_af5c964b32524b9268d1ebbd701f9955f"><div class="ttname"><a href="classam_1_1IAmControlSend.html#af5c964b32524b9268d1ebbd701f9955f">am::IAmControlSend::cbAckConnect</a></div><div class="ttdeci">virtual void cbAckConnect(const am_Handle_s handle, const am_Error_e errorID)=0</div><div class="ttdoc">ack for connect </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_aa462eb56d64c178b9f065b0e4ef6bc33"><div class="ttname"><a href="classam_1_1CAmControlSender.html#aa462eb56d64c178b9f065b0e4ef6bc33">am::CAmControlSender::startupController</a></div><div class="ttdeci">am_Error_e startupController(IAmControlReceive *controlreceiveinterface)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00397">CAmControlSender.cpp:397</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a7de79e5bfd1ef0a6d24e0d817e7b8c13"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a7de79e5bfd1ef0a6d24e0d817e7b8c13">am::IAmControlSend::cbAckSetSinkVolumeChange</a></div><div class="ttdeci">virtual void cbAckSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)=0</div><div class="ttdoc">ack for sink volume changes </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a7f3bf974ffb35ccf02622127967de341"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a7f3bf974ffb35ccf02622127967de341">am::CAmControlSender::hookSystemUpdateSink</a></div><div class="ttdeci">am_Error_e hookSystemUpdateSink(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector&lt; am_SoundProperty_s &gt; &amp;listSoundProperties, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listConnectionFormats, const std::vector&lt; am_MainSoundProperty_s &gt; &amp;listMainSoundProperties)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00474">CAmControlSender.cpp:474</a></div></div>
<div class="ttc" id="IAmControl_8h_html_ac8c9ea59b513da97f115ed3d6322d6ad"><div class="ttname"><a href="IAmControl_8h.html#ac8c9ea59b513da97f115ed3d6322d6ad">ControlVersion</a></div><div class="ttdeci">#define ControlVersion</div><div class="ttdef"><b>Definition:</b> <a href="IAmControl_8h_source.html#l00035">IAmControl.h:35</a></div></div>
<div class="ttc" id="namespaceam_html_aaf4c3deaf1b53aeac50503c75b4e5a31"><div class="ttname"><a href="namespaceam.html#aaf4c3deaf1b53aeac50503c75b4e5a31">am::am_crossfaderID_t</a></div><div class="ttdeci">uint16_t am_crossfaderID_t</div><div class="ttdoc">a crossfader ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00050">audiomanagertypes.h:50</a></div></div>
<div class="ttc" id="classam_1_1CAmSocketHandler_html"><div class="ttname"><a href="classam_1_1CAmSocketHandler.html">am::CAmSocketHandler</a></div><div class="ttdoc">The am::CAmSocketHandler implements a mainloop for the AudioManager. </div><div class="ttdef"><b>Definition:</b> <a href="CAmSocketHandler_8h_source.html#l00216">CAmSocketHandler.h:216</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a47963dfe663b99d71172bb54d1e31e34"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a47963dfe663b99d71172bb54d1e31e34">am::IAmControlSend::hookSinkNotificationDataChanged</a></div><div class="ttdeci">virtual void hookSinkNotificationDataChanged(const am_sinkID_t sinkID, const am_NotificationPayload_s &amp;payload)=0</div><div class="ttdoc">new sinkNotification data is there! </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_af92be6d9b34c296d2ba1b5908c8d66a4"><div class="ttname"><a href="classam_1_1CAmControlSender.html#af92be6d9b34c296d2ba1b5908c8d66a4">am::CAmControlSender::hookUserSetSystemProperty</a></div><div class="ttdeci">am_Error_e hookUserSetSystemProperty(const am_SystemProperty_s &amp;property)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00199">CAmControlSender.cpp:199</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad57f83fec6cdaba8dd84d2e16b8f00d5"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad57f83fec6cdaba8dd84d2e16b8f00d5">am::CAmControlSender::confirmCommandReady</a></div><div class="ttdeci">void confirmCommandReady(const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00450">CAmControlSender.cpp:450</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a4b0e8f68a193ac8ea7fe1d9175a11380"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a4b0e8f68a193ac8ea7fe1d9175a11380">am::IAmControlSend::hookSystemSpeedChange</a></div><div class="ttdeci">virtual void hookSystemSpeedChange(const am_speed_t speed)=0</div><div class="ttdoc">this hook provides information about speed changes. </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad8ff5682f685309d1dd18f020b6a3c45"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad8ff5682f685309d1dd18f020b6a3c45">am::CAmControlSender::checkerCallbackT</a></div><div class="ttdeci">TAmShPollCheck&lt; CAmControlSender &gt; checkerCallbackT</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8h_source.html#l00121">CAmControlSender.h:121</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_aaace40abc06b07579865b279fde4b5b3"><div class="ttname"><a href="classam_1_1CAmControlSender.html#aaace40abc06b07579865b279fde4b5b3">am::CAmControlSender::hookSystemSinkAvailablityStateChange</a></div><div class="ttdeci">void hookSystemSinkAvailablityStateChange(const am_sinkID_t sinkID, const am_Availability_s &amp;availability)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00319">CAmControlSender.cpp:319</a></div></div>
<div class="ttc" id="namespaceam_html_ad94ba90e3c8f6bd7e51a15a811755167"><div class="ttname"><a href="namespaceam.html#ad94ba90e3c8f6bd7e51a15a811755167">am::am_timeSync_t</a></div><div class="ttdeci">int16_t am_timeSync_t</div><div class="ttdoc">offset time that is introduced in milli seconds. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00114">audiomanagertypes.h:114</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a5d230a951b1eac878581e0e7b508b7c0"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a5d230a951b1eac878581e0e7b508b7c0">am::CAmControlSender::hookSourceNotificationDataChanged</a></div><div class="ttdeci">void hookSourceNotificationDataChanged(const am_sourceID_t sourceID, const am_NotificationPayload_s &amp;payload)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00522">CAmControlSender.cpp:522</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a64f209d9dcbcd1cb5cce4ebbc8236fc1"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a64f209d9dcbcd1cb5cce4ebbc8236fc1">am::IAmControlSend::hookSourceNotificationDataChanged</a></div><div class="ttdeci">virtual void hookSourceNotificationDataChanged(const am_sourceID_t sourceID, const am_NotificationPayload_s &amp;payload)=0</div><div class="ttdoc">new sourceNotification data is there! </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ae8f9632e00e25cb2797a6f9368ded02b"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ae8f9632e00e25cb2797a6f9368ded02b">am::CAmControlSender::hookSystemRegisterSource</a></div><div class="ttdeci">am_Error_e hookSystemRegisterSource(const am_Source_s &amp;sourceData, am_sourceID_t &amp;sourceID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00253">CAmControlSender.cpp:253</a></div></div>
<div class="ttc" id="namespaceam_html_af782e2735b1adf1e43a9d530cee340aa"><div class="ttname"><a href="namespaceam.html#af782e2735b1adf1e43a9d530cee340aa">am::sh_pollHandle_t</a></div><div class="ttdeci">uint16_t sh_pollHandle_t</div><div class="ttdoc">this is a handle for a filedescriptor to be used with the SocketHandler </div><div class="ttdef"><b>Definition:</b> <a href="CAmSocketHandler_8h_source.html#l00051">CAmSocketHandler.h:51</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a57e3b3d6356fe6359f63a6e7052cbefc"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a57e3b3d6356fe6359f63a6e7052cbefc">am::CAmControlSender::receiverCallback</a></div><div class="ttdeci">void receiverCallback(const pollfd pollfd, const sh_pollHandle_t handle, void *userData)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00540">CAmControlSender.cpp:540</a></div></div>
<div class="ttc" id="CAmDltWrapper_8h_html"><div class="ttname"><a href="CAmDltWrapper_8h.html">CAmDltWrapper.h</a></div><div class="ttdoc">SPDX license identifier: MPL-2.0. </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a5b5bc8a05e0cb75b7145f936764c2150"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a5b5bc8a05e0cb75b7145f936764c2150">am::CAmControlSender::hookSystemDomainStateChange</a></div><div class="ttdeci">void hookSystemDomainStateChange(const am_domainID_t domainID, const am_DomainState_e state)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00331">CAmControlSender.cpp:331</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad366b9499db3824db2184ce33fd827bd"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad366b9499db3824db2184ce33fd827bd">am::CAmControlSender::hookSystemRegisterConverter</a></div><div class="ttdeci">am_Error_e hookSystemRegisterConverter(const am_Converter_s &amp;converterData, am_converterID_t &amp;converterID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00271">CAmControlSender.cpp:271</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a5e3824e837500684d5f90b171be0e397"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a5e3824e837500684d5f90b171be0e397">am::IAmControlSend::hookUserVolumeStep</a></div><div class="ttdeci">virtual am_Error_e hookUserVolumeStep(const am_sinkID_t SinkID, const int16_t increment)=0</div><div class="ttdoc">sets a user volume as increment </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a78de0729435fd75879d1c0ef94cd7106"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a78de0729435fd75879d1c0ef94cd7106">am::CAmControlSender::getConnectionFormatChoice</a></div><div class="ttdeci">am_Error_e getConnectionFormatChoice(const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_Route_s listRoute, const std::vector&lt; am_CustomConnectionFormat_t &gt; listPossibleConnectionFormats, std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listPrioConnectionFormats)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00439">CAmControlSender.cpp:439</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ad559c7714947fcf4d719df4552b244d6"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ad559c7714947fcf4d719df4552b244d6">am::IAmControlSend::hookSystemRegisterConverter</a></div><div class="ttdeci">virtual am_Error_e hookSystemRegisterConverter(const am_Converter_s &amp;converterData, am_converterID_t &amp;converterID)=0</div><div class="ttdoc">is called when a routing adaptor registers a converter </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a81e71a98de468e79c5422fb02113aec5"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a81e71a98de468e79c5422fb02113aec5">am::CAmControlSender::setControllerRundown</a></div><div class="ttdeci">void setControllerRundown(const int16_t signal)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00432">CAmControlSender.cpp:432</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_aff13395c4cb3130be4c918a86c9cf56e"><div class="ttname"><a href="classam_1_1IAmControlSend.html#aff13395c4cb3130be4c918a86c9cf56e">am::IAmControlSend::hookUserSetSystemProperty</a></div><div class="ttdeci">virtual am_Error_e hookUserSetSystemProperty(const am_SystemProperty_s &amp;property)=0</div><div class="ttdoc">sets a user SystemProperty </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_aaa1eaeafeb8d3fe68b07a1217474d529"><div class="ttname"><a href="classam_1_1CAmControlSender.html#aaa1eaeafeb8d3fe68b07a1217474d529">am::CAmControlSender::cbAckCrossFade</a></div><div class="ttdeci">void cbAckCrossFade(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00367">CAmControlSender.cpp:367</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad72f53d6632cdf22959fede139fb27c5"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad72f53d6632cdf22959fede139fb27c5">am::CAmControlSender::cbAckSetSinkVolumeChange</a></div><div class="ttdeci">void cbAckSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00373">CAmControlSender.cpp:373</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a1fa99fa2d2edce3e8841dfc9e226c9da"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a1fa99fa2d2edce3e8841dfc9e226c9da">am::IAmControlSend::cbAckSetSinkSoundProperties</a></div><div class="ttdeci">virtual void cbAckSetSinkSoundProperties(const am_Handle_s handle, const am_Error_e error)=0</div><div class="ttdoc">ack for setting of sinksoundproperties </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a509053b30cd6310110dad0fc8bea819e"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a509053b30cd6310110dad0fc8bea819e">am::IAmControlSend::cbAckSetSourceNotificationConfiguration</a></div><div class="ttdeci">virtual void cbAckSetSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)=0</div><div class="ttdoc">The acknowledge of the source notification configuration. </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a5c650701fb40059f3f21694a8ddbd47d"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a5c650701fb40059f3f21694a8ddbd47d">am::IAmControlSend::hookUserSetMainSinkSoundProperty</a></div><div class="ttdeci">virtual am_Error_e hookUserSetMainSinkSoundProperty(const am_sinkID_t sinkID, const am_MainSoundProperty_s &amp;soundProperty)=0</div><div class="ttdoc">sets a user MainSinkSoundProperty </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a94b200d6db39488a2cb59500339edeec"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a94b200d6db39488a2cb59500339edeec">am::CAmControlSender::cbAckDisconnect</a></div><div class="ttdeci">void cbAckDisconnect(const am_Handle_s handle, const am_Error_e errorID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00361">CAmControlSender.cpp:361</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a8c19a72986d3fbaec14740d659b994be"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a8c19a72986d3fbaec14740d659b994be">am::CAmControlSender::cbAckSetSourceNotificationConfiguration</a></div><div class="ttdeci">void cbAckSetSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00510">CAmControlSender.cpp:510</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_aa6f94e59485a962830c7e957cfb1fe49"><div class="ttname"><a href="classam_1_1IAmControlSend.html#aa6f94e59485a962830c7e957cfb1fe49">am::IAmControlSend::hookUserSetMainSourceNotificationConfiguration</a></div><div class="ttdeci">virtual am_Error_e hookUserSetMainSourceNotificationConfiguration(const am_sourceID_t sourceID, const am_NotificationConfiguration_s &amp;notificationConfiguration)=0</div><div class="ttdoc">sets a user MainSourceNotificationConfiguration </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a6f77683e7c7e9f5298dd59970c6c5afb"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a6f77683e7c7e9f5298dd59970c6c5afb">am::CAmControlSender::hookSystemUpdateConverter</a></div><div class="ttdeci">am_Error_e hookSystemUpdateConverter(const am_converterID_t converterID, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSourceConnectionFormats, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSinkConnectionFromats, const std::vector&lt; bool &gt; &amp;convertionMatrix)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00492">CAmControlSender.cpp:492</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_af6ece21d3385f9599ce1bffe393d8c7f"><div class="ttname"><a href="classam_1_1CAmControlSender.html#af6ece21d3385f9599ce1bffe393d8c7f">am::CAmControlSender::CAmControlSender</a></div><div class="ttdeci">CAmControlSender()</div><div class="ttdoc">for testing only contructor - do not use ! </div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00564">CAmControlSender.cpp:564</a></div></div>
<div class="ttc" id="structam_1_1am__SystemProperty__s_html"><div class="ttname"><a href="structam_1_1am__SystemProperty__s.html">am::am_SystemProperty_s</a></div><div class="ttdoc">struct describing system properties </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00850">audiomanagertypes.h:850</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ab964493d75dd1b837edfee449efe20d7"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ab964493d75dd1b837edfee449efe20d7">am::CAmControlSender::hookSystemSinkVolumeTick</a></div><div class="ttdeci">void hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00301">CAmControlSender.cpp:301</a></div></div>
<div class="ttc" id="namespaceam_html_a21f8ea45717692cd82c42c222a6ee3c8"><div class="ttname"><a href="namespaceam.html#a21f8ea45717692cd82c42c222a6ee3c8">am::am_converterID_t</a></div><div class="ttdeci">uint16_t am_converterID_t</div><div class="ttdoc">a converter ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00070">audiomanagertypes.h:70</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a00be1fd1fa2aa657042e97b9533b6cbf"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a00be1fd1fa2aa657042e97b9533b6cbf">am::IAmControlSend::cbAckSetSinkNotificationConfiguration</a></div><div class="ttdeci">virtual void cbAckSetSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)=0</div><div class="ttdoc">The acknowledge of the sink notification configuration. </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_af1757d4f2fbc6ad1c9346f53558b1364"><div class="ttname"><a href="classam_1_1IAmControlSend.html#af1757d4f2fbc6ad1c9346f53558b1364">am::IAmControlSend::confirmRoutingReady</a></div><div class="ttdeci">virtual void confirmRoutingReady(const am_Error_e error)=0</div><div class="ttdoc">confirms the setRoutingReady call </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a7ee7417734d6976d47899c614f7903de"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a7ee7417734d6976d47899c614f7903de">am::IAmControlSend::hookSystemRegisterSource</a></div><div class="ttdeci">virtual am_Error_e hookSystemRegisterSource(const am_Source_s &amp;sourceData, am_sourceID_t &amp;sourceID)=0</div><div class="ttdoc">is called when a routing adaptor registers a source </div></div>
<div class="ttc" id="structam_1_1am__MainSoundProperty__s_html"><div class="ttname"><a href="structam_1_1am__MainSoundProperty__s.html">am::am_MainSoundProperty_s</a></div><div class="ttdoc">struct describung mainsound property </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01008">audiomanagertypes.h:1008</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ae84b7b255db7b4527063539047dae4ef"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ae84b7b255db7b4527063539047dae4ef">am::CAmControlSender::hookUserSetMainSourceNotificationConfiguration</a></div><div class="ttdeci">am_Error_e hookUserSetMainSourceNotificationConfiguration(const am_sourceID_t sourceID, const am_NotificationConfiguration_s &amp;notificationConfiguration)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00534">CAmControlSender.cpp:534</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_aea988dc0577c0e5d09610351ef034f66"><div class="ttname"><a href="classam_1_1CAmControlSender.html#aea988dc0577c0e5d09610351ef034f66">am::CAmControlSender::receiverCallbackT</a></div><div class="ttdeci">TAmShPollFired&lt; CAmControlSender &gt; receiverCallbackT</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8h_source.html#l00120">CAmControlSender.h:120</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ac3b8d58456c49ad52b3aff6c1f93dfe2"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ac3b8d58456c49ad52b3aff6c1f93dfe2">am::IAmControlSend::hookSystemInterruptStateChange</a></div><div class="ttdeci">virtual void hookSystemInterruptStateChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)=0</div><div class="ttdoc">is called when an low level interrupt changed its state </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a411aaaf89f7d19ccfb09aac1c6734df8"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a411aaaf89f7d19ccfb09aac1c6734df8">am::IAmControlSend::cbAckSetSourceState</a></div><div class="ttdeci">virtual void cbAckSetSourceState(const am_Handle_s handle, const am_Error_e error)=0</div><div class="ttdoc">ack for setting of source states </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ade2da944b84e2474f2052aa4cf3b5ae0"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ade2da944b84e2474f2052aa4cf3b5ae0">am::IAmControlSend::hookUserSetSinkMuteState</a></div><div class="ttdeci">virtual am_Error_e hookUserSetSinkMuteState(const am_sinkID_t sinkID, const am_MuteState_e muteState)=0</div><div class="ttdoc">sets the mute state of a sink </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a16a0498beb28d7491656fba5407b84ba"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a16a0498beb28d7491656fba5407b84ba">am::CAmControlSender::hookUserSetMainSinkNotificationConfiguration</a></div><div class="ttdeci">am_Error_e hookUserSetMainSinkNotificationConfiguration(const am_sinkID_t sinkID, const am_NotificationConfiguration_s &amp;notificationConfiguration)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00528">CAmControlSender.cpp:528</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a860fc09d07ab8d8f44bbeafacb897eb3"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a860fc09d07ab8d8f44bbeafacb897eb3">am::CAmControlSender::cbAckConnect</a></div><div class="ttdeci">void cbAckConnect(const am_Handle_s handle, const am_Error_e errorID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00355">CAmControlSender.cpp:355</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a38cc36342c63abe0d163edea4bd460f9"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a38cc36342c63abe0d163edea4bd460f9">am::CAmControlSender::cbAckSetSinkSoundProperty</a></div><div class="ttdeci">void cbAckSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00408">CAmControlSender.cpp:408</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ae1e7f801d0620b2f7087a761ea85976c"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ae1e7f801d0620b2f7087a761ea85976c">am::IAmControlSend::hookSystemDeregisterSink</a></div><div class="ttdeci">virtual am_Error_e hookSystemDeregisterSink(const am_sinkID_t sinkID)=0</div><div class="ttdoc">is called when a routing adaptor deregisters a sink </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a871851b07faa0808088f5270f7788652"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a871851b07faa0808088f5270f7788652">am::IAmControlSend::cbAckSetVolumes</a></div><div class="ttdeci">virtual void cbAckSetVolumes(const am_Handle_s handle, const std::vector&lt; am_Volumes_s &gt; &amp;listVolumes, const am_Error_e error)=0</div><div class="ttdoc">ack for mulitple volume changes </div></div>
<div class="ttc" id="structam_1_1am__Handle__s_html"><div class="ttname"><a href="structam_1_1am__Handle__s.html">am::am_Handle_s</a></div><div class="ttdoc">a handle is used for asynchronous operations and is uniquely assigned for each of this operations ...</div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00991">audiomanagertypes.h:991</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a851aa10941357f6ede340e4e3c0caa72"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a851aa10941357f6ede340e4e3c0caa72">am::IAmControlSend::confirmCommandRundown</a></div><div class="ttdeci">virtual void confirmCommandRundown(const am_Error_e error)=0</div><div class="ttdoc">confirms the setCommandRundown call </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ab299a4ca5edcb83f81618eb5d67cd7a3"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ab299a4ca5edcb83f81618eb5d67cd7a3">am::CAmControlSender::hookSystemTimingInformationChanged</a></div><div class="ttdeci">void hookSystemTimingInformationChanged(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00349">CAmControlSender.cpp:349</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_abdcd10d01e5e55517beab1249086aae2"><div class="ttname"><a href="classam_1_1CAmControlSender.html#abdcd10d01e5e55517beab1249086aae2">am::CAmControlSender::hookSystemRegisterCrossfader</a></div><div class="ttdeci">am_Error_e hookSystemRegisterCrossfader(const am_Crossfader_s &amp;crossfaderData, am_crossfaderID_t &amp;crossfaderID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00289">CAmControlSender.cpp:289</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a4c49eb39f5478c4c56587e8fdbb08078"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a4c49eb39f5478c4c56587e8fdbb08078">am::IAmControlSend::hookSystemReceiveEarlyData</a></div><div class="ttdeci">virtual void hookSystemReceiveEarlyData(const std::vector&lt; am_EarlyData_s &gt; &amp;data)=0</div><div class="ttdoc">when early data was received </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a9ed2db1aa1e1b48db96f7356a55435fc"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a9ed2db1aa1e1b48db96f7356a55435fc">am::CAmControlSender::setControllerReady</a></div><div class="ttdeci">void setControllerReady()</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00426">CAmControlSender.cpp:426</a></div></div>
<div class="ttc" id="namespaceam_html_a2711516b1392ea02a7ed25fcd540a16a"><div class="ttname"><a href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am::am_sourceID_t</a></div><div class="ttdeci">uint16_t am_sourceID_t</div><div class="ttdoc">a source ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00060">audiomanagertypes.h:60</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a6596765114f1d64769ce48ce7068c6d2"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a6596765114f1d64769ce48ce7068c6d2">am::CAmControlSender::hookSystemRegisterGateway</a></div><div class="ttdeci">am_Error_e hookSystemRegisterGateway(const am_Gateway_s &amp;gatewayData, am_gatewayID_t &amp;gatewayID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00265">CAmControlSender.cpp:265</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a85e03ec31a0e3f3810095ca3e6e6ab39"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a85e03ec31a0e3f3810095ca3e6e6ab39">am::IAmControlSend::hookSystemSourceVolumeTick</a></div><div class="ttdeci">virtual void hookSystemSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume)=0</div><div class="ttdoc">volumeticks. </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a76fb11877cd69010199b996f9426fb0d"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a76fb11877cd69010199b996f9426fb0d">am::IAmControlSend::hookSystemTimingInformationChanged</a></div><div class="ttdeci">virtual void hookSystemTimingInformationChanged(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time)=0</div><div class="ttdoc">this hook is fired whenever the timing information of a mainconnection has changed. </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a5067bc239564697fd9c6f15026d5d06f"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a5067bc239564697fd9c6f15026d5d06f">am::IAmControlSend::hookSystemDeregisterGateway</a></div><div class="ttdeci">virtual am_Error_e hookSystemDeregisterGateway(const am_gatewayID_t gatewayID)=0</div><div class="ttdoc">is called when a routing adaptor deregisters a gateway </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_af34d246772ac308320740cdfc0c7a415"><div class="ttname"><a href="classam_1_1CAmControlSender.html#af34d246772ac308320740cdfc0c7a415">am::CAmControlSender::cbAckSetSourceState</a></div><div class="ttdeci">void cbAckSetSourceState(const am_Handle_s handle, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00385">CAmControlSender.cpp:385</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad34e16a4b571a5dc70c7081f96015d53"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad34e16a4b571a5dc70c7081f96015d53">am::CAmControlSender::hookUserSetSinkMuteState</a></div><div class="ttdeci">am_Error_e hookUserSetSinkMuteState(const am_sinkID_t sinkID, const am_MuteState_e muteState)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00217">CAmControlSender.cpp:217</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html"><div class="ttname"><a href="classam_1_1CAmControlSender.html">am::CAmControlSender</a></div><div class="ttdoc">sends data to the commandInterface, takes the file of the library that needs to be loaded ...</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8h_source.html#l00041">CAmControlSender.h:41</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ac1bdb116a00b8b75cf4c4558e184b832"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ac1bdb116a00b8b75cf4c4558e184b832">am::CAmControlSender::hookUserConnectionRequest</a></div><div class="ttdeci">am_Error_e hookUserConnectionRequest(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t &amp;mainConnectionID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00175">CAmControlSender.cpp:175</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a3fa49b5d984c07117b7506557eb7daab"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a3fa49b5d984c07117b7506557eb7daab">am::IAmControlSend::setControllerRundown</a></div><div class="ttdeci">virtual void setControllerRundown(const int16_t signal)=0</div><div class="ttdoc">This message tells the controller that he should prepare everything for the power to be switched off...</div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a1a8c6dc9dc211edfefab1c996d621ab8"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a1a8c6dc9dc211edfefab1c996d621ab8">am::IAmControlSend::hookSystemDomainRegistrationComplete</a></div><div class="ttdeci">virtual void hookSystemDomainRegistrationComplete(const am_domainID_t domainID)=0</div><div class="ttdoc">is called when a domain registered all the elements </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a1302ac87a9e252e3a6e5ad38925bffff"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a1302ac87a9e252e3a6e5ad38925bffff">am::CAmControlSender::cbAckSetSourceSoundProperty</a></div><div class="ttdeci">void cbAckSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00391">CAmControlSender.cpp:391</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ae83380db1d35b9b653cd4b892352a39b"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ae83380db1d35b9b653cd4b892352a39b">am::IAmControlSend::cbAckSetSourceSoundProperties</a></div><div class="ttdeci">virtual void cbAckSetSourceSoundProperties(const am_Handle_s handle, const am_Error_e error)=0</div><div class="ttdoc">ack for setting of sourcesoundproperties </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a23259c09417c91ac1adf066acac4ca32"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a23259c09417c91ac1adf066acac4ca32">am::CAmControlSender::hookSystemDeregisterDomain</a></div><div class="ttdeci">am_Error_e hookSystemDeregisterDomain(const am_domainID_t domainID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00229">CAmControlSender.cpp:229</a></div></div>
<div class="ttc" id="structam_1_1am__Converter__s_html"><div class="ttname"><a href="structam_1_1am__Converter__s.html">am::am_Converter_s</a></div><div class="ttdoc">This struct describes the attributes of a converter. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00606">audiomanagertypes.h:606</a></div></div>
<div class="ttc" id="namespaceam_html_a2e1718a0cd2d37bd5f989402b89c34a5"><div class="ttname"><a href="namespaceam.html#a2e1718a0cd2d37bd5f989402b89c34a5">am::am_DomainState_e</a></div><div class="ttdeci">am_DomainState_e</div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00280">audiomanagertypes.h:280</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_add6036a1f88634ad6e9fa74a7eb8d9c3"><div class="ttname"><a href="classam_1_1IAmControlSend.html#add6036a1f88634ad6e9fa74a7eb8d9c3">am::IAmControlSend::hookSystemUpdateGateway</a></div><div class="ttdeci">virtual am_Error_e hookSystemUpdateGateway(const am_gatewayID_t gatewayID, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSourceConnectionFormats, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSinkConnectionFormats, const std::vector&lt; bool &gt; &amp;convertionMatrix)=0</div><div class="ttdoc">updates the Gateway Data </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html"><div class="ttname"><a href="classam_1_1IAmControlSend.html">am::IAmControlSend</a></div><div class="ttdoc">This interface is presented by the AudioManager controller. </div><div class="ttdef"><b>Definition:</b> <a href="IAmControl_8h_source.html#l00675">IAmControl.h:675</a></div></div>
<div class="ttc" id="structam_1_1am__Route__s_html"><div class="ttname"><a href="structam_1_1am__Route__s.html">am::am_Route_s</a></div><div class="ttdoc">a list of routing elements that lead from source to sink </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00810">audiomanagertypes.h:810</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_afb0af13318c5cdd96dc8334870f41156"><div class="ttname"><a href="classam_1_1IAmControlSend.html#afb0af13318c5cdd96dc8334870f41156">am::IAmControlSend::cbAckDisconnect</a></div><div class="ttdeci">virtual void cbAckDisconnect(const am_Handle_s handle, const am_Error_e errorID)=0</div><div class="ttdoc">ack for disconnect </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ac809407580b0bfd81ad853320beb3a75"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ac809407580b0bfd81ad853320beb3a75">am::CAmControlSender::hookUserSetMainSourceSoundProperty</a></div><div class="ttdeci">am_Error_e hookUserSetMainSourceSoundProperty(const am_sourceID_t sourceID, const am_MainSoundProperty_s &amp;soundProperty)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00193">CAmControlSender.cpp:193</a></div></div>
<div class="ttc" id="namespaceam_html_afc05253c20a9333f02f7a4b3f7762269"><div class="ttname"><a href="namespaceam.html#afc05253c20a9333f02f7a4b3f7762269">am::am_HotSink_e</a></div><div class="ttdeci">am_HotSink_e</div><div class="ttdoc">describes the active sink of a crossfader. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00208">audiomanagertypes.h:208</a></div></div>
<div class="ttc" id="namespaceam_html_a0ba72fdbafaa9e886e77aa4099c281ec"><div class="ttname"><a href="namespaceam.html#a0ba72fdbafaa9e886e77aa4099c281ec">am::am_volume_t</a></div><div class="ttdeci">int16_t am_volume_t</div><div class="ttdoc">The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00091">audiomanagertypes.h:91</a></div></div>
<div class="ttc" id="structam_1_1am__Crossfader__s_html"><div class="ttname"><a href="structam_1_1am__Crossfader__s.html">am::am_Crossfader_s</a></div><div class="ttdoc">This struct describes the attribiutes of a crossfader. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00560">audiomanagertypes.h:560</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_afeec1947803ab015afe385885222dd23"><div class="ttname"><a href="classam_1_1IAmControlSend.html#afeec1947803ab015afe385885222dd23">am::IAmControlSend::confirmCommandReady</a></div><div class="ttdeci">virtual void confirmCommandReady(const am_Error_e error)=0</div><div class="ttdoc">confirms the setCommandReady call </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_abcf7efc501fa8e7d121e2bccab105d39"><div class="ttname"><a href="classam_1_1CAmControlSender.html#abcf7efc501fa8e7d121e2bccab105d39">am::CAmControlSender::hookSystemUpdateSource</a></div><div class="ttdeci">am_Error_e hookSystemUpdateSource(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector&lt; am_SoundProperty_s &gt; &amp;listSoundProperties, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listConnectionFormats, const std::vector&lt; am_MainSoundProperty_s &gt; &amp;listMainSoundProperties)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00480">CAmControlSender.cpp:480</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ae6e0d8d4edc396b2cc6e4b68b281df31"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ae6e0d8d4edc396b2cc6e4b68b281df31">am::CAmControlSender::hookSystemSpeedChange</a></div><div class="ttdeci">void hookSystemSpeedChange(const am_speed_t speed)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00343">CAmControlSender.cpp:343</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a8766543db01f4b0ac5dd747f2f4205f6"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a8766543db01f4b0ac5dd747f2f4205f6">am::IAmControlSend::hookUserDisconnectionRequest</a></div><div class="ttdeci">virtual am_Error_e hookUserDisconnectionRequest(const am_mainConnectionID_t connectionID)=0</div><div class="ttdoc">is called when a disconnection request comes in via the command interface </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_aa7dc874694477107daa61b95c64c8390"><div class="ttname"><a href="classam_1_1IAmControlSend.html#aa7dc874694477107daa61b95c64c8390">am::IAmControlSend::hookSystemSinkAvailablityStateChange</a></div><div class="ttdeci">virtual void hookSystemSinkAvailablityStateChange(const am_sinkID_t sinkID, const am_Availability_s &amp;availability)=0</div><div class="ttdoc">id called when a sink changed its availability </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ad7d8499e2a4064e02a606277df3ca5ad"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ad7d8499e2a4064e02a606277df3ca5ad">am::CAmControlSender::confirmCommandRundown</a></div><div class="ttdeci">void confirmCommandRundown(const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00462">CAmControlSender.cpp:462</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ac07c4d8bcb89f43e084f319308f1b252"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ac07c4d8bcb89f43e084f319308f1b252">am::IAmControlSend::hookSystemUpdateConverter</a></div><div class="ttdeci">virtual am_Error_e hookSystemUpdateConverter(const am_converterID_t converterID, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSourceConnectionFormats, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listSinkConnectionFormats, const std::vector&lt; bool &gt; &amp;convertionMatrix)=0</div><div class="ttdoc">updates the Converter Data </div></div>
<div class="ttc" id="classam_1_1CAmSocketHandler_html_a8ee49d4fbc44291bc6b99fa49fc0350a"><div class="ttname"><a href="classam_1_1CAmSocketHandler.html#a8ee49d4fbc44291bc6b99fa49fc0350a">am::CAmSocketHandler::addFDPoll</a></div><div class="ttdeci">am_Error_e addFDPoll(const int fd, const short event, std::function&lt; void(const sh_pollHandle_t handle, void *userData)&gt; prepare, std::function&lt; void(const pollfd pollfd, const sh_pollHandle_t handle, void *userData)&gt; fired, std::function&lt; bool(const sh_pollHandle_t handle, void *userData)&gt; check, std::function&lt; bool(const sh_pollHandle_t handle, void *userData)&gt; dispatch, void *userData, sh_pollHandle_t &amp;handle)</div><div class="ttdoc">Adds a filedescriptor to the polling loop. </div><div class="ttdef"><b>Definition:</b> <a href="CAmSocketHandler_8cpp_source.html#l00353">CAmSocketHandler.cpp:353</a></div></div>
<div class="ttc" id="namespaceam_html_a8b8fc2ab1ac4d427ca85fe8549e6afd0"><div class="ttname"><a href="namespaceam.html#a8b8fc2ab1ac4d427ca85fe8549e6afd0">am::am_sourceClass_t</a></div><div class="ttdeci">uint16_t am_sourceClass_t</div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00102">audiomanagertypes.h:102</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ac8997d2c07ca17d0dff92291e5ebd7b0"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ac8997d2c07ca17d0dff92291e5ebd7b0">am::IAmControlSend::confirmRoutingRundown</a></div><div class="ttdeci">virtual void confirmRoutingRundown(const am_Error_e error)=0</div><div class="ttdoc">confirms the setRoutingRundown command </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_af69aa3145127e0f9ba29728fd0e75b7f"><div class="ttname"><a href="classam_1_1CAmControlSender.html#af69aa3145127e0f9ba29728fd0e75b7f">am::CAmControlSender::cbAckSetVolume</a></div><div class="ttdeci">void cbAckSetVolume(const am_Handle_s handle, const std::vector&lt; am_Volumes_s &gt; &amp;listVolumes, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00498">CAmControlSender.cpp:498</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a795eb8b4ac2c50eb3b5ec14bbf639cc4"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a795eb8b4ac2c50eb3b5ec14bbf639cc4">am::IAmControlSend::cbAckCrossFade</a></div><div class="ttdeci">virtual void cbAckCrossFade(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error)=0</div><div class="ttdoc">ack for crossfading </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a20b99dc1e2ae52653f86bc92c5fa7e6f"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a20b99dc1e2ae52653f86bc92c5fa7e6f">am::CAmControlSender::hookSystemSingleTimingInformationChanged</a></div><div class="ttdeci">void hookSystemSingleTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t time)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00555">CAmControlSender.cpp:555</a></div></div>
<div class="ttc" id="structam_1_1am__Availability__s_html"><div class="ttname"><a href="structam_1_1am__Availability__s.html">am::am_Availability_s</a></div><div class="ttdoc">this describes the availability of a sink or a source together with the latest change ...</div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00523">audiomanagertypes.h:523</a></div></div>
<div class="ttc" id="structam_1_1am__Gateway__s_html"><div class="ttname"><a href="structam_1_1am__Gateway__s.html">am::am_Gateway_s</a></div><div class="ttdoc">This struct describes the attributes of a gateway. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00689">audiomanagertypes.h:689</a></div></div>
<div class="ttc" id="classam_1_1IAmControlReceive_html"><div class="ttname"><a href="classam_1_1IAmControlReceive.html">am::IAmControlReceive</a></div><div class="ttdoc">This interface gives access to all important functions of the audiomanager that are used by the Audio...</div><div class="ttdef"><b>Definition:</b> <a href="IAmControl_8h_source.html#l00056">IAmControl.h:56</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_ac193d4987d357e522be802c2e188dadd"><div class="ttname"><a href="classam_1_1IAmControlSend.html#ac193d4987d357e522be802c2e188dadd">am::IAmControlSend::hookSystemDeregisterDomain</a></div><div class="ttdeci">virtual am_Error_e hookSystemDeregisterDomain(const am_domainID_t domainID)=0</div><div class="ttdoc">is called when a routing adaptor wants to derigister a domain </div></div>
<div class="ttc" id="namespaceam_html_ab00ba22db19413e2040c2ab246f220c6"><div class="ttname"><a href="namespaceam.html#ab00ba22db19413e2040c2ab246f220c6">am::logError</a></div><div class="ttdeci">void logError(T value, TArgs...args)</div><div class="ttdoc">logs given values with errorlevel with the default context </div><div class="ttdef"><b>Definition:</b> <a href="CAmDltWrapper_8h_source.html#l00431">CAmDltWrapper.h:431</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_aabf3bf19aacc34071ad37bfc8c51bf5a"><div class="ttname"><a href="classam_1_1IAmControlSend.html#aabf3bf19aacc34071ad37bfc8c51bf5a">am::IAmControlSend::hookSystemDeregisterConverter</a></div><div class="ttdeci">virtual am_Error_e hookSystemDeregisterConverter(const am_converterID_t converterID)=0</div><div class="ttdoc">is called when a routing adaptor deregisters a converter </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_aae3cd3025c36ce1a735c60510c560186"><div class="ttname"><a href="classam_1_1IAmControlSend.html#aae3cd3025c36ce1a735c60510c560186">am::IAmControlSend::hookSystemUpdateSink</a></div><div class="ttdeci">virtual am_Error_e hookSystemUpdateSink(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector&lt; am_SoundProperty_s &gt; &amp;listSoundProperties, const std::vector&lt; am_CustomConnectionFormat_t &gt; &amp;listConnectionFormats, const std::vector&lt; am_MainSoundProperty_s &gt; &amp;listMainSoundProperties)=0</div><div class="ttdoc">update form the SinkData </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_abe2d2f93c83fa7e9104aae7ba0a47f5b"><div class="ttname"><a href="classam_1_1IAmControlSend.html#abe2d2f93c83fa7e9104aae7ba0a47f5b">am::IAmControlSend::hookSystemRegisterCrossfader</a></div><div class="ttdeci">virtual am_Error_e hookSystemRegisterCrossfader(const am_Crossfader_s &amp;crossfaderData, am_crossfaderID_t &amp;crossfaderID)=0</div><div class="ttdoc">is called when a routing adaptor registers a crossfader </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a6c7daca73a1e74782a360771b01cfd5c"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a6c7daca73a1e74782a360771b01cfd5c">am::IAmControlSend::hookUserConnectionRequest</a></div><div class="ttdeci">virtual am_Error_e hookUserConnectionRequest(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t &amp;mainConnectionID)=0</div><div class="ttdoc">is called when a connection request comes in via the command interface </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a45180aa9a4aedf0cab8214961013c9ee"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a45180aa9a4aedf0cab8214961013c9ee">am::IAmControlSend::cbAckSetSourceVolumeChange</a></div><div class="ttdeci">virtual void cbAckSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error)=0</div><div class="ttdoc">ack for source volume changes </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a56ae1287a330adfad9276109ab0ad5a8"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a56ae1287a330adfad9276109ab0ad5a8">am::CAmControlSender::hookSystemDeregisterConverter</a></div><div class="ttdeci">am_Error_e hookSystemDeregisterConverter(const am_converterID_t converterID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00283">CAmControlSender.cpp:283</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a2d2ac929f577498633d223c4194054f5"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a2d2ac929f577498633d223c4194054f5">am::IAmControlSend::startupController</a></div><div class="ttdeci">virtual am_Error_e startupController(IAmControlReceive *controlreceiveinterface)=0</div><div class="ttdoc">Starts up the controller. </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a99d157d1d345cb08038d5ddbbfaddd46"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a99d157d1d345cb08038d5ddbbfaddd46">am::CAmControlSender::dispatcherCallbackT</a></div><div class="ttdeci">TAmShPollDispatch&lt; CAmControlSender &gt; dispatcherCallbackT</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8h_source.html#l00122">CAmControlSender.h:122</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a523341b43629a1cf3adf2a03b2b2bacd"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a523341b43629a1cf3adf2a03b2b2bacd">am::IAmControlSend::cbAckSetSinkSoundProperty</a></div><div class="ttdeci">virtual void cbAckSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error)=0</div><div class="ttdoc">ack for setting of sinksoundproperties </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_ab5d345660b91a8c972c6cf7a83dad60b"><div class="ttname"><a href="classam_1_1CAmControlSender.html#ab5d345660b91a8c972c6cf7a83dad60b">am::CAmControlSender::hookSystemDeregisterGateway</a></div><div class="ttdeci">am_Error_e hookSystemDeregisterGateway(const am_gatewayID_t gatewayID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00277">CAmControlSender.cpp:277</a></div></div>
<div class="ttc" id="namespaceam_html_a01c1c639ee87e804885f92c69ca4a97c"><div class="ttname"><a href="namespaceam.html#a01c1c639ee87e804885f92c69ca4a97c">am::am_speed_t</a></div><div class="ttdeci">uint16_t am_speed_t</div><div class="ttdoc">speed </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00085">audiomanagertypes.h:85</a></div></div>
<div class="ttc" id="namespaceam_html_a58a230b5da10699a7ce1b1f2a1c550e6"><div class="ttname"><a href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am::am_domainID_t</a></div><div class="ttdeci">uint16_t am_domainID_t</div><div class="ttdoc">a domain ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00045">audiomanagertypes.h:45</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_aa513e2bee2998261a640e5f3901704d9"><div class="ttname"><a href="classam_1_1CAmControlSender.html#aa513e2bee2998261a640e5f3901704d9">am::CAmControlSender::hookSystemSourceVolumeTick</a></div><div class="ttdeci">void hookSystemSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00307">CAmControlSender.cpp:307</a></div></div>
<div class="ttc" id="namespaceam_html_a834886e7c3e4a2d6745ef2b59b485b00"><div class="ttname"><a href="namespaceam.html#a834886e7c3e4a2d6745ef2b59b485b00">am::am_mainVolume_t</a></div><div class="ttdeci">int16_t am_mainVolume_t</div><div class="ttdoc">This is the volume presented on the command interface. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00100">audiomanagertypes.h:100</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_aa88c9c0e0e828de6c5b218f2bbde4aae"><div class="ttname"><a href="classam_1_1CAmControlSender.html#aa88c9c0e0e828de6c5b218f2bbde4aae">am::CAmControlSender::cbAckSetSourceSoundProperties</a></div><div class="ttdeci">void cbAckSetSourceSoundProperties(const am_Handle_s handle, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00420">CAmControlSender.cpp:420</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_afca65c0418b9f0830a568bff1014b3ca"><div class="ttname"><a href="classam_1_1CAmControlSender.html#afca65c0418b9f0830a568bff1014b3ca">am::CAmControlSender::hookSystemDeregisterSource</a></div><div class="ttdeci">am_Error_e hookSystemDeregisterSource(const am_sourceID_t sourceID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00259">CAmControlSender.cpp:259</a></div></div>
<div class="ttc" id="CAmControlSender_8h_html"><div class="ttname"><a href="CAmControlSender_8h.html">CAmControlSender.h</a></div><div class="ttdoc">SPDX license identifier: MPL-2.0. </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a9b297c03a6239be2c45bef687c0d4def"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a9b297c03a6239be2c45bef687c0d4def">am::IAmControlSend::hookUserSetMainSinkNotificationConfiguration</a></div><div class="ttdeci">virtual am_Error_e hookUserSetMainSinkNotificationConfiguration(const am_sinkID_t sinkID, const am_NotificationConfiguration_s &amp;notificationConfiguration)=0</div><div class="ttdoc">sets a user MainSinkNotificationConfiguration </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a3adcb322f2bdea1f9e386e4a9d07a2e1"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a3adcb322f2bdea1f9e386e4a9d07a2e1">am::IAmControlSend::cbAckSetSourceSoundProperty</a></div><div class="ttdeci">virtual void cbAckSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error)=0</div><div class="ttdoc">ack for setting of sourcesoundproperties </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_adf9bc70ad78f14e7af98284a2e6a0c91"><div class="ttname"><a href="classam_1_1CAmControlSender.html#adf9bc70ad78f14e7af98284a2e6a0c91">am::CAmControlSender::confirmRoutingRundown</a></div><div class="ttdeci">void confirmRoutingRundown(const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00468">CAmControlSender.cpp:468</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a206d0b9489520aeccf402bff31b39965"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a206d0b9489520aeccf402bff31b39965">am::IAmControlSend::hookSystemDeregisterSource</a></div><div class="ttdeci">virtual am_Error_e hookSystemDeregisterSource(const am_sourceID_t sourceID)=0</div><div class="ttdoc">is called when a routing adaptor deregisters a source </div></div>
<div class="ttc" id="namespaceam_html_af671cec58d6713a0c1e4eaa9c89613d5"><div class="ttname"><a href="namespaceam.html#af671cec58d6713a0c1e4eaa9c89613d5">am::am_gatewayID_t</a></div><div class="ttdeci">uint16_t am_gatewayID_t</div><div class="ttdoc">a gateway ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00075">audiomanagertypes.h:75</a></div></div>
<div class="ttc" id="structam_1_1am__Source__s_html"><div class="ttname"><a href="structam_1_1am__Source__s.html">am::am_Source_s</a></div><div class="ttdoc">This struct describes the attribiutes of a source. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01232">audiomanagertypes.h:1232</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a89e2012e3c556d61b194bd2fa81487c6"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a89e2012e3c556d61b194bd2fa81487c6">am::IAmControlSend::hookSystemSourceAvailablityStateChange</a></div><div class="ttdeci">virtual void hookSystemSourceAvailablityStateChange(const am_sourceID_t sourceID, const am_Availability_s &amp;availability)=0</div><div class="ttdoc">id called when a source changed its availability </div></div>
<div class="ttc" id="namespaceam_html_aac2b901ff83ee381fbe99913753e2416"><div class="ttname"><a href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am::am_sinkID_t</a></div><div class="ttdeci">uint16_t am_sinkID_t</div><div class="ttdoc">a sink ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00065">audiomanagertypes.h:65</a></div></div>
<div class="ttc" id="namespaceam_html_a33a5bb7641f58ab3a5f3b86400ad804c"><div class="ttname"><a href="namespaceam.html#a33a5bb7641f58ab3a5f3b86400ad804c">am::am_mainConnectionID_t</a></div><div class="ttdeci">uint16_t am_mainConnectionID_t</div><div class="ttdoc">a mainConnection ID </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00080">audiomanagertypes.h:80</a></div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_adf5c8c1e16207db2e47c99f38bf196e7"><div class="ttname"><a href="classam_1_1CAmControlSender.html#adf5c8c1e16207db2e47c99f38bf196e7">am::CAmControlSender::cbAckSetSourceVolumeChange</a></div><div class="ttdeci">void cbAckSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00379">CAmControlSender.cpp:379</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a19adb45ff178867150f801608904eb56"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a19adb45ff178867150f801608904eb56">am::IAmControlSend::hookSystemRegisterDomain</a></div><div class="ttdeci">virtual am_Error_e hookSystemRegisterDomain(const am_Domain_s &amp;domainData, am_domainID_t &amp;domainID)=0</div><div class="ttdoc">is called when a routing adaptor registers its domain </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a96f39617e1ecaf021d544b5d4048bc5b"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a96f39617e1ecaf021d544b5d4048bc5b">am::IAmControlSend::hookSystemSingleTimingInformationChanged</a></div><div class="ttdeci">virtual void hookSystemSingleTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t time)=0</div><div class="ttdoc">This hook is fired whenever the timing information of a connection has changed. </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a8d08ef4107f58674435a0f7bc50ab84f"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a8d08ef4107f58674435a0f7bc50ab84f">am::CAmControlSender::hookSystemRegisterDomain</a></div><div class="ttdeci">am_Error_e hookSystemRegisterDomain(const am_Domain_s &amp;domainData, am_domainID_t &amp;domainID)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00223">CAmControlSender.cpp:223</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a8da410be680cf652048f95e2941f9402"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a8da410be680cf652048f95e2941f9402">am::IAmControlSend::hookSystemRegisterSink</a></div><div class="ttdeci">virtual am_Error_e hookSystemRegisterSink(const am_Sink_s &amp;sinkData, am_sinkID_t &amp;sinkID)=0</div><div class="ttdoc">is called when a routing adaptor registers a sink </div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a6a5814402c82ea2bf229ac2d63862f06"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a6a5814402c82ea2bf229ac2d63862f06">am::IAmControlSend::hookSystemSinkVolumeTick</a></div><div class="ttdeci">virtual void hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume)=0</div><div class="ttdoc">volumeticks. </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a3880c0627b1d1360120c6bb294d45cdf"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a3880c0627b1d1360120c6bb294d45cdf">am::CAmControlSender::hookUserVolumeStep</a></div><div class="ttdeci">am_Error_e hookUserVolumeStep(const am_sinkID_t SinkID, const int16_t increment)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00211">CAmControlSender.cpp:211</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a1f88f342cc533b839d07eefe3362b45d"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a1f88f342cc533b839d07eefe3362b45d">am::IAmControlSend::hookSystemRegisterGateway</a></div><div class="ttdeci">virtual am_Error_e hookSystemRegisterGateway(const am_Gateway_s &amp;gatewayData, am_gatewayID_t &amp;gatewayID)=0</div><div class="ttdoc">is called when a routing adaptor registers a gateway </div></div>
<div class="ttc" id="classam_1_1CAmControlSender_html_a11cf689ead2a35ad3eb781b1a3f4dd02"><div class="ttname"><a href="classam_1_1CAmControlSender.html#a11cf689ead2a35ad3eb781b1a3f4dd02">am::CAmControlSender::hookSystemReceiveEarlyData</a></div><div class="ttdeci">void hookSystemReceiveEarlyData(const std::vector&lt; am_EarlyData_s &gt; &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="CAmControlSender_8cpp_source.html#l00337">CAmControlSender.cpp:337</a></div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a0eaec631c13a8e98cd7e13bc8c30c5f1"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a0eaec631c13a8e98cd7e13bc8c30c5f1">am::IAmControlSend::getInterfaceVersion</a></div><div class="ttdeci">virtual void getInterfaceVersion(std::string &amp;version) const =0</div><div class="ttdoc">This function returns the version of the interface returns E_OK, E_UNKOWN if version is unknown...</div></div>
<div class="ttc" id="classam_1_1IAmControlSend_html_a7a4952da0cdf7359d46efeef736c75a6"><div class="ttname"><a href="classam_1_1IAmControlSend.html#a7a4952da0cdf7359d46efeef736c75a6">am::IAmControlSend::hookUserSetMainSourceSoundProperty</a></div><div class="ttdeci">virtual am_Error_e hookUserSetMainSourceSoundProperty(const am_sourceID_t sourceID, const am_MainSoundProperty_s &amp;soundProperty)=0</div><div class="ttdoc">sets a user MainSourceSoundProperty </div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_73840c26962c025d9d91b16130beda5a.html">AudioManagerCore</a></li><li class="navelem"><a class="el" href="dir_218adc744edff50228af3539b32b7808.html">src</a></li><li class="navelem"><a class="el" href="CAmControlSender_8cpp.html">CAmControlSender.cpp</a></li>
    <li class="footer">Generated on Fri Feb 9 2018 14:50:29 for AudioManager by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>