Newer
Older
<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ETSI STF525 / Internal Testing test suite: layer Class Reference</title>
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
<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>
<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">ETSI STF525 / Internal Testing test suite
</div>
<div id="projectbrief">This project provides an internal testing test suite and its associated Test Adapter/Codec</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></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-methods">Public Member Functions</a> |
<a href="#pro-methods">Protected Member Functions</a> |
<a href="#pro-attribs">Protected Attributes</a> |
<a href="#pri-attribs">Private Attributes</a> |
<a href="classlayer-members.html">List of all members</a> </div>
<div class="title">layer Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Forward declaration of TITAN class.
<a href="classlayer.html#details">More...</a></p>
<p><code>#include <<a class="el" href="layer_8hh_source.html">layer.hh</a>></code></p>
Inheritance diagram for layer:</div>
<img src="classlayer.png" usemap="#layer_map" alt=""/>
<map id="layer_map" name="layer_map">
<area href="classcommsignia__layer.html" title="Forward declaration of TITAN class. " alt="commsignia_layer" shape="rect" coords="392,56,774,80"/>
<area href="classethernet__layer.html" alt="ethernet_layer" shape="rect" coords="392,112,774,136"/>
<area href="classhttp__layer.html" title="Forward declaration of TITAN class. " alt="http_layer" shape="rect" coords="392,168,774,192"/>
<area href="classpcap__layer.html" title="Forward declaration of TITAN class. " alt="pcap_layer" shape="rect" coords="392,224,774,248"/>
<area href="classraw__socket__layer.html" alt="raw_socket_layer" shape="rect" coords="392,280,774,304"/>
<area href="classt__layer.html" title="This class provides basic description of an ITS port protocol layer. A port protocol layer is the fin..." alt="t_layer< TPort >" shape="rect" coords="392,336,774,360"/>
<area href="classt__layer.html" alt="t_layer< LibItsBtp__TestSystem::BtpPort >" shape="rect" coords="392,392,774,416"/>
<area href="classt__layer.html" alt="t_layer< LibItsCam__TestSystem::CamPort >" shape="rect" coords="392,448,774,472"/>
<area href="classt__layer.html" alt="t_layer< LibItsCam__TestSystem::UpperTesterPort >" shape="rect" coords="392,504,774,528"/>
<area href="classt__layer.html" alt="t_layer< LibItsDenm__TestSystem::DenmPort >" shape="rect" coords="392,560,774,584"/>
<area href="classt__layer.html" alt="t_layer< LibItsDenm__TestSystem::UpperTesterPort >" shape="rect" coords="392,616,774,640"/>
<area href="classt__layer.html" alt="t_layer< LibItsGeoNetworking__TestSystem::GeoNetworkingPort >" shape="rect" coords="392,672,774,696"/>
<area href="classt__layer.html" alt="t_layer< LibItsGeoNetworking__TestSystem::UpperTesterPort >" shape="rect" coords="392,728,774,752"/>
<area href="classt__layer.html" alt="t_layer< LibItsIvim__TestSystem::IvimPort >" shape="rect" coords="392,784,774,808"/>
<area href="classt__layer.html" alt="t_layer< LibItsIvim__TestSystem::UpperTesterPort >" shape="rect" coords="392,840,774,864"/>
<area href="classt__layer.html" alt="t_layer< LibItsMapemSpatem__TestSystem::MapemSpatemPort >" shape="rect" coords="392,896,774,920"/>
<area href="classt__layer.html" alt="t_layer< LibItsMapemSpatem__TestSystem::UpperTesterPort >" shape="rect" coords="392,952,774,976"/>
<area href="classt__layer.html" alt="t_layer< LibItsSremSsem__TestSystem::SremSsemPort >" shape="rect" coords="392,1008,774,1032"/>
<area href="classt__layer.html" alt="t_layer< LibItsSremSsem__TestSystem::UpperTesterPort >" shape="rect" coords="392,1064,774,1088"/>
<area href="classtcp__layer.html" title="Forward declaration of TITAN class. " alt="tcp_layer" shape="rect" coords="392,1120,774,1144"/>
<area href="classudp__layer.html" title="This class provides description of ITS UDP/IP protocol layer. " alt="udp_layer" shape="rect" coords="392,1176,774,1200"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
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
<tr class="memitem:a95796de3b5f8aa07f49effa03a03f6f8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a95796de3b5f8aa07f49effa03a03f6f8">layer</a> ()</td></tr>
<tr class="memdesc:a95796de3b5f8aa07f49effa03a03f6f8"><td class="mdescLeft"> </td><td class="mdescRight">Type description, it indicates the protocol type (e.g. CAM, DENM, GN, ETH, PCAP...) <a href="#a95796de3b5f8aa07f49effa03a03f6f8">More...</a><br /></td></tr>
<tr class="separator:a95796de3b5f8aa07f49effa03a03f6f8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a03021f01512262d935148efc28d27d08"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a03021f01512262d935148efc28d27d08">layer</a> (const std::string &p_type)</td></tr>
<tr class="memdesc:a03021f01512262d935148efc28d27d08"><td class="mdescLeft"> </td><td class="mdescRight">Specialized constructor Create a new instance of the layer class with its type description. <a href="#a03021f01512262d935148efc28d27d08">More...</a><br /></td></tr>
<tr class="separator:a03021f01512262d935148efc28d27d08"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae0781f14cd91478477526183951eb052"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#ae0781f14cd91478477526183951eb052">~layer</a> ()</td></tr>
<tr class="memdesc:ae0781f14cd91478477526183951eb052"><td class="mdescLeft"> </td><td class="mdescRight">Default destructor. <a href="#ae0781f14cd91478477526183951eb052">More...</a><br /></td></tr>
<tr class="separator:ae0781f14cd91478477526183951eb052"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5fa935a11ee64b2ffac3379ac5cfa43e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a5fa935a11ee64b2ffac3379ac5cfa43e">delete_layer</a> ()</td></tr>
<tr class="memdesc:a5fa935a11ee64b2ffac3379ac5cfa43e"><td class="mdescLeft"> </td><td class="mdescRight">Delete this layer. <a href="#a5fa935a11ee64b2ffac3379ac5cfa43e">More...</a><br /></td></tr>
<tr class="separator:a5fa935a11ee64b2ffac3379ac5cfa43e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9967a212fe9e4a914e1e574738e31080"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a9967a212fe9e4a914e1e574738e31080">add_upper_layer</a> (<a class="el" href="classlayer.html">layer</a> *p_layer)</td></tr>
<tr class="memdesc:a9967a212fe9e4a914e1e574738e31080"><td class="mdescLeft"> </td><td class="mdescRight">Add a new layer in the list of the upper layer. <a href="#a9967a212fe9e4a914e1e574738e31080">More...</a><br /></td></tr>
<tr class="separator:a9967a212fe9e4a914e1e574738e31080"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a903b94ac2545e75f015e5678599877f9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a903b94ac2545e75f015e5678599877f9">remove_upper_layer</a> (<a class="el" href="classlayer.html">layer</a> *p_layer)</td></tr>
<tr class="memdesc:a903b94ac2545e75f015e5678599877f9"><td class="mdescLeft"> </td><td class="mdescRight">Remove the specified upper layer protocol from the list of the upper layer. <a href="#a903b94ac2545e75f015e5678599877f9">More...</a><br /></td></tr>
<tr class="separator:a903b94ac2545e75f015e5678599877f9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a25475e171c9801e38592b5e3d10722e6"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a25475e171c9801e38592b5e3d10722e6">send_data</a> (OCTETSTRING &p_data, <a class="el" href="classParams.html">Params</a> &p_params)</td></tr>
<tr class="memdesc:a25475e171c9801e38592b5e3d10722e6"><td class="mdescLeft"> </td><td class="mdescRight">Send bytes formated data to the lower layers. <a href="#a25475e171c9801e38592b5e3d10722e6">More...</a><br /></td></tr>
<tr class="separator:a25475e171c9801e38592b5e3d10722e6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa5fc5886a7b4e0593969bb0b641ccf49"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#aa5fc5886a7b4e0593969bb0b641ccf49">receive_data</a> (OCTETSTRING &p_data, <a class="el" href="classParams.html">Params</a> &p_params)</td></tr>
<tr class="memdesc:aa5fc5886a7b4e0593969bb0b641ccf49"><td class="mdescLeft"> </td><td class="mdescRight">Receive bytes formated data from the lower layers. <a href="#aa5fc5886a7b4e0593969bb0b641ccf49">More...</a><br /></td></tr>
<tr class="separator:aa5fc5886a7b4e0593969bb0b641ccf49"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0e602d58e496b890e0c986088bd66551"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a0e602d58e496b890e0c986088bd66551">to_string</a> () const</td></tr>
<tr class="memdesc:a0e602d58e496b890e0c986088bd66551"><td class="mdescLeft"> </td><td class="mdescRight">Remove the specified upper layer protocol from the list of the upper layer. <a href="#a0e602d58e496b890e0c986088bd66551">More...</a><br /></td></tr>
<tr class="separator:a0e602d58e496b890e0c986088bd66551"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aaa40f56e6628ead0e29f6e0dd08314fa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#aaa40f56e6628ead0e29f6e0dd08314fa">to_all_layers</a> (std::vector< <a class="el" href="classlayer.html">layer</a> *> &layers, OCTETSTRING &data, <a class="el" href="classParams.html">Params</a> &params)</td></tr>
<tr class="separator:aaa40f56e6628ead0e29f6e0dd08314fa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aafda59c8804287d1e08519892d5858a1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#aafda59c8804287d1e08519892d5858a1">receive_to_all_layers</a> (OCTETSTRING &data, <a class="el" href="classParams.html">Params</a> &params)</td></tr>
<tr class="separator:aafda59c8804287d1e08519892d5858a1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad7f025f66ff13f65f4d641edd3d45e7a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#ad7f025f66ff13f65f4d641edd3d45e7a">send_to_all_layers</a> (OCTETSTRING &data, <a class="el" href="classParams.html">Params</a> &params)</td></tr>
<tr class="separator:ad7f025f66ff13f65f4d641edd3d45e7a"><td class="memSeparator" colspan="2"> </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:a01eb181953398803f772ad83dac8a192"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a01eb181953398803f772ad83dac8a192">type</a></td></tr>
<tr class="memdesc:a01eb181953398803f772ad83dac8a192"><td class="mdescLeft"> </td><td class="mdescRight">List of the lower protocol layers. <a href="#a01eb181953398803f772ad83dac8a192">More...</a><br /></td></tr>
<tr class="separator:a01eb181953398803f772ad83dac8a192"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a206c1a0a8f7582d5dcc2f9b7cbe08179"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classlayer.html">layer</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a206c1a0a8f7582d5dcc2f9b7cbe08179">upperLayers</a></td></tr>
<tr class="separator:a206c1a0a8f7582d5dcc2f9b7cbe08179"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2f265abd9961451149783ca03398f7a0"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classlayer.html">layer</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlayer.html#a2f265abd9961451149783ca03398f7a0">lowerLayers</a></td></tr>
<tr class="memdesc:a2f265abd9961451149783ca03398f7a0"><td class="mdescLeft"> </td><td class="mdescRight">List of the upper protocol layers. <a href="#a2f265abd9961451149783ca03398f7a0">More...</a><br /></td></tr>
<tr class="separator:a2f265abd9961451149783ca03398f7a0"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Forward declaration of TITAN class. </p>
<p>This class provides basic description of an ITS protocol layer </p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a id="a95796de3b5f8aa07f49effa03a03f6f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95796de3b5f8aa07f49effa03a03f6f8">◆ </a></span>layer() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">layer::layer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Type description, it indicates the protocol type (e.g. CAM, DENM, GN, ETH, PCAP...) </p>
<p>Default constructor Create a new instance of the layer class </p>
<a id="a03021f01512262d935148efc28d27d08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03021f01512262d935148efc28d27d08">◆ </a></span>layer() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">layer::layer </td>
<td>(</td>
<td class="paramtype">const std::string & </td>
<td class="paramname"><em>p_type</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Specialized constructor Create a new instance of the layer class with its type description. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_type</td><td>The port type name (e.g. GN for the GeoNetworking layer) </td></tr>
</table>
</dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>This constructor is called by the layer factory </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classlayer__factory.html" title="This class provides a factory class to create layer class instances . ">layer_factory</a> </dd></dl>
<a id="ae0781f14cd91478477526183951eb052"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0781f14cd91478477526183951eb052">◆ </a></span>~layer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual layer::~layer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default destructor. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000020">Todo:</a></b></dt><dd>Remove logs </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a9967a212fe9e4a914e1e574738e31080"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9967a212fe9e4a914e1e574738e31080">◆ </a></span>add_upper_layer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::add_upper_layer </td>
<td class="paramtype"><a class="el" href="classlayer.html">layer</a> * </td>
<td class="paramname"><em>p_layer</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new layer in the list of the upper layer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_layer</td><td>The layer protocol to be removed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5fa935a11ee64b2ffac3379ac5cfa43e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fa935a11ee64b2ffac3379ac5cfa43e">◆ </a></span>delete_layer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::delete_layer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete this layer. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000021">Todo:</a></b></dt><dd>To be implemented </dd></dl>
<a id="aa5fc5886a7b4e0593969bb0b641ccf49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5fc5886a7b4e0593969bb0b641ccf49">◆ </a></span>receive_data()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::receive_data </td>
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
<td>(</td>
<td class="paramtype">OCTETSTRING & </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classParams.html">Params</a> & </td>
<td class="paramname"><em>params</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive bytes formated data from the lower layers. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_data</td><td>The bytes formated data received </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_params</td><td>Some lower layers parameters values when data was received </td></tr>
</table>
</dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000024">Todo:</a></b></dt><dd>Remove the logs </dd></dl>
<p>Reimplemented in <a class="el" href="classgeonetworking__layer.html#a91aea8a60dc5e608a85028c6c4fad85f">geonetworking_layer</a>, <a class="el" href="classcommsignia__layer.html#af1a22bb9fe0c905182cbb8552446ce04">commsignia_layer</a>, <a class="el" href="classudp__layer.html#a8f6667572c39f5b7d48ec29b26dd514b">udp_layer</a>, <a class="el" href="classraw__socket__layer.html#a949172745937ff3fc74081a7c77108c4">raw_socket_layer</a>, <a class="el" href="classcam__layer.html#aeb25bdd0851d6073e515f341119be140">cam_layer</a>, <a class="el" href="classdenm__layer.html#a6ee151c8d74b7c3b4e57fa2e7d7f9a63">denm_layer</a>, <a class="el" href="classhttp__layer.html#aed2b7df98398b663f72209e724eabb35">http_layer</a>, <a class="el" href="classbtp__layer.html#a7debae9600d7f074baa57086611bca30">btp_layer</a>, <a class="el" href="classpcap__layer.html#a57ab68ff011bc6664ce6218f912300cb">pcap_layer</a>, <a class="el" href="classtcp__layer.html#a67e74c3c757dc17a34dad2ac2795175b">tcp_layer</a>, <a class="el" href="classethernet__layer.html#a8a96c5ba7343b912a800df402153c5ba">ethernet_layer</a>, <a class="el" href="classUpperTesterDenmLayer.html#a42adfb8165fbad79b5eb0f9829313b3a">UpperTesterDenmLayer</a>, <a class="el" href="classMapemSpatemLayer.html#ab43170ee120adf85c99aa79cc3a3fc26">MapemSpatemLayer</a>, <a class="el" href="classSremSsemLayer.html#abde8a6bef77ec9fc9240cd741eed3ffb">SremSsemLayer</a>, <a class="el" href="classIVIMLayer.html#a81512545c6ddd3d12a1ac285a517ba77">IVIMLayer</a>, <a class="el" href="classUpperTesterCamLayer.html#a35b13438fe66cc7f6227c73b2ed1ac9c">UpperTesterCamLayer</a>, <a class="el" href="classUpperTesterGnLayer.html#ab33639a70e262c84219ea2a5709a8540">UpperTesterGnLayer</a>, <a class="el" href="classUpperTesterIvimLayer.html#a432847cb7200bf6bae57d7f703b7a5ef">UpperTesterIvimLayer</a>, <a class="el" href="classUpperTesterSremSsemLayer.html#a1f74891905e8b5ac434f518cf51c1838">UpperTesterSremSsemLayer</a>, and <a class="el" href="classUpperTesterMapemSpatemLayer.html#aff30e982db03ec011a6bced3ce61baa2">UpperTesterMapemSpatemLayer</a>.</p>
<a id="aafda59c8804287d1e08519892d5858a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafda59c8804287d1e08519892d5858a1">◆ </a></span>receive_to_all_layers()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::receive_to_all_layers </td>
<td>(</td>
<td class="paramtype">OCTETSTRING & </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classParams.html">Params</a> & </td>
<td class="paramname"><em>params</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a903b94ac2545e75f015e5678599877f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a903b94ac2545e75f015e5678599877f9">◆ </a></span>remove_upper_layer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::remove_upper_layer </td>
<td class="paramtype"><a class="el" href="classlayer.html">layer</a> * </td>
<td class="paramname"><em>p_layer</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove the specified upper layer protocol from the list of the upper layer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_layer</td><td>The layer protocol to be removed </td></tr>
</table>
</dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000022">Todo:</a></b></dt><dd>To be implemented </dd></dl>
<a id="a25475e171c9801e38592b5e3d10722e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25475e171c9801e38592b5e3d10722e6">◆ </a></span>send_data()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::send_data </td>
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
<td>(</td>
<td class="paramtype">OCTETSTRING & </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classParams.html">Params</a> & </td>
<td class="paramname"><em>params</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Send bytes formated data to the lower layers. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_data</td><td>The data to be sent </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_params</td><td>Some parameters to overwrite default value of the lower layers parameters </td></tr>
</table>
</dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000023">Todo:</a></b></dt><dd>Remove the logs </dd></dl>
<p>Reimplemented in <a class="el" href="classgeonetworking__layer.html#a3179e83a99d0506accbaa1227717537d">geonetworking_layer</a>, <a class="el" href="classcommsignia__layer.html#a323aebb9de645a5f6756f84d0b896c3d">commsignia_layer</a>, <a class="el" href="classudp__layer.html#a9f139e391204e4cfbc55fe094e845527">udp_layer</a>, <a class="el" href="classraw__socket__layer.html#ac15342ad9de2e8944dea0eb62f801602">raw_socket_layer</a>, <a class="el" href="classcam__layer.html#ab3869bafdd6ca1fb86964bc22a3fe12d">cam_layer</a>, <a class="el" href="classdenm__layer.html#aa8adcc4e7be977645afe90275b5b75fb">denm_layer</a>, <a class="el" href="classhttp__layer.html#ac52ba6d8e823ca98bd2cbeda813de9ff">http_layer</a>, <a class="el" href="classbtp__layer.html#abec0af79ca8f846f5da13068f418fadf">btp_layer</a>, <a class="el" href="classpcap__layer.html#a5c5fba710ca46be811ce0f0339bb78d3">pcap_layer</a>, <a class="el" href="classtcp__layer.html#aa9005323c8f29b49cc4024cb23373c39">tcp_layer</a>, <a class="el" href="classethernet__layer.html#a6f00202e73d020d5c239fad9a25cccdb">ethernet_layer</a>, <a class="el" href="classUpperTesterDenmLayer.html#a1d3b8098cc597e6ea194cec6bcd71056">UpperTesterDenmLayer</a>, <a class="el" href="classMapemSpatemLayer.html#a463d6d7fc8ab2a401a3f02b8fcc4b17a">MapemSpatemLayer</a>, <a class="el" href="classSremSsemLayer.html#a14b5c6b062493f84b498a8a45fd79b6f">SremSsemLayer</a>, <a class="el" href="classIVIMLayer.html#a47aa918005457082fee6cedd6d0f6851">IVIMLayer</a>, <a class="el" href="classUpperTesterCamLayer.html#a350042989473bc99486d398f33615e4d">UpperTesterCamLayer</a>, <a class="el" href="classUpperTesterGnLayer.html#ae97ba4b52713df5ff56be187ffdb5d46">UpperTesterGnLayer</a>, <a class="el" href="classUpperTesterIvimLayer.html#a4f9960eb95e3c33afbc9a3e19e29e107">UpperTesterIvimLayer</a>, <a class="el" href="classUpperTesterSremSsemLayer.html#a8b9b709b4531c76660e12165b3e68593">UpperTesterSremSsemLayer</a>, and <a class="el" href="classUpperTesterMapemSpatemLayer.html#af74d86c31d02920fb35dd3828ad6f4d6">UpperTesterMapemSpatemLayer</a>.</p>
<a id="ad7f025f66ff13f65f4d641edd3d45e7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7f025f66ff13f65f4d641edd3d45e7a">◆ </a></span>send_to_all_layers()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::send_to_all_layers </td>
<td>(</td>
<td class="paramtype">OCTETSTRING & </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classParams.html">Params</a> & </td>
<td class="paramname"><em>params</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaa40f56e6628ead0e29f6e0dd08314fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa40f56e6628ead0e29f6e0dd08314fa">◆ </a></span>to_all_layers()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void layer::to_all_layers </td>
<td class="paramtype">std::vector< <a class="el" href="classlayer.html">layer</a> *> & </td>
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
<td class="paramname"><em>layers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OCTETSTRING & </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classParams.html">Params</a> & </td>
<td class="paramname"><em>params</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
</div>
</div>
<a id="a0e602d58e496b890e0c986088bd66551"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e602d58e496b890e0c986088bd66551">◆ </a></span>to_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::string & layer::to_string </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove the specified upper layer protocol from the list of the upper layer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">The</td><td>layer protocol to be removed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a2f265abd9961451149783ca03398f7a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f265abd9961451149783ca03398f7a0">◆ </a></span>lowerLayers</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector<<a class="el" href="classlayer.html">layer</a>*> layer::lowerLayers</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>List of the upper protocol layers. </p>
</div>
</div>
<a id="a01eb181953398803f772ad83dac8a192"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01eb181953398803f772ad83dac8a192">◆ </a></span>type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string layer::type</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>List of the lower protocol layers. </p>
</div>
</div>
<a id="a206c1a0a8f7582d5dcc2f9b7cbe08179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a206c1a0a8f7582d5dcc2f9b7cbe08179">◆ </a></span>upperLayers</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector<<a class="el" href="classlayer.html">layer</a>*> layer::upperLayers</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/vagrant/TriesAndDelete/etsi_its/framework/include/<a class="el" href="layer_8hh_source.html">layer.hh</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Apr 4 2018 14:16:33 for ETSI STF525 / Internal Testing test suite by  <a href="http://www.doxygen.org/index.html">