summaryrefslogtreecommitdiff
path: root/0.14/classAbstractRoutingEngine.html
diff options
context:
space:
mode:
Diffstat (limited to '0.14/classAbstractRoutingEngine.html')
-rw-r--r--0.14/classAbstractRoutingEngine.html483
1 files changed, 483 insertions, 0 deletions
diff --git a/0.14/classAbstractRoutingEngine.html b/0.14/classAbstractRoutingEngine.html
new file mode 100644
index 00000000..6475a0fe
--- /dev/null
+++ b/0.14/classAbstractRoutingEngine.html
@@ -0,0 +1,483 @@
+<!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: AbstractRoutingEngine Class Reference</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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><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="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#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><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classAbstractRoutingEngine-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">AbstractRoutingEngine Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aea584dbb4853b86a3020783bfe9e0608"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea584dbb4853b86a3020783bfe9e0608"></a>
+typedef std::function&lt; void(<a class="el" href="classAbstractPropertyType.html">AbstractPropertyType</a> *value)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PropertyChangedType</b></td></tr>
+<tr class="separator:aea584dbb4853b86a3020783bfe9e0608"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a60ef59d81671e74ecc1ba3e926157a7f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60ef59d81671e74ecc1ba3e926157a7f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AbstractRoutingEngine</b> (std::map&lt; std::string, std::string &gt; configuration)</td></tr>
+<tr class="separator:a60ef59d81671e74ecc1ba3e926157a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad88ea00def2bb5991f5b2b424acab6c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad88ea00def2bb5991f5b2b424acab6c8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>registerSource</b> (<a class="el" href="classAbstractSource.html">AbstractSource</a> *src)=0</td></tr>
+<tr class="separator:ad88ea00def2bb5991f5b2b424acab6c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a177588ad6d45f477f596eb025dcc8bed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a177588ad6d45f477f596eb025dcc8bed"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>updateSupported</b> (PropertyList added, PropertyList removed, <a class="el" href="classAbstractSource.html">AbstractSource</a> *source)=0</td></tr>
+<tr class="separator:a177588ad6d45f477f596eb025dcc8bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adadf5f60f3895bdb90bb224d05ee97f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adadf5f60f3895bdb90bb224d05ee97f0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#adadf5f60f3895bdb90bb224d05ee97f0">updateProperty</a> (VehicleProperty::Property property, <a class="el" href="classAbstractPropertyType.html">AbstractPropertyType</a> *value, std::string uuid)</td></tr>
+<tr class="memdesc:adadf5f60f3895bdb90bb224d05ee97f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated: <br /></td></tr>
+<tr class="separator:adadf5f60f3895bdb90bb224d05ee97f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2395e520ddfd532959706a5122998fbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2395e520ddfd532959706a5122998fbb"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>updateProperty</b> (<a class="el" href="classAbstractPropertyType.html">AbstractPropertyType</a> *value, const std::string &amp;uuid)=0</td></tr>
+<tr class="separator:a2395e520ddfd532959706a5122998fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcd80e2e3823af7101c5d1f7ff0c217c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcd80e2e3823af7101c5d1f7ff0c217c"></a>
+virtual PropertyList&#160;</td><td class="memItemRight" valign="bottom"><b>supported</b> ()=0</td></tr>
+<tr class="separator:adcd80e2e3823af7101c5d1f7ff0c217c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a179052d9ab3f70ddb4c91421f94c45a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a179052d9ab3f70ddb4c91421f94c45a9"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#a179052d9ab3f70ddb4c91421f94c45a9">registerSink</a> (<a class="el" href="classAbstractSink.html">AbstractSink</a> *self)=0</td></tr>
+<tr class="memdesc:a179052d9ab3f70ddb4c91421f94c45a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">sinks: <br /></td></tr>
+<tr class="separator:a179052d9ab3f70ddb4c91421f94c45a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f0a96c938c395565d01e0f78cc3bea8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f0a96c938c395565d01e0f78cc3bea8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>unregisterSink</b> (<a class="el" href="classAbstractSink.html">AbstractSink</a> *self)=0</td></tr>
+<tr class="separator:a0f0a96c938c395565d01e0f78cc3bea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef8ad3a6c8d00d7fe9fdb378acf918c0"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#aef8ad3a6c8d00d7fe9fdb378acf918c0">sourcesForProperty</a> (const VehicleProperty::Property &amp;property)=0</td></tr>
+<tr class="separator:aef8ad3a6c8d00d7fe9fdb378acf918c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1cbda415f674be4a3ce49be05aa8ee8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classAsyncPropertyReply.html">AsyncPropertyReply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#ad1cbda415f674be4a3ce49be05aa8ee8">getPropertyAsync</a> (<a class="el" href="classAsyncPropertyRequest.html">AsyncPropertyRequest</a> request)=0</td></tr>
+<tr class="separator:ad1cbda415f674be4a3ce49be05aa8ee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9befec62882b5cbf956b75dc99eedf21"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#a9befec62882b5cbf956b75dc99eedf21">getRangePropertyAsync</a> (<a class="el" href="classAsyncRangePropertyRequest.html">AsyncRangePropertyRequest</a> request)=0</td></tr>
+<tr class="memdesc:a9befec62882b5cbf956b75dc99eedf21"><td class="mdescLeft">&#160;</td><td class="mdescRight">getRangePropertyAsync is used for getting a range of properties that are within the specified time or sequence parameters. <a href="#a9befec62882b5cbf956b75dc99eedf21">More...</a><br /></td></tr>
+<tr class="separator:a9befec62882b5cbf956b75dc99eedf21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a740b2c9bd8f842499cf250f660553651"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a740b2c9bd8f842499cf250f660553651"></a>
+virtual <a class="el" href="classAsyncPropertyReply.html">AsyncPropertyReply</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>setProperty</b> (<a class="el" href="classAsyncSetPropertyRequest.html">AsyncSetPropertyRequest</a> request)=0</td></tr>
+<tr class="separator:a740b2c9bd8f842499cf250f660553651"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a30b4c21f91ce6586e1575458238809"><td class="memItemLeft" align="right" valign="top">virtual uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#a7a30b4c21f91ce6586e1575458238809">subscribeToProperty</a> (const VehicleProperty::Property &amp;propertyName, PropertyChangedType callback, std::string pid=&quot;&quot;)=0</td></tr>
+<tr class="memdesc:a7a30b4c21f91ce6586e1575458238809"><td class="mdescLeft">&#160;</td><td class="mdescRight">subscribeToProperty subscribes to propertyName. Value changes will be passed to callback. <a href="#a7a30b4c21f91ce6586e1575458238809">More...</a><br /></td></tr>
+<tr class="separator:a7a30b4c21f91ce6586e1575458238809"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa56c145aa682ece99791831bc7c420f7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#aa56c145aa682ece99791831bc7c420f7">unsubscribeToProperty</a> (uint handle)=0</td></tr>
+<tr class="memdesc:aa56c145aa682ece99791831bc7c420f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">unsubscribeToProperty <a href="#aa56c145aa682ece99791831bc7c420f7">More...</a><br /></td></tr>
+<tr class="separator:aa56c145aa682ece99791831bc7c420f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1714228e3ef96be7f5a50811b516c352"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#a1714228e3ef96be7f5a50811b516c352">subscribeToProperty</a> (const VehicleProperty::Property &amp;propertyName, <a class="el" href="classAbstractSink.html">AbstractSink</a> *self)=0</td></tr>
+<tr class="memdesc:a1714228e3ef96be7f5a50811b516c352"><td class="mdescLeft">&#160;</td><td class="mdescRight">subscribeToProperty subscribe to changes made to a property value. <a href="#a1714228e3ef96be7f5a50811b516c352">More...</a><br /></td></tr>
+<tr class="separator:a1714228e3ef96be7f5a50811b516c352"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae6c5d27dc01b4773b6bf77331f86e9f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#aae6c5d27dc01b4773b6bf77331f86e9f">subscribeToProperty</a> (const VehicleProperty::Property &amp;propertyName, const std::string &amp;sourceUuidFilter, <a class="el" href="classAbstractSink.html">AbstractSink</a> *self)=0</td></tr>
+<tr class="memdesc:aae6c5d27dc01b4773b6bf77331f86e9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">subscribeToProperty subscribe to changes made to a property value. <a href="#aae6c5d27dc01b4773b6bf77331f86e9f">More...</a><br /></td></tr>
+<tr class="separator:aae6c5d27dc01b4773b6bf77331f86e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac64ad6ac6a1fcd6ce7ad190262176466"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAbstractRoutingEngine.html#ac64ad6ac6a1fcd6ce7ad190262176466">subscribeToProperty</a> (const VehicleProperty::Property &amp;propertyName, const std::string &amp;sourceUuidFilter, Zone::Type zoneFilter, <a class="el" href="classAbstractSink.html">AbstractSink</a> *self)=0</td></tr>
+<tr class="memdesc:ac64ad6ac6a1fcd6ce7ad190262176466"><td class="mdescLeft">&#160;</td><td class="mdescRight">subscribeToProperty subscribe to changes made to a property value. <a href="#ac64ad6ac6a1fcd6ce7ad190262176466">More...</a><br /></td></tr>
+<tr class="separator:ac64ad6ac6a1fcd6ce7ad190262176466"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23c16d50214f36e08383cfec64e1f569"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23c16d50214f36e08383cfec64e1f569"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>unsubscribeToProperty</b> (const VehicleProperty::Property &amp;, <a class="el" href="classAbstractSink.html">AbstractSink</a> *self)=0</td></tr>
+<tr class="separator:a23c16d50214f36e08383cfec64e1f569"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa54d896b08870c24ae503a347681a439"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa54d896b08870c24ae503a347681a439"></a>
+virtual PropertyInfo&#160;</td><td class="memItemRight" valign="bottom"><b>getPropertyInfo</b> (const VehicleProperty::Property &amp;, const std::string &amp;sourceUuid)=0</td></tr>
+<tr class="separator:aa54d896b08870c24ae503a347681a439"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a84ecc2385f6cde8a0971a58ad6f7cd3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84ecc2385f6cde8a0971a58ad6f7cd3f"></a>
+std::map&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mConfig</b></td></tr>
+<tr class="separator:a84ecc2385f6cde8a0971a58ad6f7cd3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2home_2kev_2src_2automotive-message-broker_2lib_2abstractroutingengine_8h-example.html#_a26">/home/kev/src/automotive-message-broker/lib/abstractroutingengine.h</a>.</dd>
+</dl></div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ad1cbda415f674be4a3ce49be05aa8ee8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classAsyncPropertyReply.html">AsyncPropertyReply</a>* AbstractRoutingEngine::getPropertyAsync </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classAsyncPropertyRequest.html">AsyncPropertyRequest</a>&#160;</td>
+ <td class="paramname"><em>request</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>/brief getPropertyAsync requests a property value from a source. This call has a timeout and the callback specified in the request will always be called. /see <a class="el" href="classAsyncPropertyRequest.html" title="The AsyncPropertyRequest class is used by sinks to request property values. ">AsyncPropertyRequest</a> /see <a class="el" href="classAsyncPropertyReply.html" title="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 &#39;false&#39; if the request was not successful and set &#39;error&#39; to the appropriate error. ">AsyncPropertyReply</a>. /param request requested property. /return <a class="el" href="classAsyncPropertyReply.html" title="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 &#39;false&#39; if the request was not successful and set &#39;error&#39; to the appropriate error. ">AsyncPropertyReply</a>. The returned <a class="el" href="classAsyncPropertyReply.html" title="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 &#39;false&#39; if the request was not successful and set &#39;error&#39; to the appropriate error. ">AsyncPropertyReply</a> is owned by the caller of getPropertyAsync. /code <a class="el" href="classAsyncPropertyRequest.html" title="The AsyncPropertyRequest class is used by sinks to request property values. ">AsyncPropertyRequest</a> request; request.property = VehicleProperty::VehicleSpeed request.completed = [](AsyncPropertyReply* reply) { //you own the reply delete reply; }; routingEngine-&gt;getPropertyAsync(request); /endcode </p>
+
+</div>
+</div>
+<a class="anchor" id="a9befec62882b5cbf956b75dc99eedf21"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void AbstractRoutingEngine::getRangePropertyAsync </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classAsyncRangePropertyRequest.html">AsyncRangePropertyRequest</a>&#160;</td>
+ <td class="paramname"><em>request</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>getRangePropertyAsync is used for getting a range of properties that are within the specified time or sequence parameters. </p>
+<ul>
+<li>request the request containing the property and other information required by the query <dl class="section return"><dt>Returns</dt><dd>a pointer to the reply. <div class="fragment"><div class="line"><a class="code" href="classAsyncRangePropertyRequest.html">AsyncRangePropertyRequest</a> vehicleSpeedFromLastWeek;</div><div class="line"></div><div class="line">vehicleSpeedFromLastWeek.<a class="code" href="classAsyncRangePropertyRequest.html#a2dc2927f6c771707f15a767358a58e69">timeBegin</a> = amb::currentTime() - 10;</div><div class="line">vehicleSpeedFromLastWeek.<a class="code" href="classAsyncRangePropertyRequest.html#acd2a28137c227b0fb6a51576d84f5f30">timeEnd</a> = amb::currentTime();</div><div class="line"></div><div class="line">PropertyList requestList;</div><div class="line">requestList.push_back(VehicleProperty::VehicleSpeed);</div><div class="line">requestList.push_back(<a class="code" href="classVehicleProperty.html#a37806db1ab067a849a4952eaff00a842">VehicleProperty::EngineSpeed</a>);</div><div class="line"></div><div class="line">vehicleSpeedFromLastWeek.<a class="code" href="classAsyncRangePropertyRequest.html#afd6f95a06376fef905faf5ab1b580bc9">properties</a> = requestList;</div><div class="line">vehicleSpeedFromLastWeek.<a class="code" href="classAsyncRangePropertyRequest.html#a81777a8e0304bd6929c05d39c650454d">completed</a> = [](<a class="code" href="classAsyncRangePropertyReply.html">AsyncRangePropertyReply</a>* reply)</div><div class="line">{</div><div class="line"> std::list&lt;AbstractPropertyType*&gt; values = reply-&gt;values;</div><div class="line"> <span class="keywordflow">for</span>(<span class="keyword">auto</span> itr = values.begin(); itr != values.end(); itr++)</div><div class="line"> {</div><div class="line"> <span class="keyword">auto</span> val = *itr;</div><div class="line"> <a class="code" href="classDebugOut.html">DebugOut</a>(1)&lt;&lt;<span class="stringliteral">&quot;Value from past: (&quot;</span>&lt;&lt;val-&gt;name&lt;&lt;<span class="stringliteral">&quot;): &quot;</span>&lt;&lt;val-&gt;toString()&lt;&lt;<span class="stringliteral">&quot; time: &quot;</span>&lt;&lt;val-&gt;timestamp&lt;&lt;endl;</div><div class="line"> }</div><div class="line"></div><div class="line"> <span class="keyword">delete</span> reply;</div><div class="line">};</div><div class="line"></div><div class="line">routingEngine-&gt;getRangePropertyAsync(vehicleSpeedFromLastWeek);</div></div><!-- fragment --> </dd></dl>
+</li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="aef8ad3a6c8d00d7fe9fdb378acf918c0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual std::vector&lt;std::string&gt; AbstractRoutingEngine::sourcesForProperty </td>
+ <td>(</td>
+ <td class="paramtype">const VehicleProperty::Property &amp;&#160;</td>
+ <td class="paramname"><em>property</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>/brief sourcesForProperty /param property /return vector of source uuid's that support the "property" </p>
+
+</div>
+</div>
+<a class="anchor" id="a7a30b4c21f91ce6586e1575458238809"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual uint AbstractRoutingEngine::subscribeToProperty </td>
+ <td>(</td>
+ <td class="paramtype">const VehicleProperty::Property &amp;&#160;</td>
+ <td class="paramname"><em>propertyName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PropertyChangedType&#160;</td>
+ <td class="paramname"><em>callback</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string&#160;</td>
+ <td class="paramname"><em>pid</em> = <code>&quot;&quot;</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>subscribeToProperty subscribes to propertyName. Value changes will be passed to callback. </p>
+<ul>
+<li>propertyName </li>
+<li>callback </li>
+<li>pid process id of the requesting application <dl class="section return"><dt>Returns</dt><dd>subscription handle </dd></dl>
+</li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="a1714228e3ef96be7f5a50811b516c352"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool AbstractRoutingEngine::subscribeToProperty </td>
+ <td>(</td>
+ <td class="paramtype">const VehicleProperty::Property &amp;&#160;</td>
+ <td class="paramname"><em>propertyName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classAbstractSink.html">AbstractSink</a> *&#160;</td>
+ <td class="paramname"><em>self</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>subscribeToProperty subscribe to changes made to a property value. </p>
+<ul>
+<li>propertyName name of the property to request a subscription for. </li>
+<li>self pointer to the sink who is subscribing. <div class="fragment"><div class="line"><span class="comment">//somewhere in the sink:</span></div><div class="line">routingEngine-&gt;subscribeToProperty(<a class="code" href="classVehicleProperty.html#a37806db1ab067a849a4952eaff00a842">VehicleProperty::EngineSpeed</a>, <span class="keyword">this</span>);</div><div class="line"></div><div class="line"><span class="comment">//... elsewhere in the sink, this will be called when a property changes:</span></div><div class="line"><span class="keywordtype">void</span> MySink::propertyChanged(<span class="keyword">const</span> <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* property)</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span>(property-&gt;<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a> == <a class="code" href="classVehicleProperty.html#a37806db1ab067a849a4952eaff00a842">VehicleProperty::EngineSpeed</a>)</div><div class="line"> {</div><div class="line"> ...</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="aae6c5d27dc01b4773b6bf77331f86e9f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool AbstractRoutingEngine::subscribeToProperty </td>
+ <td>(</td>
+ <td class="paramtype">const VehicleProperty::Property &amp;&#160;</td>
+ <td class="paramname"><em>propertyName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::string &amp;&#160;</td>
+ <td class="paramname"><em>sourceUuidFilter</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classAbstractSink.html">AbstractSink</a> *&#160;</td>
+ <td class="paramname"><em>self</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>subscribeToProperty subscribe to changes made to a property value. </p>
+<ul>
+<li>propertyName name of the property to request a subscription for. </li>
+<li>sourceUuidFilter source UUID to filter. Only property updates from this source will be sent to the sink. </li>
+<li>self pointer to the sink who is subscribing. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ac64ad6ac6a1fcd6ce7ad190262176466"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool AbstractRoutingEngine::subscribeToProperty </td>
+ <td>(</td>
+ <td class="paramtype">const VehicleProperty::Property &amp;&#160;</td>
+ <td class="paramname"><em>propertyName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::string &amp;&#160;</td>
+ <td class="paramname"><em>sourceUuidFilter</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Zone::Type&#160;</td>
+ <td class="paramname"><em>zoneFilter</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classAbstractSink.html">AbstractSink</a> *&#160;</td>
+ <td class="paramname"><em>self</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>subscribeToProperty subscribe to changes made to a property value. </p>
+<ul>
+<li>propertyName name of the property to request a subscription for. </li>
+<li>sourceUuidFilter source UUID to filter. Only property updates from this source will be sent to the sink. </li>
+<li>zoneFilter zone to filter. Only updates from this zone will be passed to the sink. </li>
+<li>self pointer to the sink who is subscribing. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="aa56c145aa682ece99791831bc7c420f7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void AbstractRoutingEngine::unsubscribeToProperty </td>
+ <td>(</td>
+ <td class="paramtype">uint&#160;</td>
+ <td class="paramname"><em>handle</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>unsubscribeToProperty </p>
+<ul>
+<li>handle </li>
+</ul>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/kev/src/automotive-message-broker/lib/<a class="el" href="abstractroutingengine_8h_source.html">abstractroutingengine.h</a></li>
+</ul>
+</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>