summaryrefslogtreecommitdiff
path: root/docs/CAmRouter_8h_source.html
blob: 18fe00a6a3d37976c70be4a147b86a7105e4c284 (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
<!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/include/CAmRouter.h 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('CAmRouter_8h_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">CAmRouter.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="CAmRouter_8h.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="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef ROUTER_H_</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define ROUTER_H_</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;assert.h&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="audiomanagertypes_8h.html">audiomanagertypes.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CAmGraph_8h.html">CAmGraph.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="CAmDatabaseHandlerMap_8h.html">CAmDatabaseHandlerMap.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="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#undef TRACE_GRAPH</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifndef MAX_ROUTING_PATHS</span></div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="CAmRouter_8h.html#a9d70e10c712a8a908b5dc0d253955c25">   56</a></span>&#160;<span class="preprocessor">#define MAX_ROUTING_PATHS 5</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#ifndef MAX_ALLOWED_DOMAIN_CYCLES</span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="CAmRouter_8h.html#a1aacfba78a3f6aa3cb6514bb8b1458e3">   68</a></span>&#160;<span class="preprocessor">#define MAX_ALLOWED_DOMAIN_CYCLES 1</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#endif</span></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="keyword">class </span>CAmRouter;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html">   76</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="structam_1_1am__RoutingNodeData__s.html">am_RoutingNodeData_s</a></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    {</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276c">   78</a></span>&#160;        <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            :<span class="keywordtype">int</span></div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cac5c8d1643072edb5f04a0f012477e1ce">   80</a></span>&#160;            {   <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cad70db244584d9880ae4314f5ea16513a">SINK</a>, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cac5c8d1643072edb5f04a0f012477e1ce">SOURCE</a>, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cae7dc94753104a5288049a249cb3193e4">GATEWAY</a>, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276ca5c8a2228d2052aeba0c35f5d5ad34889">CONVERTER</a></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        } <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276c">am_NodeDataType_e</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#a240b8789e06edcebdfc7d0b14f4cf109">   82</a></span>&#160;        am_NodeDataType_e <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a240b8789e06edcebdfc7d0b14f4cf109">type</a>;                                     </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">union</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        {</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#a9794d679917230d191c144b5b36fe783">   85</a></span>&#160;            <a class="code" href="structam_1_1am__Source__s.html">am_Source_s</a> *<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a9794d679917230d191c144b5b36fe783">source</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#aa703a94ad48e243226fc26d4d2efe96b">   86</a></span>&#160;            <a class="code" href="structam_1_1am__Sink__s.html">am_Sink_s</a> *<a class="code" href="structam_1_1am__RoutingNodeData__s.html#aa703a94ad48e243226fc26d4d2efe96b">sink</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#a3e64f452e79f69f04afd2fc19d1db1f1">   87</a></span>&#160;            <a class="code" href="structam_1_1am__Gateway__s.html">am_Gateway_s</a> *<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a3e64f452e79f69f04afd2fc19d1db1f1">gateway</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#a8fef46ce6e8adad5904eb863820c438e">   88</a></span>&#160;            <a class="code" href="structam_1_1am__Converter__s.html">am_Converter_s</a> *<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a8fef46ce6e8adad5904eb863820c438e">converter</a>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        } <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>;                                                 </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"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#a0ee4c39f4af856848681aedb59321915">   91</a></span>&#160;        <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a0ee4c39f4af856848681aedb59321915">am_RoutingNodeData_s</a>() :</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                type(<a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cad70db244584d9880ae4314f5ea16513a">SINK</a>)</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;        }</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"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#ae11036241429bc73b52c17067e72d240">   96</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ae11036241429bc73b52c17067e72d240">operator==</a>(<span class="keyword">const</span> <a class="code" href="structam_1_1am__RoutingNodeData__s.html">am_RoutingNodeData_s</a> &amp; anotherObject)<span class="keyword"> const</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;            <span class="keywordtype">bool</span> result = <span class="keyword">false</span>;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            <span class="keywordflow">if</span> (type == anotherObject.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a240b8789e06edcebdfc7d0b14f4cf109">type</a>)</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;                result = <span class="keyword">true</span>;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cad70db244584d9880ae4314f5ea16513a">SINK</a>)</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                    result &amp;= (<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.sink-&gt;sinkID == anotherObject.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#aa703a94ad48e243226fc26d4d2efe96b">sink</a>-&gt;<a class="code" href="structam_1_1am__Sink__s.html#a3b934f91d2925407db8e0bac0db94fb1">sinkID</a>);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cac5c8d1643072edb5f04a0f012477e1ce">SOURCE</a>)</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                    result &amp;= (<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.source-&gt;sourceID == anotherObject.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a9794d679917230d191c144b5b36fe783">source</a>-&gt;<a class="code" href="structam_1_1am__Source__s.html#ad224888802fabebefe6ff587412da9fd">sourceID</a>);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cae7dc94753104a5288049a249cb3193e4">GATEWAY</a>)</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                    result &amp;= (<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.gateway-&gt;gatewayID == anotherObject.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a3e64f452e79f69f04afd2fc19d1db1f1">gateway</a>-&gt;<a class="code" href="structam_1_1am__Gateway__s.html#ae7e7a4df823af7c01488fb3a9b51a28d">gatewayID</a>);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276ca5c8a2228d2052aeba0c35f5d5ad34889">CONVERTER</a>)</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                    result &amp;= (<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.converter-&gt;converterID == anotherObject.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.<a class="code" href="structam_1_1am__RoutingNodeData__s.html#a8fef46ce6e8adad5904eb863820c438e">converter</a>-&gt;<a class="code" href="structam_1_1am__Converter__s.html#a380af10e17c4128cc2fb32114454be71">converterID</a>);</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">return</span> result;</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;        ;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#ifdef TRACE_GRAPH</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#define COUT_NODE(HEAD, NAME, ID) \</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">    std::cout &lt;&lt; HEAD &lt;&lt; &quot;(&quot; &lt;&lt; std::setfill(&#39;0&#39;) &lt;&lt; std::setw(4) &lt;&lt; ID &lt;&lt; &quot; &quot; &lt;&lt; NAME &lt;&lt; &quot;)&quot;;</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordtype">void</span> trace()<span class="keyword"> const</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;            <span class="keywordflow">if</span>(type==<a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cad70db244584d9880ae4314f5ea16513a">SINK</a>)</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;            COUT_NODE(<span class="stringliteral">&quot;SI&quot;</span>, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.sink-&gt;name, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.sink-&gt;sinkID )</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span>(type==<a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cac5c8d1643072edb5f04a0f012477e1ce">SOURCE</a>)</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            COUT_NODE(<span class="stringliteral">&quot;SO&quot;</span>, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.source-&gt;name, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.source-&gt;sourceID )</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span>(type==<a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cae7dc94753104a5288049a249cb3193e4">GATEWAY</a>)</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;            COUT_NODE(<span class="stringliteral">&quot;GA&quot;</span>, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.gateway-&gt;name, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.gateway-&gt;gatewayID )</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span>(type==<a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276ca5c8a2228d2052aeba0c35f5d5ad34889">CONVERTER</a>)</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;            COUT_NODE(<span class="stringliteral">&quot;CO&quot;</span>, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.converter-&gt;name, <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.converter-&gt;converterID )</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="preprocessor">#endif</span></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"><a class="line" href="structam_1_1am__RoutingNodeData__s.html#a40dca77f6ca7b2dc92796ac4f271665c">  132</a></span>&#160;        <a class="code" href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a40dca77f6ca7b2dc92796ac4f271665c">domainID</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;            <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cad70db244584d9880ae4314f5ea16513a">SINK</a>)</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.sink-&gt;domainID;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cac5c8d1643072edb5f04a0f012477e1ce">SOURCE</a>)</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.source-&gt;domainID;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cae7dc94753104a5288049a249cb3193e4">GATEWAY</a>)</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.gateway-&gt;controlDomainID;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276ca5c8a2228d2052aeba0c35f5d5ad34889">CONVERTER</a>)</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">data</a>.converter-&gt;domainID;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            <span class="keywordflow">return</span> 0;</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;        ;</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"><a class="line" href="namespaceam.html#af498e822629d2abed8233b798f29d1e4">  147</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276c">am_RoutingNodeData_s::am_NodeDataType_e</a> <a class="code" href="namespaceam.html#af498e822629d2abed8233b798f29d1e4">CAmNodeDataType</a>;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="namespaceam.html#a1f15203e131cc3a53fd57dae259ff67f">  148</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="classam_1_1CAmNode.html">CAmNode&lt;am_RoutingNodeData_s&gt;</a> <a class="code" href="namespaceam.html#a1f15203e131cc3a53fd57dae259ff67f">CAmRoutingNode</a>;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="namespaceam.html#a8e5acf5a77b560755b3c47dc3e444126">  149</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="classam_1_1CAmGraph.html">CAmGraph&lt;am_RoutingNodeData_s, uint16_t&gt;</a> <a class="code" href="namespaceam.html#a8e5acf5a77b560755b3c47dc3e444126">CAmRoutingGraph</a>;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="namespaceam.html#abd263680f7c3d878c014187952bbbcf7">  150</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="classam_1_1CAmVertex.html">CAmVertex&lt;am_RoutingNodeData_s, uint16_t&gt;</a> <a class="code" href="namespaceam.html#abd263680f7c3d878c014187952bbbcf7">CAmRoutingVertex</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="namespaceam.html#abcde4f3c2d4e51bca986488b88de323d">  151</a></span>&#160;    <span class="keyword">typedef</span> std::list&lt;CAmRoutingVertex&gt; <a class="code" href="namespaceam.html#abcde4f3c2d4e51bca986488b88de323d">CAmRoutingListVertices</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="namespaceam.html#ae2d93bb8c081ecbf06b93ddb3dfbf34c">  152</a></span>&#160;    <span class="keyword">typedef</span> std::vector&lt;CAmRoutingListVertices*&gt; <a class="code" href="namespaceam.html#ae2d93bb8c081ecbf06b93ddb3dfbf34c">CAmRoutingVertexReferenceList</a>;</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">  154</span>&#160;    <span class="keyword">class </span><a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classam_1_1CAmRouter.html">  159</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classam_1_1CAmRouter.html">CAmRouter</a>: <span class="keyword">public</span> <a class="code" href="structam_1_1CAmDatabaseHandlerMap_1_1AmDatabaseObserverCallbacks.html">CAmDatabaseHandlerMap::AmDatabaseObserverCallbacks</a></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;        <a class="code" href="classam_1_1IAmDatabaseHandler.html">IAmDatabaseHandler</a>* mpDatabaseHandler;                                      </div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>* mpControlSender;                                          </div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="keywordtype">bool</span> mUpdateGraphNodesAction;                                               </div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="keywordtype">unsigned</span> mMaxAllowedCycles;                                                 </div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keywordtype">unsigned</span> mMaxPathCount;                                                     </div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        CAmRoutingGraph mRoutingGraph;                                              </div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        std::map&lt;am_domainID_t, std::vector&lt;CAmRoutingNode*&gt;&gt; mNodeListSources;     </div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        std::map&lt;am_domainID_t, std::vector&lt;CAmRoutingNode*&gt;&gt; mNodeListSinks;       </div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        std::map&lt;am_domainID_t, std::vector&lt;CAmRoutingNode*&gt;&gt; mNodeListGateways;    </div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        std::map&lt;am_domainID_t, std::vector&lt;CAmRoutingNode*&gt;&gt; mNodeListConverters;  </div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">class</span> Component&gt; <span class="keywordtype">bool</span> isComponentConnected(<span class="keyword">const</span> Component &amp; comp)</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        {</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;            <span class="keywordflow">return</span> mpDatabaseHandler-&gt;<a class="code" href="classam_1_1IAmDatabaseHandler.html#a8501e646a15bbc9a4b736f5d73bb0af9">isComponentConnected</a>(comp);</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">  181</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordtype">void</span> constructConverterConnections();</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordtype">void</span> constructGatewayConnections();</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keywordtype">void</span> constructSourceSinkConnections();</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        <span class="keywordtype">void</span> getVerticesForNode(<span class="keyword">const</span> CAmRoutingNode &amp; node, CAmRoutingListVertices &amp; list);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        <span class="keywordtype">void</span> getVerticesForSource(<span class="keyword">const</span> CAmRoutingNode &amp; node, CAmRoutingListVertices &amp; list);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordtype">void</span> getVerticesForSink(<span class="keyword">const</span> CAmRoutingNode &amp; node, CAmRoutingListVertices &amp; list);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <span class="keywordtype">void</span> getVerticesForConverter(<span class="keyword">const</span> CAmRoutingNode &amp; node, CAmRoutingListVertices &amp; list);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        <span class="keywordtype">void</span> getVerticesForGateway(<span class="keyword">const</span> CAmRoutingNode &amp; node, CAmRoutingListVertices &amp; list);</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> determineConnectionFormatsForPath(<a class="code" href="structam_1_1am__Route__s.html">am_Route_s</a> &amp; routeObjects, std::vector&lt;CAmRoutingNode*&gt; &amp; nodes, std::vector&lt;am_Route_s&gt; &amp; result);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> doConnectionFormatsForPath(<a class="code" href="structam_1_1am__Route__s.html">am_Route_s</a> &amp; routeObjects, std::vector&lt;CAmRoutingNode*&gt; &amp; route,</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                std::vector&lt;am_RoutingElement_s&gt;::iterator routingElementIterator, std::vector&lt;CAmRoutingNode*&gt;::iterator routeIterator,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                std::vector&lt;am_Route_s&gt; &amp; result);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> cfPermutationsForPath(<a class="code" href="structam_1_1am__Route__s.html">am_Route_s</a> shortestRoute, std::vector&lt;CAmRoutingNode*&gt; resultNodesPath, std::vector&lt;am_Route_s&gt;&amp; resultPath);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">int</span> insertPostion(<span class="keyword">const</span> std::vector&lt;CAmRoutingNode*&gt;&amp; path, <span class="keyword">const</span> std::vector&lt;std::vector&lt;CAmRoutingNode*&gt; &gt;&amp; nodes);</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">  241</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        <a class="code" href="classam_1_1CAmRouter.html">CAmRouter</a>(<a class="code" href="classam_1_1IAmDatabaseHandler.html">IAmDatabaseHandler</a>* iDatabaseHandler, <a class="code" href="classam_1_1CAmControlSender.html">CAmControlSender</a>* iSender);</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        ~<a class="code" href="classam_1_1CAmRouter.html">CAmRouter</a>();</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classam_1_1CAmRouter.html#ad575a457a23222246358dd95afe95d84">  245</a></span>&#160;        <span class="keywordtype">unsigned</span> <a class="code" href="classam_1_1CAmRouter.html#ad575a457a23222246358dd95afe95d84">getMaxAllowedCycles</a>()</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">  247</span>&#160;            <span class="keywordflow">return</span> mMaxAllowedCycles;</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"><a class="line" href="classam_1_1CAmRouter.html#a331f4af137913229120689fad43a8ca3">  249</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmRouter.html#a331f4af137913229120689fad43a8ca3">setMaxAllowedCycles</a>(<span class="keywordtype">unsigned</span> count)</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        {</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;            mMaxAllowedCycles = count;</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">  253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classam_1_1CAmRouter.html#aaf67ce8c7032cd98be41c648cfabaa11">  254</a></span>&#160;        <span class="keywordtype">unsigned</span> <a class="code" href="classam_1_1CAmRouter.html#aaf67ce8c7032cd98be41c648cfabaa11">getMaxPathCount</a>()</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        {</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;            <span class="keywordflow">return</span> mMaxPathCount;</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"><a class="line" href="classam_1_1CAmRouter.html#a6289e0cf1c9f8e34e33e51787f26538c">  258</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classam_1_1CAmRouter.html#a6289e0cf1c9f8e34e33e51787f26538c">setMaxPathCount</a>(<span class="keywordtype">unsigned</span> count)</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        {</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;            mMaxPathCount = count;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        }</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classam_1_1CAmRouter.html#ad98be3783f696af4ca53fb3ccb93432b">  263</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classam_1_1CAmRouter.html#ad98be3783f696af4ca53fb3ccb93432b">getUpdateGraphNodesAction</a>()</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">  265</span>&#160;            <span class="keywordflow">return</span> mUpdateGraphNodesAction;</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;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getRoute(<span class="keyword">const</span> <span class="keywordtype">bool</span> onlyfree, <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, std::vector&lt;am_Route_s&gt;&amp; returnList);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getRoute(<span class="keyword">const</span> <span class="keywordtype">bool</span> onlyfree, <span class="keyword">const</span> <a class="code" href="structam_1_1am__Source__s.html">am_Source_s</a> &amp; <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a9794d679917230d191c144b5b36fe783">source</a>, <span class="keyword">const</span> <a class="code" href="structam_1_1am__Sink__s.html">am_Sink_s</a> &amp; <a class="code" href="structam_1_1am__RoutingNodeData__s.html#aa703a94ad48e243226fc26d4d2efe96b">sink</a>, std::vector&lt;am_Route_s&gt; &amp; listRoutes);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getRouteFromLoadedNodes(<span class="keyword">const</span> <span class="keywordtype">bool</span> onlyfree, <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, std::vector&lt;am_Route_s&gt; &amp; returnList);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getRouteFromLoadedNodes(<span class="keyword">const</span> <span class="keywordtype">bool</span> onlyfree, <span class="keyword">const</span> <a class="code" href="structam_1_1am__Source__s.html">am_Source_s</a> &amp; aSource, <span class="keyword">const</span> <a class="code" href="structam_1_1am__Sink__s.html">am_Sink_s</a> &amp; aSink, std::vector&lt;am_Route_s&gt; &amp; listRoutes);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getFirstNShortestPaths(<span class="keyword">const</span> <span class="keywordtype">bool</span> onlyfree, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> cycles, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> maxPathCount, CAmRoutingNode &amp; source,</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                CAmRoutingNode &amp; sink, std::vector&lt;am_Route_s&gt; &amp; resultPath);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getShortestPath(CAmRoutingNode &amp; source, CAmRoutingNode &amp; sink, std::vector&lt;am_Route_s&gt; &amp; resultPath);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> getAllowedFormatsFromConvMatrix(<span class="keyword">const</span> std::vector&lt;bool&gt; &amp; convertionMatrix,</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; listSourceFormats, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; listSinkFormats,</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; sourceFormats, std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; sinkFormats);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> listPossibleConnectionFormats(std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; inListSourceFormats,</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; inListSinkFormats, std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; outListFormats);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> getRestrictedOutputFormats(<span class="keyword">const</span> std::vector&lt;bool&gt; &amp; convertionMatrix, <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; listSourceFormats,</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;                <span class="keyword">const</span> std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; listSinkFormats, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a114262d77aae4ed1d2daa50a36155d3e">am_CustomConnectionFormat_t</a> connectionFormat,</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; listFormats);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        <span class="keyword">static</span> <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getSourceSinkPossibleConnectionFormats(std::vector&lt;CAmRoutingNode*&gt;::iterator iteratorSource,</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                std::vector&lt;CAmRoutingNode*&gt;::iterator iteratorSink, std::vector&lt;am_CustomConnectionFormat_t&gt; &amp; outConnectionFormats);</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> shouldGoInDomain(<span class="keyword">const</span> std::vector&lt;am_domainID_t&gt; &amp; visitedDomains, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> nodeDomainID, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> maxCyclesNumber);</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        <span class="keywordtype">bool</span> shouldGoInDomain(<span class="keyword">const</span> std::vector&lt;am_domainID_t&gt; &amp; visitedDomains, <span class="keyword">const</span> <a class="code" href="namespaceam.html#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> nodeDomainID);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        CAmRoutingNode* sinkNodeWithID(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        CAmRoutingNode* sinkNodeWithID(<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#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> <a class="code" href="structam_1_1am__RoutingNodeData__s.html#a40dca77f6ca7b2dc92796ac4f271665c">domainID</a>);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        CAmRoutingNode* sourceNodeWithID(<span class="keyword">const</span> <a class="code" href="namespaceam.html#a2711516b1392ea02a7ed25fcd540a16a">am_sourceID_t</a> sourceID);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        CAmRoutingNode* sourceNodeWithID(<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#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> domainID);</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        CAmRoutingNode* converterNodeWithSinkID(<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#a58a230b5da10699a7ce1b1f2a1c550e6">am_domainID_t</a> domainID);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        CAmRoutingNode* gatewayNodeWithSinkID(<span class="keyword">const</span> <a class="code" href="namespaceam.html#aac2b901ff83ee381fbe99913753e2416">am_sinkID_t</a> sinkID);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <span class="keywordtype">void</span> load();</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        <span class="keywordtype">void</span> clear();</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getAllPaths(CAmRoutingNode &amp; aSource, CAmRoutingNode &amp; aSink, std::vector&lt;am_Route_s&gt; &amp; resultPath,</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                std::vector&lt;std::vector&lt;CAmRoutingNode*&gt;&gt; &amp; resultNodesPath, <span class="keyword">const</span> <span class="keywordtype">bool</span> includeCycles = <span class="keyword">false</span>,</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">bool</span> onlyFree = <span class="keyword">false</span>)</div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classam_1_1CAmRouter.html#a344ff4cf9f8ad6c85f1af1ee91a4f0e3">  375</a></span>&#160;                        __attribute__((deprecated(&quot;You should use <a class="code" href="namespaceam.html#aa3dcb70029da317d661b6f422de1b4ce">am_Error_e</a> getFirstNShortestPaths(const <span class="keywordtype">bool</span> onlyFree, CAmRoutingNode &amp;, CAmRoutingNode &amp;, <a class="code" href="namespacestd.html">std</a>::vector&lt;<a class="code" href="structam_1_1am__Route__s.html">am_Route_s</a>&gt; &amp;) instead!&quot;)));</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    };</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;} <span class="comment">/* namespace am */</span></div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* ROUTER_H_ */</span><span class="preprocessor"></span></div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_ac1e5030a95c5529ebdf563deef3e276cac5c8d1643072edb5f04a0f012477e1ce"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cac5c8d1643072edb5f04a0f012477e1ce">am::am_RoutingNodeData_s::SOURCE</a></div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00080">CAmRouter.h:80</a></div></div>
<div class="ttc" id="namespaceam_html_ae2d93bb8c081ecbf06b93ddb3dfbf34c"><div class="ttname"><a href="namespaceam.html#ae2d93bb8c081ecbf06b93ddb3dfbf34c">am::CAmRoutingVertexReferenceList</a></div><div class="ttdeci">std::vector&lt; CAmRoutingListVertices * &gt; CAmRoutingVertexReferenceList</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00152">CAmRouter.h:152</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_a40dca77f6ca7b2dc92796ac4f271665c"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#a40dca77f6ca7b2dc92796ac4f271665c">am::am_RoutingNodeData_s::domainID</a></div><div class="ttdeci">am_domainID_t domainID() const </div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00132">CAmRouter.h:132</a></div></div>
<div class="ttc" id="structam_1_1am__Converter__s_html_a380af10e17c4128cc2fb32114454be71"><div class="ttname"><a href="structam_1_1am__Converter__s.html#a380af10e17c4128cc2fb32114454be71">am::am_Converter_s::converterID</a></div><div class="ttdeci">am_converterID_t converterID</div><div class="ttdoc">This is the ID of the converter, it is unique in the system. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00616">audiomanagertypes.h:616</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="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="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__RoutingNodeData__s_html_ac1e5030a95c5529ebdf563deef3e276cae7dc94753104a5288049a249cb3193e4"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cae7dc94753104a5288049a249cb3193e4">am::am_RoutingNodeData_s::GATEWAY</a></div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00080">CAmRouter.h:80</a></div></div>
<div class="ttc" id="structam_1_1am__Sink__s_html_a3b934f91d2925407db8e0bac0db94fb1"><div class="ttname"><a href="structam_1_1am__Sink__s.html#a3b934f91d2925407db8e0bac0db94fb1">am::am_Sink_s::sinkID</a></div><div class="ttdeci">am_sinkID_t sinkID</div><div class="ttdoc">This is the ID of the sink, it is unique in the system. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01147">audiomanagertypes.h:1147</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_ac1e5030a95c5529ebdf563deef3e276cad70db244584d9880ae4314f5ea16513a"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276cad70db244584d9880ae4314f5ea16513a">am::am_RoutingNodeData_s::SINK</a></div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00080">CAmRouter.h:80</a></div></div>
<div class="ttc" id="classam_1_1CAmRouter_html"><div class="ttname"><a href="classam_1_1CAmRouter.html">am::CAmRouter</a></div><div class="ttdoc">Implements autorouting algorithm for connecting sinks and sources via different audio domains...</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00159">CAmRouter.h:159</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_ac1e5030a95c5529ebdf563deef3e276c"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276c">am::am_RoutingNodeData_s::am_NodeDataType_e</a></div><div class="ttdeci">am_NodeDataType_e</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00078">CAmRouter.h:78</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_a240b8789e06edcebdfc7d0b14f4cf109"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#a240b8789e06edcebdfc7d0b14f4cf109">am::am_RoutingNodeData_s::type</a></div><div class="ttdeci">am_NodeDataType_e type</div><div class="ttdoc">data type:sink, source, gateway or converter </div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00082">CAmRouter.h:82</a></div></div>
<div class="ttc" id="classam_1_1IAmDatabaseHandler_html_a8501e646a15bbc9a4b736f5d73bb0af9"><div class="ttname"><a href="classam_1_1IAmDatabaseHandler.html#a8501e646a15bbc9a4b736f5d73bb0af9">am::IAmDatabaseHandler::isComponentConnected</a></div><div class="ttdeci">virtual bool isComponentConnected(const am_Gateway_s &amp;gateway) const =0</div></div>
<div class="ttc" id="namespaceam_html_a114262d77aae4ed1d2daa50a36155d3e"><div class="ttname"><a href="namespaceam.html#a114262d77aae4ed1d2daa50a36155d3e">am::am_CustomConnectionFormat_t</a></div><div class="ttdeci">uint16_t am_CustomConnectionFormat_t</div><div class="ttdoc">This type classifies the format in which data is exchanged within a connection. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00148">audiomanagertypes.h:148</a></div></div>
<div class="ttc" id="classam_1_1CAmGraph_html"><div class="ttname"><a href="classam_1_1CAmGraph.html">am::CAmGraph&lt; am_RoutingNodeData_s, uint16_t &gt;</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_a001ab8e1ce7d5f6ed38040f9c38f4679"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#a001ab8e1ce7d5f6ed38040f9c38f4679">am::am_RoutingNodeData_s::data</a></div><div class="ttdeci">union am::am_RoutingNodeData_s::@0 data</div><div class="ttdoc">union pointer to sink, source, gateway or converter </div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
<div class="ttc" id="structam_1_1am__Gateway__s_html_ae7e7a4df823af7c01488fb3a9b51a28d"><div class="ttname"><a href="structam_1_1am__Gateway__s.html#ae7e7a4df823af7c01488fb3a9b51a28d">am::am_Gateway_s::gatewayID</a></div><div class="ttdeci">am_gatewayID_t gatewayID</div><div class="ttdoc">This is the ID of the gateway, it is unique in the system. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l00699">audiomanagertypes.h:699</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_a0ee4c39f4af856848681aedb59321915"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#a0ee4c39f4af856848681aedb59321915">am::am_RoutingNodeData_s::am_RoutingNodeData_s</a></div><div class="ttdeci">am_RoutingNodeData_s()</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00091">CAmRouter.h:91</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_a9794d679917230d191c144b5b36fe783"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#a9794d679917230d191c144b5b36fe783">am::am_RoutingNodeData_s::source</a></div><div class="ttdeci">am_Source_s * source</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00085">CAmRouter.h:85</a></div></div>
<div class="ttc" id="CAmDatabaseHandlerMap_8h_html"><div class="ttname"><a href="CAmDatabaseHandlerMap_8h.html">CAmDatabaseHandlerMap.h</a></div><div class="ttdoc">SPDX license identifier: MPL-2.0. </div></div>
<div class="ttc" id="classam_1_1CAmVertex_html"><div class="ttname"><a href="classam_1_1CAmVertex.html">am::CAmVertex</a></div><div class="ttdef"><b>Definition:</b> <a href="CAmGraph_8h_source.html#l00097">CAmGraph.h:97</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_a3e64f452e79f69f04afd2fc19d1db1f1"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#a3e64f452e79f69f04afd2fc19d1db1f1">am::am_RoutingNodeData_s::gateway</a></div><div class="ttdeci">am_Gateway_s * gateway</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00087">CAmRouter.h:87</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="namespaceam_html_af498e822629d2abed8233b798f29d1e4"><div class="ttname"><a href="namespaceam.html#af498e822629d2abed8233b798f29d1e4">am::CAmNodeDataType</a></div><div class="ttdeci">am_RoutingNodeData_s::am_NodeDataType_e CAmNodeDataType</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00147">CAmRouter.h:147</a></div></div>
<div class="ttc" id="namespaceam_html_a8e5acf5a77b560755b3c47dc3e444126"><div class="ttname"><a href="namespaceam.html#a8e5acf5a77b560755b3c47dc3e444126">am::CAmRoutingGraph</a></div><div class="ttdeci">CAmGraph&lt; am_RoutingNodeData_s, uint16_t &gt; CAmRoutingGraph</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00149">CAmRouter.h:149</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_1IAmDatabaseHandler_html"><div class="ttname"><a href="classam_1_1IAmDatabaseHandler.html">am::IAmDatabaseHandler</a></div><div class="ttdoc">This class handles and abstracts the database. </div><div class="ttdef"><b>Definition:</b> <a href="IAmDatabaseHandler_8h_source.html#l00055">IAmDatabaseHandler.h:55</a></div></div>
<div class="ttc" id="classam_1_1CAmRouter_html_ad98be3783f696af4ca53fb3ccb93432b"><div class="ttname"><a href="classam_1_1CAmRouter.html#ad98be3783f696af4ca53fb3ccb93432b">am::CAmRouter::getUpdateGraphNodesAction</a></div><div class="ttdeci">bool getUpdateGraphNodesAction()</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00263">CAmRouter.h:263</a></div></div>
<div class="ttc" id="structam_1_1CAmDatabaseHandlerMap_1_1AmDatabaseObserverCallbacks_html"><div class="ttname"><a href="structam_1_1CAmDatabaseHandlerMap_1_1AmDatabaseObserverCallbacks.html">am::CAmDatabaseHandlerMap::AmDatabaseObserverCallbacks</a></div><div class="ttdoc">Database observer. </div><div class="ttdef"><b>Definition:</b> <a href="CAmDatabaseHandlerMap_8h_source.html#l00081">CAmDatabaseHandlerMap.h:81</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_a1f15203e131cc3a53fd57dae259ff67f"><div class="ttname"><a href="namespaceam.html#a1f15203e131cc3a53fd57dae259ff67f">am::CAmRoutingNode</a></div><div class="ttdeci">CAmNode&lt; am_RoutingNodeData_s &gt; CAmRoutingNode</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00148">CAmRouter.h:148</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_aa703a94ad48e243226fc26d4d2efe96b"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#aa703a94ad48e243226fc26d4d2efe96b">am::am_RoutingNodeData_s::sink</a></div><div class="ttdeci">am_Sink_s * sink</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00086">CAmRouter.h:86</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="structam_1_1am__Source__s_html_ad224888802fabebefe6ff587412da9fd"><div class="ttname"><a href="structam_1_1am__Source__s.html#ad224888802fabebefe6ff587412da9fd">am::am_Source_s::sourceID</a></div><div class="ttdeci">am_sourceID_t sourceID</div><div class="ttdoc">This is the ID of the source, it is unique in the system. </div><div class="ttdef"><b>Definition:</b> <a href="audiomanagertypes_8h_source.html#l01242">audiomanagertypes.h:1242</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_ac1e5030a95c5529ebdf563deef3e276ca5c8a2228d2052aeba0c35f5d5ad34889"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#ac1e5030a95c5529ebdf563deef3e276ca5c8a2228d2052aeba0c35f5d5ad34889">am::am_RoutingNodeData_s::CONVERTER</a></div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00080">CAmRouter.h:80</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_a8fef46ce6e8adad5904eb863820c438e"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#a8fef46ce6e8adad5904eb863820c438e">am::am_RoutingNodeData_s::converter</a></div><div class="ttdeci">am_Converter_s * converter</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00088">CAmRouter.h:88</a></div></div>
<div class="ttc" id="namespaceam_html_abcde4f3c2d4e51bca986488b88de323d"><div class="ttname"><a href="namespaceam.html#abcde4f3c2d4e51bca986488b88de323d">am::CAmRoutingListVertices</a></div><div class="ttdeci">std::list&lt; CAmRoutingVertex &gt; CAmRoutingListVertices</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00151">CAmRouter.h:151</a></div></div>
<div class="ttc" id="audiomanagertypes_8h_html"><div class="ttname"><a href="audiomanagertypes_8h.html">audiomanagertypes.h</a></div><div class="ttdoc">Copyright (C) 2012 - 2014, BMW AG. </div></div>
<div class="ttc" id="classam_1_1CAmRouter_html_aaf67ce8c7032cd98be41c648cfabaa11"><div class="ttname"><a href="classam_1_1CAmRouter.html#aaf67ce8c7032cd98be41c648cfabaa11">am::CAmRouter::getMaxPathCount</a></div><div class="ttdeci">unsigned getMaxPathCount()</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00254">CAmRouter.h:254</a></div></div>
<div class="ttc" id="CAmGraph_8h_html"><div class="ttname"><a href="CAmGraph_8h.html">CAmGraph.h</a></div><div class="ttdoc">SPDX license identifier: MPL-2.0. </div></div>
<div class="ttc" id="classam_1_1CAmRouter_html_a6289e0cf1c9f8e34e33e51787f26538c"><div class="ttname"><a href="classam_1_1CAmRouter.html#a6289e0cf1c9f8e34e33e51787f26538c">am::CAmRouter::setMaxPathCount</a></div><div class="ttdeci">void setMaxPathCount(unsigned count)</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00258">CAmRouter.h:258</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="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_1CAmRouter_html_a331f4af137913229120689fad43a8ca3"><div class="ttname"><a href="classam_1_1CAmRouter.html#a331f4af137913229120689fad43a8ca3">am::CAmRouter::setMaxAllowedCycles</a></div><div class="ttdeci">void setMaxAllowedCycles(unsigned count)</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00249">CAmRouter.h:249</a></div></div>
<div class="ttc" id="classam_1_1CAmRouter_html_ad575a457a23222246358dd95afe95d84"><div class="ttname"><a href="classam_1_1CAmRouter.html#ad575a457a23222246358dd95afe95d84">am::CAmRouter::getMaxAllowedCycles</a></div><div class="ttdeci">unsigned getMaxAllowedCycles()</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00245">CAmRouter.h:245</a></div></div>
<div class="ttc" id="classam_1_1CAmNode_html"><div class="ttname"><a href="classam_1_1CAmNode.html">am::CAmNode&lt; am_RoutingNodeData_s &gt;</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="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_abd263680f7c3d878c014187952bbbcf7"><div class="ttname"><a href="namespaceam.html#abd263680f7c3d878c014187952bbbcf7">am::CAmRoutingVertex</a></div><div class="ttdeci">CAmVertex&lt; am_RoutingNodeData_s, uint16_t &gt; CAmRoutingVertex</div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00150">CAmRouter.h:150</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html_ae11036241429bc73b52c17067e72d240"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html#ae11036241429bc73b52c17067e72d240">am::am_RoutingNodeData_s::operator==</a></div><div class="ttdeci">bool operator==(const am_RoutingNodeData_s &amp;anotherObject) const </div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00096">CAmRouter.h:96</a></div></div>
<div class="ttc" id="structam_1_1am__RoutingNodeData__s_html"><div class="ttname"><a href="structam_1_1am__RoutingNodeData__s.html">am::am_RoutingNodeData_s</a></div><div class="ttdoc">A structure used as user data in the graph nodes. </div><div class="ttdef"><b>Definition:</b> <a href="CAmRouter_8h_source.html#l00076">CAmRouter.h:76</a></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_a2790e911832141e38a92850240f8218.html">include</a></li><li class="navelem"><a class="el" href="CAmRouter_8h.html">CAmRouter.h</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>