summaryrefslogtreecommitdiff
path: root/0.14/html/ambpluginimpl_8h_source.html
blob: e07873af410be2b94412087443956c7d12e25588 (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
<!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>automotive-message-broker: /home/kev/src/automotive-message-broker/lib/ambpluginimpl.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="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">automotive-message-broker
   &#160;<span id="projectnumber">0.14.0</span>
   </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="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</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>
<!-- 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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ambpluginimpl.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">Copyright (C) 2012 Intel Corporation</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">Lesser General Public License for more details.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef _AMBPLUGINIMPL_H_</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define _AMBPLUGINIMPL_H_</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;abstractsource.h&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classAmbPluginImpl.html">   36</a></span>&#160;<span class="keyword">class </span><a class="code" href="classAmbPluginImpl.html">AmbPluginImpl</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">   39</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <a class="code" href="classAmbPluginImpl.html#a3d8f1cc299086979feda83a738383da9">AmbPluginImpl</a>(<a class="code" href="classAbstractRoutingEngine.html">AbstractRoutingEngine</a>* re, <span class="keyword">const</span> map&lt;string, string&gt;&amp; config, <a class="code" href="classAbstractSource.html">AbstractSource</a> &amp;parent);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="classAmbPluginImpl.html">AmbPluginImpl</a>() { } <span class="comment">/*LCOV_EXCL_LINE*/</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">//  aka AbstractSource:</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#abb111b1801f96f34d1dac2667cd3b349">getPropertyAsync</a>(<a class="code" href="classAsyncPropertyReply.html">AsyncPropertyReply</a> *reply);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#a9447fe9aefa1c4407c65bed49bdc09e7">getRangePropertyAsync</a>(<a class="code" href="classAsyncRangePropertyReply.html">AsyncRangePropertyReply</a> *reply);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classAsyncPropertyReply.html">AsyncPropertyReply</a> *<a class="code" href="classAmbPluginImpl.html#a99149b3a7d6912959d1ad6bda3e10843">setProperty</a>(<span class="keyword">const</span> <a class="code" href="classAsyncSetPropertyRequest.html">AsyncSetPropertyRequest</a>&amp; request );</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#a2d1fe01faaee9e48268df587481f11ce">subscribeToPropertyChanges</a>(<span class="keyword">const</span> VehicleProperty::Property&amp; property);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#afddf7c88c3e53e8b4722e9a456c1529c">unsubscribeToPropertyChanges</a>(<span class="keyword">const</span> VehicleProperty::Property&amp; property);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keyword">virtual</span> PropertyList <a class="code" href="classAmbPluginImpl.html#a03a9c9305463e47cdc5c73f8d178aef6">supported</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classAmbPluginImpl.html#aa1b56456501c4233ed8071dcbdf955bd">supportedOperations</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keyword">virtual</span> PropertyInfo <a class="code" href="classAmbPluginImpl.html#a417e5e1bbe184f41db38b7e567ea369e">getPropertyInfo</a>(<span class="keyword">const</span> VehicleProperty::Property &amp; property);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="comment">// aka AbstractSink:</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classAmbPluginImpl.html#abba832fa02a70798df7323b909c7a2c2">uuid</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#a82134b7948d3f9cce0168dfc8da7579e">propertyChanged</a>(<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* value);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#a9ef528c7ee79bfd30132b926ce38b0ae">supportedChanged</a>(<span class="keyword">const</span> PropertyList&amp; supportedProperties);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#a0e9fa59ffb80efe0e30fb5de78540a31">init</a>();</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classAmbPluginImpl.html#acd51c852d9aa295dc8a37119876a4f1c">  138</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classAmbPluginImpl.html#acd51c852d9aa295dc8a37119876a4f1c">setValue</a>(std::shared_ptr&lt;AbstractPropertyType&gt; property, T value)</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;        <span class="keywordflow">if</span>(property-&gt;value&lt;T&gt;() == value)</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        {</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            <span class="keywordflow">return</span>;</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;        <span class="keyword">property</span>-&gt;setValue(value);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <a class="code" href="classAmbPluginImpl.html#a44be51306133b0d71ed79507032c3a8c">routingEngine</a>-&gt;<a class="code" href="classAbstractRoutingEngine.html#adadf5f60f3895bdb90bb224d05ee97f0">updateProperty</a>(property.get(), source.<a class="code" href="classAbstractSink.html#a965ae1d5218713c7823fbd95fa51b053">uuid</a>());</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    }</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* <a class="code" href="classAmbPluginImpl.html#a35c8d3e886b9b2f891cffb10d93637ec">findPropertyType</a>(<span class="keyword">const</span> VehicleProperty::Property&amp; propertyName, <span class="keyword">const</span> Zone::Type&amp; zone = Zone::None);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    std::shared_ptr&lt;AbstractPropertyType&gt; <a class="code" href="classAmbPluginImpl.html#a23dd25458089bb7f3ed5de44395ded7c">addPropertySupport</a>(Zone::Type zone, std::function&lt;<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* (<span class="keywordtype">void</span>)&gt; typeFactory, std::string sourceUuid=<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    std::shared_ptr&lt;AbstractPropertyType&gt; <a class="code" href="classAmbPluginImpl.html#a23dd25458089bb7f3ed5de44395ded7c">addPropertySupport</a>(Zone::Type zone)</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;        <span class="keyword">auto</span> typeFactory = [](){</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> T;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        };</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classAmbPluginImpl.html#a23dd25458089bb7f3ed5de44395ded7c">addPropertySupport</a>(zone, typeFactory);</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">  175</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="comment">// data:</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="comment">//</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="classAbstractSource.html">AbstractSource</a>&amp; source;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classAmbPluginImpl.html#a44be51306133b0d71ed79507032c3a8c">  188</a></span>&#160;    <a class="code" href="classAbstractRoutingEngine.html">AbstractRoutingEngine</a>* <a class="code" href="classAmbPluginImpl.html#a44be51306133b0d71ed79507032c3a8c">routingEngine</a>;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classAmbPluginImpl.html#a6be3e5823bb358932c132760262fb4ee">  193</a></span>&#160;    <span class="keyword">typedef</span> std::map&lt; Zone::Type, std::shared_ptr&lt;AbstractPropertyType&gt; &gt; <a class="code" href="classAmbPluginImpl.html#a6be3e5823bb358932c132760262fb4ee">ZonePropertyType</a>;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classAmbPluginImpl.html#a8f58d50cf0a4dd48b90e8fad6a9f5baa">  199</a></span>&#160;    std::map&lt; VehicleProperty::Property, ZonePropertyType &gt; <a class="code" href="classAmbPluginImpl.html#a8f58d50cf0a4dd48b90e8fad6a9f5baa">properties</a>;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classAmbPluginImpl.html#a1f711a42020b16453e6890d3634de987">  204</a></span>&#160;    std::map&lt; std::string, std::string&gt; <a class="code" href="classAmbPluginImpl.html#a1f711a42020b16453e6890d3634de987">configuration</a>;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;};</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;<span class="preprocessor">#endif // _AMBPLUGINIMPL_H_</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="ttc" id="classAmbPluginImpl_html_afddf7c88c3e53e8b4722e9a456c1529c"><div class="ttname"><a href="classAmbPluginImpl.html#afddf7c88c3e53e8b4722e9a456c1529c">AmbPluginImpl::unsubscribeToPropertyChanges</a></div><div class="ttdeci">virtual void unsubscribeToPropertyChanges(const VehicleProperty::Property &amp;property)</div><div class="ttdoc">unsubscribeToPropertyChanges is called when a sink requests to unsubscribe from a given property&amp;#39;s ch...</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a417e5e1bbe184f41db38b7e567ea369e"><div class="ttname"><a href="classAmbPluginImpl.html#a417e5e1bbe184f41db38b7e567ea369e">AmbPluginImpl::getPropertyInfo</a></div><div class="ttdeci">virtual PropertyInfo getPropertyInfo(const VehicleProperty::Property &amp;property)</div><div class="ttdoc">getPropertyInfo used to return specific information about a property. The source should override this...</div></div>
<div class="ttc" id="classAmbPluginImpl_html_acd51c852d9aa295dc8a37119876a4f1c"><div class="ttname"><a href="classAmbPluginImpl.html#acd51c852d9aa295dc8a37119876a4f1c">AmbPluginImpl::setValue</a></div><div class="ttdeci">void setValue(std::shared_ptr&lt; AbstractPropertyType &gt; property, T value)</div><div class="ttdoc">setValue of a property </div><div class="ttdef"><b>Definition:</b> ambpluginimpl.h:138</div></div>
<div class="ttc" id="classAbstractSink_html_a965ae1d5218713c7823fbd95fa51b053"><div class="ttname"><a href="classAbstractSink.html#a965ae1d5218713c7823fbd95fa51b053">AbstractSink::uuid</a></div><div class="ttdeci">virtual const string uuid()=0</div><div class="ttdoc">Pure virtual methods: </div></div>
<div class="ttc" id="classAmbPluginImpl_html_a44be51306133b0d71ed79507032c3a8c"><div class="ttname"><a href="classAmbPluginImpl.html#a44be51306133b0d71ed79507032c3a8c">AmbPluginImpl::routingEngine</a></div><div class="ttdeci">AbstractRoutingEngine * routingEngine</div><div class="ttdef"><b>Definition:</b> ambpluginimpl.h:188</div></div>
<div class="ttc" id="classAbstractPropertyType_html"><div class="ttname"><a href="classAbstractPropertyType.html">AbstractPropertyType</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:70</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a3d8f1cc299086979feda83a738383da9"><div class="ttname"><a href="classAmbPluginImpl.html#a3d8f1cc299086979feda83a738383da9">AmbPluginImpl::AmbPluginImpl</a></div><div class="ttdeci">AmbPluginImpl(AbstractRoutingEngine *re, const map&lt; string, string &gt; &amp;config, AbstractSource &amp;parent)</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a03a9c9305463e47cdc5c73f8d178aef6"><div class="ttname"><a href="classAmbPluginImpl.html#a03a9c9305463e47cdc5c73f8d178aef6">AmbPluginImpl::supported</a></div><div class="ttdeci">virtual PropertyList supported() const </div><div class="ttdoc">supported is called by the routingEngine to understand what properties this source supports...</div></div>
<div class="ttc" id="classAbstractRoutingEngine_html"><div class="ttname"><a href="classAbstractRoutingEngine.html">AbstractRoutingEngine</a></div><div class="ttdef"><b>Definition:</b> abstractroutingengine.h:366</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a9ef528c7ee79bfd30132b926ce38b0ae"><div class="ttname"><a href="classAmbPluginImpl.html#a9ef528c7ee79bfd30132b926ce38b0ae">AmbPluginImpl::supportedChanged</a></div><div class="ttdeci">virtual void supportedChanged(const PropertyList &amp;supportedProperties)</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a2d1fe01faaee9e48268df587481f11ce"><div class="ttname"><a href="classAmbPluginImpl.html#a2d1fe01faaee9e48268df587481f11ce">AmbPluginImpl::subscribeToPropertyChanges</a></div><div class="ttdeci">virtual void subscribeToPropertyChanges(const VehicleProperty::Property &amp;property)</div><div class="ttdoc">subscribeToPropertyChanges is called when a sink requests a subscription. Source plugins can keep tra...</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a6be3e5823bb358932c132760262fb4ee"><div class="ttname"><a href="classAmbPluginImpl.html#a6be3e5823bb358932c132760262fb4ee">AmbPluginImpl::ZonePropertyType</a></div><div class="ttdeci">std::map&lt; Zone::Type, std::shared_ptr&lt; AbstractPropertyType &gt; &gt; ZonePropertyType</div><div class="ttdef"><b>Definition:</b> ambpluginimpl.h:193</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a35c8d3e886b9b2f891cffb10d93637ec"><div class="ttname"><a href="classAmbPluginImpl.html#a35c8d3e886b9b2f891cffb10d93637ec">AmbPluginImpl::findPropertyType</a></div><div class="ttdeci">virtual AbstractPropertyType * findPropertyType(const VehicleProperty::Property &amp;propertyName, const Zone::Type &amp;zone=Zone::None)</div></div>
<div class="ttc" id="classAmbPluginImpl_html_abb111b1801f96f34d1dac2667cd3b349"><div class="ttname"><a href="classAmbPluginImpl.html#abb111b1801f96f34d1dac2667cd3b349">AmbPluginImpl::getPropertyAsync</a></div><div class="ttdeci">virtual void getPropertyAsync(AsyncPropertyReply *reply)</div><div class="ttdoc">getPropertyAsync is called when a sink requests the value for given property. This is only called if ...</div></div>
<div class="ttc" id="classAsyncPropertyReply_html"><div class="ttname"><a href="classAsyncPropertyReply.html">AsyncPropertyReply</a></div><div class="ttdoc">The AsyncPropertyReply class is used by sources to reply to Get and Set operations. The source should set success to true if the call is successful or &amp;#39;false&amp;#39; if the request was not successful and set &amp;#39;error&amp;#39; to the appropriate error. </div><div class="ttdef"><b>Definition:</b> abstractroutingengine.h:123</div></div>
<div class="ttc" id="classAmbPluginImpl_html"><div class="ttname"><a href="classAmbPluginImpl.html">AmbPluginImpl</a></div><div class="ttdoc">AmbPlugin private class implementation - base class for all plugin implementations. </div><div class="ttdef"><b>Definition:</b> ambpluginimpl.h:36</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a0e9fa59ffb80efe0e30fb5de78540a31"><div class="ttname"><a href="classAmbPluginImpl.html#a0e9fa59ffb80efe0e30fb5de78540a31">AmbPluginImpl::init</a></div><div class="ttdeci">virtual void init()</div></div>
<div class="ttc" id="classAsyncSetPropertyRequest_html"><div class="ttname"><a href="classAsyncSetPropertyRequest.html">AsyncSetPropertyRequest</a></div><div class="ttdoc">The AsyncSetPropertyRequest class is used by sinks to set a property to the &amp;#39;value&amp;#39;. The source will reply with a AsyncPropertyReply containing the new value or an error. </div><div class="ttdef"><b>Definition:</b> abstractroutingengine.h:219</div></div>
<div class="ttc" id="classAmbPluginImpl_html_aa1b56456501c4233ed8071dcbdf955bd"><div class="ttname"><a href="classAmbPluginImpl.html#aa1b56456501c4233ed8071dcbdf955bd">AmbPluginImpl::supportedOperations</a></div><div class="ttdeci">virtual int supportedOperations() const </div><div class="ttdoc">supportedOperations </div></div>
<div class="ttc" id="classAsyncRangePropertyReply_html"><div class="ttname"><a href="classAsyncRangePropertyReply.html">AsyncRangePropertyReply</a></div><div class="ttdoc">The AsyncRangePropertyReply class is used by a source to reply to an AsyncRangePropertyRequest. The source should set success to &amp;#39;true&amp;#39; and populate the &amp;#39;values&amp;#39; member if the request was successful. If the request is not successful, &amp;#39;success&amp;#39; should be set to &amp;#39;false&amp;#39; and the &amp;#39;error&amp;#39; member should be set. </div><div class="ttdef"><b>Definition:</b> abstractroutingengine.h:331</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a23dd25458089bb7f3ed5de44395ded7c"><div class="ttname"><a href="classAmbPluginImpl.html#a23dd25458089bb7f3ed5de44395ded7c">AmbPluginImpl::addPropertySupport</a></div><div class="ttdeci">std::shared_ptr&lt; AbstractPropertyType &gt; addPropertySupport(Zone::Type zone, std::function&lt; AbstractPropertyType *(void)&gt; typeFactory, std::string sourceUuid=&quot;&quot;)</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a8f58d50cf0a4dd48b90e8fad6a9f5baa"><div class="ttname"><a href="classAmbPluginImpl.html#a8f58d50cf0a4dd48b90e8fad6a9f5baa">AmbPluginImpl::properties</a></div><div class="ttdeci">std::map&lt; VehicleProperty::Property, ZonePropertyType &gt; properties</div><div class="ttdef"><b>Definition:</b> ambpluginimpl.h:199</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a99149b3a7d6912959d1ad6bda3e10843"><div class="ttname"><a href="classAmbPluginImpl.html#a99149b3a7d6912959d1ad6bda3e10843">AmbPluginImpl::setProperty</a></div><div class="ttdeci">virtual AsyncPropertyReply * setProperty(const AsyncSetPropertyRequest &amp;request)</div><div class="ttdoc">setProperty is called when a sink requests to set a value for a given property. This is only called i...</div></div>
<div class="ttc" id="classAmbPluginImpl_html_abba832fa02a70798df7323b909c7a2c2"><div class="ttname"><a href="classAmbPluginImpl.html#abba832fa02a70798df7323b909c7a2c2">AmbPluginImpl::uuid</a></div><div class="ttdeci">virtual const std::string uuid() const =0</div></div>
<div class="ttc" id="classAbstractRoutingEngine_html_adadf5f60f3895bdb90bb224d05ee97f0"><div class="ttname"><a href="classAbstractRoutingEngine.html#adadf5f60f3895bdb90bb224d05ee97f0">AbstractRoutingEngine::updateProperty</a></div><div class="ttdeci">void updateProperty(VehicleProperty::Property property, AbstractPropertyType *value, std::string uuid)</div><div class="ttdoc">Deprecated: </div><div class="ttdef"><b>Definition:</b> abstractroutingengine.h:379</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a82134b7948d3f9cce0168dfc8da7579e"><div class="ttname"><a href="classAmbPluginImpl.html#a82134b7948d3f9cce0168dfc8da7579e">AmbPluginImpl::propertyChanged</a></div><div class="ttdeci">virtual void propertyChanged(AbstractPropertyType *value)</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a1f711a42020b16453e6890d3634de987"><div class="ttname"><a href="classAmbPluginImpl.html#a1f711a42020b16453e6890d3634de987">AmbPluginImpl::configuration</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; configuration</div><div class="ttdef"><b>Definition:</b> ambpluginimpl.h:204</div></div>
<div class="ttc" id="classAbstractSource_html"><div class="ttname"><a href="classAbstractSource.html">AbstractSource</a></div><div class="ttdef"><b>Definition:</b> abstractsource.h:41</div></div>
<div class="ttc" id="classAmbPluginImpl_html_a9447fe9aefa1c4407c65bed49bdc09e7"><div class="ttname"><a href="classAmbPluginImpl.html#a9447fe9aefa1c4407c65bed49bdc09e7">AmbPluginImpl::getRangePropertyAsync</a></div><div class="ttdeci">virtual void getRangePropertyAsync(AsyncRangePropertyReply *reply)</div><div class="ttdoc">getRangePropertyAsync is called when a sink requests a series of values for a given property within a...</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>