This commit is contained in:
2025-11-24 14:19:51 +05:30
commit f5c1412b28
6734 changed files with 1527575 additions and 0 deletions

View File

@ -0,0 +1,12 @@
var struct_s_l_net_1_1_socket_descriptor =
[
[ "SocketDescriptor", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#ac0abdf1976e9bec0993e44324f1b7e37", null ],
[ "SocketDescriptor", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#aab2bd5632b0f25d28186d7de14c71035", null ],
[ "blockingSocket", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#af96f9bb55b6e7c5f556bd80f93eb49d3", null ],
[ "chromeInstance", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#ab4342c3c99b62f032fb076ab1ca95626", null ],
[ "extraSocketOptions", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a03f4424b2b7052e1979127e5e7f00dc2", null ],
[ "hostAddress", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a2133665152ef96d0664cbc02ec8f5225", null ],
[ "port", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a03ca93a6aa55f7448575c95fcaa86ec9", null ],
[ "remotePortRakNetWasStartedOn_PS3_PSP2", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a9d6130cd4d3053f0e294bd913296f54f", null ],
[ "socketFamily", "dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#afbadb84c0b1b00add0083248370d0068", null ]
];

View File

@ -0,0 +1,339 @@
<!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"/>
<title>SLikeNet: SLNet::SocketDescriptor Struct 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d6/d13/struct_s_l_net_1_1_socket_descriptor-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::SocketDescriptor Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Describes the local socket to use for <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a14b965efa7972eade5cf3ddf9cd743b2" title="Starts the network threads and opens the listen port.">RakPeer::Startup</a>.
<a href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d9/d49/types_8h_source.xhtml">slikenet/types.h</a>&gt;</code></p>
<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:ac0abdf1976e9bec0993e44324f1b7e37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#ac0abdf1976e9bec0993e44324f1b7e37">SocketDescriptor</a> ()</td></tr>
<tr class="separator:ac0abdf1976e9bec0993e44324f1b7e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab2bd5632b0f25d28186d7de14c71035"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#aab2bd5632b0f25d28186d7de14c71035">SocketDescriptor</a> (unsigned short _port, const char *_hostAddress)</td></tr>
<tr class="separator:aab2bd5632b0f25d28186d7de14c71035"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a03ca93a6aa55f7448575c95fcaa86ec9"><td class="memItemLeft" align="right" valign="top">unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a03ca93a6aa55f7448575c95fcaa86ec9">port</a></td></tr>
<tr class="memdesc:a03ca93a6aa55f7448575c95fcaa86ec9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The local port to bind to. Pass 0 to have the OS autoassign a port. <a href="#a03ca93a6aa55f7448575c95fcaa86ec9"></a><br/></td></tr>
<tr class="separator:a03ca93a6aa55f7448575c95fcaa86ec9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2133665152ef96d0664cbc02ec8f5225"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a2133665152ef96d0664cbc02ec8f5225">hostAddress</a> [32]</td></tr>
<tr class="memdesc:a2133665152ef96d0664cbc02ec8f5225"><td class="mdescLeft">&#160;</td><td class="mdescRight">The local network card address to bind to, such as "127.0.0.1". Pass an empty string to use INADDR_ANY. <a href="#a2133665152ef96d0664cbc02ec8f5225"></a><br/></td></tr>
<tr class="separator:a2133665152ef96d0664cbc02ec8f5225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbadb84c0b1b00add0083248370d0068"><td class="memItemLeft" align="right" valign="top">short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#afbadb84c0b1b00add0083248370d0068">socketFamily</a></td></tr>
<tr class="separator:afbadb84c0b1b00add0083248370d0068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d6130cd4d3053f0e294bd913296f54f"><td class="memItemLeft" align="right" valign="top">unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a9d6130cd4d3053f0e294bd913296f54f">remotePortRakNetWasStartedOn_PS3_PSP2</a></td></tr>
<tr class="separator:a9d6130cd4d3053f0e294bd913296f54f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4342c3c99b62f032fb076ab1ca95626"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff">_PP_Instance_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#ab4342c3c99b62f032fb076ab1ca95626">chromeInstance</a></td></tr>
<tr class="separator:ab4342c3c99b62f032fb076ab1ca95626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af96f9bb55b6e7c5f556bd80f93eb49d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#af96f9bb55b6e7c5f556bd80f93eb49d3">blockingSocket</a></td></tr>
<tr class="separator:af96f9bb55b6e7c5f556bd80f93eb49d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03f4424b2b7052e1979127e5e7f00dc2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml#a03f4424b2b7052e1979127e5e7f00dc2">extraSocketOptions</a></td></tr>
<tr class="memdesc:a03f4424b2b7052e1979127e5e7f00dc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">XBOX only: set IPPROTO_VDP if you want to use VDP. If enabled, this socket does not support broadcast to 255.255.255.255. <a href="#a03f4424b2b7052e1979127e5e7f00dc2"></a><br/></td></tr>
<tr class="separator:a03f4424b2b7052e1979127e5e7f00dc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Describes the local socket to use for <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a14b965efa7972eade5cf3ddf9cd743b2" title="Starts the network threads and opens the listen port.">RakPeer::Startup</a>. </p>
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00149">149</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac0abdf1976e9bec0993e44324f1b7e37"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SocketDescriptor::SocketDescriptor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00101">101</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00182">blockingSocket</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00185">extraSocketOptions</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00158">hostAddress</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00155">port</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00176">remotePortRakNetWasStartedOn_PS3_PSP2</a>, and <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00166">socketFamily</a>.</p>
</div>
</div>
<a class="anchor" id="aab2bd5632b0f25d28186d7de14c71035"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SocketDescriptor::SocketDescriptor </td>
<td>(</td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>_port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>_hostAddress</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00108">108</a> of file <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a>.</p>
<p>References <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00182">blockingSocket</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00185">extraSocketOptions</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00158">hostAddress</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00155">port</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00176">remotePortRakNetWasStartedOn_PS3_PSP2</a>, and <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00166">socketFamily</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="af96f9bb55b6e7c5f556bd80f93eb49d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::SocketDescriptor::blockingSocket</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00182">182</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00101">SocketDescriptor()</a>.</p>
</div>
</div>
<a class="anchor" id="ab4342c3c99b62f032fb076ab1ca95626"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff">_PP_Instance_</a> SLNet::SocketDescriptor::chromeInstance</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00179">179</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>.</p>
</div>
</div>
<a class="anchor" id="a03f4424b2b7052e1979127e5e7f00dc2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int SLNet::SocketDescriptor::extraSocketOptions</td>
</tr>
</table>
</div><div class="memdoc">
<p>XBOX only: set IPPROTO_VDP if you want to use VDP. If enabled, this socket does not support broadcast to 255.255.255.255. </p>
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00185">185</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00101">SocketDescriptor()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>.</p>
</div>
</div>
<a class="anchor" id="a2133665152ef96d0664cbc02ec8f5225"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char SLNet::SocketDescriptor::hostAddress[32]</td>
</tr>
</table>
</div><div class="memdoc">
<p>The local network card address to bind to, such as "127.0.0.1". Pass an empty string to use INADDR_ANY. </p>
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00158">158</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00101">SocketDescriptor()</a>.</p>
</div>
</div>
<a class="anchor" id="a03ca93a6aa55f7448575c95fcaa86ec9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned short SLNet::SocketDescriptor::port</td>
</tr>
</table>
</div><div class="memdoc">
<p>The local port to bind to. Pass 0 to have the OS autoassign a port. </p>
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00155">155</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00101">SocketDescriptor()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>.</p>
</div>
</div>
<a class="anchor" id="a9d6130cd4d3053f0e294bd913296f54f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned short SLNet::SocketDescriptor::remotePortRakNetWasStartedOn_PS3_PSP2</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00176">176</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00101">SocketDescriptor()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>.</p>
</div>
</div>
<a class="anchor" id="afbadb84c0b1b00add0083248370d0068"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">short SLNet::SocketDescriptor::socketFamily</td>
</tr>
</table>
</div><div class="memdoc">
<p>IP version: For IPV4, use AF_INET (default). For IPV6, use AF_INET6. To autoselect, use AF_UNSPEC. IPV6 is the newer internet protocol. Instead of addresses such as natpunch.jenkinssoftware.com, you may have an address such as fe80::7c:31f7:fec4:27de%14. Encoding takes 16 bytes instead of 4, so IPV6 is less efficient for bandwidth. On the positive side, NAT Punchthrough is not needed and should not be used with IPV6 because there are enough addresses that routers do not need to create address mappings. <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a14b965efa7972eade5cf3ddf9cd743b2" title="Starts the network threads and opens the listen port.">RakPeer::Startup()</a> will fail if this IP version is not supported. </p>
<dl class="section pre"><dt>Precondition</dt><dd>RAKNET_SUPPORT_IPV6 must be set to 1 in RakNetDefines.h for AF_INET6 </dd></dl>
<p>Definition at line <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00166">166</a> of file <a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00101">SocketDescriptor()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a></li>
<li>Source/src/<a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml">RakNetTypes.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../dc/d06/struct_s_l_net_1_1_socket_descriptor.xhtml">SocketDescriptor</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,17 @@
var _thread_pool_8h =
[
[ "ThreadDataInterface", "d3/dfe/class_thread_data_interface.xhtml", "d3/dfe/class_thread_data_interface" ],
[ "ThreadPool", "d1/dbc/struct_thread_pool.xhtml", "d1/dbc/struct_thread_pool" ],
[ "for", "dc/d0b/_thread_pool_8h.xhtml#a8b9eb702eb3f9bcba3923532d1e801db", null ],
[ "if", "dc/d0b/_thread_pool_8h.xhtml#a35e6652907f33d8d77bdbdfbbddac127", null ],
[ "Lock", "dc/d0b/_thread_pool_8h.xhtml#aa59dd972266d4af6d04aa7c165321e15", null ],
[ "Unlock", "dc/d0b/_thread_pool_8h.xhtml#a1695444dc00654ce0d60191863aa750c", null ],
[ "callbackOutput", "dc/d0b/_thread_pool_8h.xhtml#a7f41dbde970db186fa61c616ac88754c", null ],
[ "inputData", "dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16", null ],
[ "numThreadsRunning", "dc/d0b/_thread_pool_8h.xhtml#a9281cb5ad003b9e9c8c4a55b08d71236", null ],
[ "perThreadData", "dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4", null ],
[ "return", "dc/d0b/_thread_pool_8h.xhtml#a9717e7bbecb906637e86cef6da3d83c2", null ],
[ "returnOutput", "dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87", null ],
[ "threadPool", "dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686", null ],
[ "userCallback", "dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9", null ]
];

View File

@ -0,0 +1,370 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/ThreadPool.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d0b/_thread_pool_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">ThreadPool.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml">DS_Queue.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_simple_mutex_8h_source.xhtml">SimpleMutex.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dd5/thread_8h_source.xhtml">thread.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d90/_signaled_event_8h_source.xhtml">SignaledEvent.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d81/sleep_8h_source.xhtml">sleep.h</a>&quot;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
</div>
<p><a href="../../dc/d0b/_thread_pool_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a35e6652907f33d8d77bdbdfbbddac127"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a35e6652907f33d8d77bdbdfbbddac127">if</a> (<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a>-&gt;perThreadDataFactory) <a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4">perThreadData</a> =<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a>-&gt;threadDataInterface-&gt;PerThreadFactory(<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a>-&gt;tdiContext)</td></tr>
<tr class="separator:a35e6652907f33d8d77bdbdfbbddac127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa59dd972266d4af6d04aa7c165321e15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a> numThreadsRunningMutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#aa59dd972266d4af6d04aa7c165321e15">Lock</a> ()</td></tr>
<tr class="separator:aa59dd972266d4af6d04aa7c165321e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1695444dc00654ce0d60191863aa750c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a> numThreadsRunningMutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a1695444dc00654ce0d60191863aa750c">Unlock</a> ()</td></tr>
<tr class="separator:a1695444dc00654ce0d60191863aa750c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b9eb702eb3f9bcba3923532d1e801db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a8b9eb702eb3f9bcba3923532d1e801db">for</a> (;;)</td></tr>
<tr class="separator:a8b9eb702eb3f9bcba3923532d1e801db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a39790962ac0b3aa15e210cdb1e87b686"><td class="memTemplParams" colspan="2">template&lt;class ThreadInputType , class ThreadOutputType &gt; </td></tr>
<tr class="memitem:a39790962ac0b3aa15e210cdb1e87b686"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>&lt; ThreadInputType, <br class="typebreak"/>
ThreadOutputType &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a> = (<a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>&lt;ThreadInputType, ThreadOutputType&gt;*) arguments</td></tr>
<tr class="separator:a39790962ac0b3aa15e210cdb1e87b686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e43a7b7ea9f1fd549450012cd19ea87"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87">returnOutput</a></td></tr>
<tr class="separator:a1e43a7b7ea9f1fd549450012cd19ea87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b19dd09ca4acd644161cce7843d75a9"><td class="memItemLeft" align="right" valign="top">ThreadOutputType(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a> )(ThreadInputType, bool *, void *) =0</td></tr>
<tr class="separator:a4b19dd09ca4acd644161cce7843d75a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1097e0bdb0a7bbac499269e69f867d16"><td class="memItemLeft" align="right" valign="top">ThreadInputType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16">inputData</a></td></tr>
<tr class="separator:a1097e0bdb0a7bbac499269e69f867d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f41dbde970db186fa61c616ac88754c"><td class="memItemLeft" align="right" valign="top">ThreadOutputType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a7f41dbde970db186fa61c616ac88754c">callbackOutput</a></td></tr>
<tr class="separator:a7f41dbde970db186fa61c616ac88754c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc398480893e637cf795fe46534ce7c4"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4">perThreadData</a> =0</td></tr>
<tr class="separator:adc398480893e637cf795fe46534ce7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9281cb5ad003b9e9c8c4a55b08d71236"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a9281cb5ad003b9e9c8c4a55b08d71236">numThreadsRunning</a></td></tr>
<tr class="separator:a9281cb5ad003b9e9c8c4a55b08d71236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9717e7bbecb906637e86cef6da3d83c2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a9717e7bbecb906637e86cef6da3d83c2">return</a></td></tr>
<tr class="separator:a9717e7bbecb906637e86cef6da3d83c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a8b9eb702eb3f9bcba3923532d1e801db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">for </td>
<td>(</td>
<td class="paramtype">;;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">240</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00161">ThreadPool&lt; InputType, OutputType &gt;::inputFunctionQueue</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00162">ThreadPool&lt; InputType, OutputType &gt;::inputQueue</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">ThreadPool&lt; InputType, OutputType &gt;::inputQueueMutex</a>, <a class="el" href="../../de/dd8/_simple_mutex_8cpp_source.xhtml#l00105">SLNet::SimpleMutex::Lock()</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00185">ThreadPool&lt; InputType, OutputType &gt;::numThreadsWorking</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00163">ThreadPool&lt; InputType, OutputType &gt;::outputQueue</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">ThreadPool&lt; InputType, OutputType &gt;::outputQueueMutex</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00189">ThreadPool&lt; InputType, OutputType &gt;::quitAndIncomingDataEvents</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00181">ThreadPool&lt; InputType, OutputType &gt;::runThreads</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">ThreadPool&lt; InputType, OutputType &gt;::runThreadsMutex</a>, <a class="el" href="../../de/dd8/_simple_mutex_8cpp_source.xhtml#l00154">SLNet::SimpleMutex::Unlock()</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00221">userCallback</a>, <a class="el" href="../../db/da6/_signaled_event_8cpp_source.xhtml#l00127">SLNet::SignaledEvent::WaitOnEvent()</a>, and <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00154">ThreadPool&lt; InputType, OutputType &gt;::workingThreadCountMutex</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d3d/_d_s___b_plus_tree_8h_source.xhtml#l00522">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::InsertIntoNode()</a>.</p>
</div>
</div>
<a class="anchor" id="a35e6652907f33d8d77bdbdfbbddac127"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">else if </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a>-&gt;&#160;</td>
<td class="paramname"><em>perThreadDataFactory</em></td><td>)</td>
<td> =<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a>-&gt;threadDataInterface-&gt;PerThreadFactory(<a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a>-&gt;tdiContext)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="../../da/d7b/_d_s___huffman_encoding_tree_8cpp_source.xhtml#l00200">SLNet::HuffmanEncodingTree::DecodeArray()</a>, <a class="el" href="../../d3/d3d/_d_s___b_plus_tree_8h_source.xhtml#l00166">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::DeleteFromPageAtIndex()</a>, <a class="el" href="../../d9/d15/_reliability_layer_8cpp_source.xhtml#l00631">SLNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer()</a>, <a class="el" href="../../d3/d3d/_d_s___b_plus_tree_8h_source.xhtml#l00522">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::InsertIntoNode()</a>, and <a class="el" href="../../d3/d3d/_d_s___b_plus_tree_8h_source.xhtml#l00504">DataStructures::BPlusTree&lt; KeyType, DataType, order &gt;::ShiftNodeLeft()</a>.</p>
</div>
</div>
<a class="anchor" id="aa59dd972266d4af6d04aa7c165321e15"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a> numThreadsRunningMutex Lock </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1695444dc00654ce0d60191863aa750c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a> numThreadsRunningMutex Unlock </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a7f41dbde970db186fa61c616ac88754c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ThreadOutputType callbackOutput</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00223">223</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1097e0bdb0a7bbac499269e69f867d16"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ThreadInputType inputData</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00222">222</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
<p>Referenced by <a class="el" href="../../d1/df4/_d_s___tree_8h_source.xhtml#l00057">DataStructures::Tree&lt; TreeType &gt;::Tree()</a>.</p>
</div>
</div>
<a class="anchor" id="a9281cb5ad003b9e9c8c4a55b08d71236"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a> numThreadsRunning</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00237">237</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00323">ThreadPool&lt; InputType, OutputType &gt;::StartThreads()</a>, <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00388">ThreadPool&lt; InputType, OutputType &gt;::StopThreads()</a>, and <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00307">ThreadPool&lt; InputType, OutputType &gt;::ThreadPool()</a>.</p>
</div>
</div>
<a class="anchor" id="adc398480893e637cf795fe46534ce7c4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">else perThreadData =0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00227">227</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9717e7bbecb906637e86cef6da3d83c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">return</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00303">303</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01853">SLNet::RakPeer::AddToBanList()</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00446">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::CircularLinkedList()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00332">DataStructures::Queue&lt; queue_type &gt;::Clear()</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00953">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::Clear()</a>, <a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml#l00471">DataStructures::List&lt; list_type &gt;::Compress()</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00987">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::Concatenate()</a>, <a class="el" href="../../da/d7b/_d_s___huffman_encoding_tree_8cpp_source.xhtml#l00233">SLNet::HuffmanEncodingTree::DecodeArray()</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00779">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::Del()</a>, <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00933">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;::DisplayBreadthFirstSearch()</a>, <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00772">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;::DisplayInorder()</a>, <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00899">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;::DisplayPostorder()</a>, <a class="el" href="../../d8/dfa/_d_s___binary_search_tree_8h_source.xhtml#l00843">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;::DisplayPreorder()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00371">SLNet::StringCompressor::EncodeString()</a>, <a class="el" href="../../da/d7b/_d_s___huffman_encoding_tree_8cpp_source.xhtml#l00033">SLNet::HuffmanEncodingTree::FreeMemory()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00337">SLNet::StringCompressor::GenerateTreeFromStrings()</a>, <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00376">GetMyIP_Win32()</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l00367">DataStructures::LinkedList&lt; LinkedListType &gt;::LinkedList()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l04087">SLNet::RakPeer::PingInternal()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00228">DataStructures::Queue&lt; queue_type &gt;::Push()</a>, <a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml#l00420">DataStructures::Queue&lt; queue_type &gt;::RemoveAtIndex()</a>, <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l01902">SLNet::RakPeer::RemoveFromBanList()</a>, <a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml#l01018">DataStructures::CircularLinkedList&lt; CircularLinkedListType &gt;::Sort()</a>, and <a class="el" href="../../d9/d5f/_rak_net_statistics_8cpp_source.xhtml#l00188">SLNet::StatisticsToString()</a>.</p>
</div>
</div>
<a class="anchor" id="a1e43a7b7ea9f1fd549450012cd19ea87"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool returnOutput</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00220">220</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
</div>
</div>
<a class="anchor" id="a39790962ac0b3aa15e210cdb1e87b686"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ThreadInputType , class ThreadOutputType &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>&lt;ThreadInputType, ThreadOutputType&gt;* threadPool = (<a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>&lt;ThreadInputType, ThreadOutputType&gt;*) arguments</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00217">217</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4b19dd09ca4acd644161cce7843d75a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">userCallback =0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00221">221</a> of file <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>.</p>
<p>Referenced by <a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml#l00240">for()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml">ThreadPool.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,691 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/ThreadPool.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d0b/_thread_pool_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ThreadPool.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d0b/_thread_pool_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef __THREAD_POOL_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __THREAD_POOL_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d8d/_d_s___queue_8h.xhtml">DS_Queue.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_simple_mutex_8h.xhtml" title="[Internal] Encapsulates a mutex">SimpleMutex.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dd5/thread_8h.xhtml">thread.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d90/_signaled_event_8h.xhtml">SignaledEvent.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml"> 26</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;{</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#a8bfd73a3eaecf82d218e9e4f0ea2610f"> 29</a></span>&#160; <a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#a8bfd73a3eaecf82d218e9e4f0ea2610f">ThreadDataInterface</a>() {}</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#adcc3b121298c388428348316cac7463b"> 30</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#adcc3b121298c388428348316cac7463b">~ThreadDataInterface</a>() {}</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#a1f11c7255aa2c0989e9a2b37b6c07d02">PerThreadFactory</a>(<span class="keywordtype">void</span> *context)=0;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#ab1c502c59f275eff7f559326ff0faf03">PerThreadDestructor</a>(<span class="keywordtype">void</span>* factoryResult, <span class="keywordtype">void</span> *context)=0;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;};</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml"> 40</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool</a>();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; ~ThreadPool();</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">bool</span> StartThreads(<span class="keywordtype">int</span> numThreads, <span class="keywordtype">int</span> stackSize, <span class="keywordtype">void</span>* (*_perThreadInit)()=0, <span class="keywordtype">void</span> (*_perThreadDeinit)(<span class="keywordtype">void</span>*)=0);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// Alternate form of _perThreadDataFactory, _perThreadDataDestructor</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">void</span> SetThreadDataInterface(<a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a> *tdi, <span class="keywordtype">void</span> *context);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">void</span> StopThreads(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">void</span> AddInput(OutputType (*workerThreadCallback)(InputType, <span class="keywordtype">bool</span> *<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87">returnOutput</a>, <span class="keywordtype">void</span>* <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4">perThreadData</a>), InputType <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16">inputData</a>);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">void</span> AddOutput(OutputType outputData);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">bool</span> HasOutput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">bool</span> HasOutputFast(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordtype">bool</span> HasInput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">bool</span> HasInputFast(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; OutputType GetOutput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">void</span> Clear(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordtype">void</span> LockInput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">void</span> UnlockInput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">unsigned</span> InputSize(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; InputType GetInputAtIndex(<span class="keywordtype">unsigned</span> index);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">void</span> RemoveInputAtIndex(<span class="keywordtype">unsigned</span> index);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">void</span> LockOutput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">void</span> UnlockOutput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">unsigned</span> OutputSize(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; OutputType GetOutputAtIndex(<span class="keywordtype">unsigned</span> index);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">void</span> RemoveOutputAtIndex(<span class="keywordtype">unsigned</span> index);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">void</span> ClearInput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">void</span> ClearOutput(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">bool</span> IsWorking(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordtype">int</span> NumThreadsWorking(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordtype">bool</span> WasStarted(<span class="keywordtype">void</span>);</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="comment">// Block until all threads are stopped.</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">bool</span> Pause(<span class="keywordtype">void</span>);</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; <span class="comment">// Continue running</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">void</span> Resume(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">// It is valid to cancel input before it is processed. To do so, lock the inputQueue with inputQueueMutex,</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// Scan the list, and remove the item you don&#39;t want.</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49"> 154</a></span>&#160; <a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SLNet::SimpleMutex</a> inputQueueMutex, outputQueueMutex, <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49">workingThreadCountMutex</a>, runThreadsMutex;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aacf9c53af2e2bae9560f1520ad63a1e9"> 156</a></span>&#160; <span class="keywordtype">void</span>* (*perThreadDataFactory)();</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac2f69d2ba866370e2899980a06d29df4"> 157</a></span>&#160; void (*perThreadDataDestructor)(<span class="keywordtype">void</span>*);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// inputFunctionQueue &amp; inputQueue are paired arrays so if you delete from one at a particular index you must delete from the other</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="comment">// at the same index</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aba1210d4a8738dbb73fd4aba224a5437"> 161</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;OutputType (*)(InputType, bool *, void*)&gt;</a> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aba1210d4a8738dbb73fd4aba224a5437">inputFunctionQueue</a>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac808a3f10661465e2d83a4e7579dc880"> 162</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;InputType&gt;</a> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac808a3f10661465e2d83a4e7579dc880">inputQueue</a>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b76ae04819bd8b15bae573217b15735"> 163</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;OutputType&gt;</a> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b76ae04819bd8b15bae573217b15735">outputQueue</a>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0"> 165</a></span>&#160; <a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a> *<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0">threadDataInterface</a>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5e346620f540fa4791d9916e51513b1d"> 166</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5e346620f540fa4791d9916e51513b1d">tdiContext</a>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</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">template</span> &lt;<span class="keyword">class</span> ThreadInputType, <span class="keyword">class</span> ThreadOutputType&gt;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">friend</span> <a class="code" href="../../db/dd5/thread_8h.xhtml#a8d70e8c30e5d6c3c86a3234ff11473d3" title="To define a thread, use RAK_THREAD_DECLARATION(functionName);.">RAK_THREAD_DECLARATION</a>(WorkerThread);</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="comment">/*</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment">#ifdef _WIN32</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> friend unsigned __stdcall WorkerThread( LPVOID arguments );</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment">#else</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> friend void* WorkerThread( void* arguments );</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment">#endif</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6d53166bc98ac94b11d2f9346f8d61b2"> 181</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6d53166bc98ac94b11d2f9346f8d61b2">runThreads</a>;</div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#afa44d9d22aaa0b45008a146d3d99dd22"> 183</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#afa44d9d22aaa0b45008a146d3d99dd22">numThreadsRunning</a>;</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a31406cbf875ff36d9d0c5ba6207382c3"> 185</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a31406cbf875ff36d9d0c5ba6207382c3">numThreadsWorking</a>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5"> 187</a></span>&#160; <a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SLNet::SimpleMutex</a> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5">numThreadsRunningMutex</a>;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a04ce603e15a77377eec89c468f35e8a1"> 189</a></span>&#160; <a class="code" href="../../df/d28/class_s_l_net_1_1_signaled_event.xhtml">SLNet::SignaledEvent</a> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a04ce603e15a77377eec89c468f35e8a1">quitAndIncomingDataEvents</a>;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment">// #if defined(SN_TARGET_PSP2)</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment">// SLNet::RakThread::UltUlThreadRuntime *runtime;</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment">// #endif</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;};</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml">ThreadPool.h</a>&quot;</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d81/sleep_8h.xhtml">sleep.h</a>&quot;</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ThreadInputType, <span class="keyword">class</span> ThreadOutputType&gt;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<a class="code" href="../../db/dd5/thread_8h.xhtml#a8d70e8c30e5d6c3c86a3234ff11473d3" title="To define a thread, use RAK_THREAD_DECLARATION(functionName);.">RAK_THREAD_DECLARATION</a>(WorkerThread)</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment">#ifdef _WIN32</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment">unsigned __stdcall WorkerThread( LPVOID arguments )</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment">#else</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment">void* WorkerThread( void* arguments )</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment">#endif</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;{</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686"> 217</a></span>&#160; <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt;ThreadInputType, ThreadOutputType&gt;</a> *<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a39790962ac0b3aa15e210cdb1e87b686">threadPool</a> = (<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt;ThreadInputType, ThreadOutputType&gt;</a>*) arguments;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87"> 220</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87">returnOutput</a>;</div>
<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9"> 221</a></span>&#160; ThreadOutputType (*<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a>)(ThreadInputType, <span class="keywordtype">bool</span> *, <span class="keywordtype">void</span>*);</div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16"> 222</a></span>&#160; ThreadInputType <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1097e0bdb0a7bbac499269e69f867d16">inputData</a>;</div>
<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a7f41dbde970db186fa61c616ac88754c"> 223</a></span>&#160; ThreadOutputType <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a7f41dbde970db186fa61c616ac88754c">callbackOutput</a>;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a>=0;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4"> 227</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4">perThreadData</a>;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span> (threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aacf9c53af2e2bae9560f1520ad63a1e9">perThreadDataFactory</a>)</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; perThreadData=threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aacf9c53af2e2bae9560f1520ad63a1e9">perThreadDataFactory</a>();</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0">threadDataInterface</a>)</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; perThreadData=threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0">threadDataInterface</a>-&gt;<a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#a1f11c7255aa2c0989e9a2b37b6c07d02">PerThreadFactory</a>(threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5e346620f540fa4791d9916e51513b1d">tdiContext</a>);</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; perThreadData=0;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="comment">// Increase numThreadsRunning</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5">numThreadsRunningMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9281cb5ad003b9e9c8c4a55b08d71236"> 237</a></span>&#160; ++threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#afa44d9d22aaa0b45008a146d3d99dd22">numThreadsRunning</a>;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5">numThreadsRunningMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a8b9eb702eb3f9bcba3923532d1e801db"> 240</a></span>&#160; <span class="keywordflow">for</span>(;;)</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment">//#ifdef _WIN32</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a>==0)</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a04ce603e15a77377eec89c468f35e8a1">quitAndIncomingDataEvents</a>.<a class="code" href="../../df/d28/class_s_l_net_1_1_signaled_event.xhtml#a2fd996cd5b65eaac7aec7e57a47a4609">WaitOnEvent</a>(1000);</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment">// #else</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment">// if (userCallback==0)</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment">// RakSleep(30);</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment">// #endif</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a4de670b464cb1afd303812571819aa0e">runThreadsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">if</span> (threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6d53166bc98ac94b11d2f9346f8d61b2">runThreads</a>==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a4de670b464cb1afd303812571819aa0e">runThreadsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a4de670b464cb1afd303812571819aa0e">runThreadsMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49">workingThreadCountMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; ++threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a31406cbf875ff36d9d0c5ba6207382c3">numThreadsWorking</a>;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49">workingThreadCountMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">// Read input data</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a>=0;</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a207a7b9f54818a3168d81b013c765d56">inputQueueMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">if</span> (threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aba1210d4a8738dbb73fd4aba224a5437">inputFunctionQueue</a>.Size())</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a>=threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aba1210d4a8738dbb73fd4aba224a5437">inputFunctionQueue</a>.Pop();</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; inputData=threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac808a3f10661465e2d83a4e7579dc880">inputQueue</a>.Pop();</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a207a7b9f54818a3168d81b013c765d56">inputQueueMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a>)</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; callbackOutput=<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a4b19dd09ca4acd644161cce7843d75a9">userCallback</a>(inputData, &amp;returnOutput,perThreadData);</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (returnOutput)</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a89540985de3cb90dccccbd837ef80385">outputQueueMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b76ae04819bd8b15bae573217b15735">outputQueue</a>.Push(callbackOutput, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a89540985de3cb90dccccbd837ef80385">outputQueueMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; } </div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49">workingThreadCountMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; --threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a31406cbf875ff36d9d0c5ba6207382c3">numThreadsWorking</a>;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49">workingThreadCountMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="comment">// Decrease numThreadsRunning</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5">numThreadsRunningMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a7858bc7bc53efe7d0957ebe9d775e144">Lock</a>();</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; --threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#afa44d9d22aaa0b45008a146d3d99dd22">numThreadsRunning</a>;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5">numThreadsRunningMutex</a>.<a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml#a3b5dc22cc92f6e08e4326f65be5c5e82">Unlock</a>();</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; </div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">if</span> (threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac2f69d2ba866370e2899980a06d29df4">perThreadDataDestructor</a>)</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac2f69d2ba866370e2899980a06d29df4">perThreadDataDestructor</a>(perThreadData);</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0">threadDataInterface</a>)</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0">threadDataInterface</a>-&gt;<a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml#ab1c502c59f275eff7f559326ff0faf03">PerThreadDestructor</a>(perThreadData, threadPool-&gt;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5e346620f540fa4791d9916e51513b1d">tdiContext</a>);</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div>
<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9717e7bbecb906637e86cef6da3d83c2"> 303</a></span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;}</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a785b0bc4ecfd1ad640fb9d5ec5423bc6"> 307</a></span>&#160;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a785b0bc4ecfd1ad640fb9d5ec5423bc6">ThreadPool&lt;InputType, OutputType&gt;::ThreadPool</a>()</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;{</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; runThreads=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9281cb5ad003b9e9c8c4a55b08d71236">numThreadsRunning</a>=0;</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; threadDataInterface=0;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; tdiContext=0;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; numThreadsWorking=0;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;}</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00317"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a156388a0aae28b9b9202ad0fd55275c5"> 317</a></span>&#160;<a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a156388a0aae28b9b9202ad0fd55275c5">ThreadPool&lt;InputType, OutputType&gt;::~ThreadPool</a>()</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;{</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; StopThreads();</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; Clear();</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00323"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a09fde0ca678340723840fae1dcda51a2"> 323</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a09fde0ca678340723840fae1dcda51a2">ThreadPool&lt;InputType, OutputType&gt;::StartThreads</a>(<span class="keywordtype">int</span> numThreads, <span class="keywordtype">int</span> stackSize, <span class="keywordtype">void</span>* (*_perThreadDataFactory)(), <span class="keywordtype">void</span> (*_perThreadDataDestructor)(<span class="keywordtype">void</span> *))</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; (void) stackSize;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment">// #if defined(SN_TARGET_PSP2)</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="comment">// runtime = SLNet::RakThread::AllocRuntime(numThreads);</span></div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment">// #endif</span></div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; runThreadsMutex.Lock();</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">if</span> (runThreads==<span class="keyword">true</span>)</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">// Already running</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; runThreadsMutex.Unlock();</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; runThreadsMutex.Unlock();</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; quitAndIncomingDataEvents.InitEvent();</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; perThreadDataFactory=_perThreadDataFactory;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; perThreadDataDestructor=_perThreadDataDestructor;</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; runThreadsMutex.Lock();</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; runThreads=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; runThreadsMutex.Unlock();</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; numThreadsWorking=0;</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordtype">unsigned</span> threadId = 0;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; (void) threadId;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordtype">int</span> i;</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; numThreads; i++)</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordtype">int</span> errorCode;</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; errorCode = <a class="code" href="../../df/db9/class_s_l_net_1_1_rak_thread.xhtml#a370c3ee097f5eeee7ee09dfc14b8db91">SLNet::RakThread::Create</a>(WorkerThread&lt;InputType, OutputType&gt;, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span> (errorCode!=0)</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; StopThreads();</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; }</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="comment">// Wait for number of threads running to increase to numThreads</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordtype">bool</span> done=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">while</span> (done==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="../../df/d30/_rak_sleep_8cpp.xhtml#a5b4f72ab4031078e87f5ed1b6828e1c7">RakSleep</a>(50);</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; numThreadsRunningMutex.Lock();</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9281cb5ad003b9e9c8c4a55b08d71236">numThreadsRunning</a>==numThreads)</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; done=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; numThreadsRunningMutex.Unlock();</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;}</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00382"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ad2bca8ada8b0f6c30ee3c49b90a1d31e"> 382</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ad2bca8ada8b0f6c30ee3c49b90a1d31e">ThreadPool&lt;InputType, OutputType&gt;::SetThreadDataInterface</a>(<a class="code" href="../../d3/dfe/class_thread_data_interface.xhtml">ThreadDataInterface</a> *tdi, <span class="keywordtype">void</span> *context)</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;{</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; threadDataInterface=tdi;</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; tdiContext=context;</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;}</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ad93b8ba41d96c5f0f814ae0acabfcdfc"> 388</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ad93b8ba41d96c5f0f814ae0acabfcdfc" title="Stops all threads.">ThreadPool&lt;InputType, OutputType&gt;::StopThreads</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;{</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; runThreadsMutex.Lock();</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (runThreads==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; runThreadsMutex.Unlock();</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; runThreads=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; runThreadsMutex.Unlock();</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">// Wait for number of threads running to decrease to 0</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordtype">bool</span> done=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">while</span> (done==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; {</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; quitAndIncomingDataEvents.SetEvent();</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="../../df/d30/_rak_sleep_8cpp.xhtml#a5b4f72ab4031078e87f5ed1b6828e1c7">RakSleep</a>(50);</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; numThreadsRunningMutex.Lock();</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9281cb5ad003b9e9c8c4a55b08d71236">numThreadsRunning</a>==0)</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; done=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; numThreadsRunningMutex.Unlock();</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; quitAndIncomingDataEvents.CloseEvent();</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="comment">// #if defined(SN_TARGET_PSP2)</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="comment">// SLNet::RakThread::DeallocRuntime(runtime);</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="comment">// runtime=0;</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="comment">// #endif</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;}</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00422"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5f64a8c4a4400106a2d7d03f7f9de132"> 422</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5f64a8c4a4400106a2d7d03f7f9de132">ThreadPool&lt;InputType, OutputType&gt;::AddInput</a>(OutputType (*workerThreadCallback)(InputType, <span class="keywordtype">bool</span> *returnOutput, <span class="keywordtype">void</span>* perThreadData), InputType inputData)</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;{</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; inputQueueMutex.Lock();</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; inputQueue.Push(inputData, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; inputFunctionQueue.Push(workerThreadCallback, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; inputQueueMutex.Unlock();</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; quitAndIncomingDataEvents.SetEvent();</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;}</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00432"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a833f8cc619dbf051c525c2ecd7ce78a0"> 432</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a833f8cc619dbf051c525c2ecd7ce78a0">ThreadPool&lt;InputType, OutputType&gt;::AddOutput</a>(OutputType outputData)</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;{</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; outputQueueMutex.Lock();</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; outputQueue.Push(outputData, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; outputQueueMutex.Unlock();</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;}</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00439"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5d517170f4b61211325ac5c9717e32e1"> 439</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a5d517170f4b61211325ac5c9717e32e1">ThreadPool&lt;InputType, OutputType&gt;::HasOutputFast</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;{</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">return</span> outputQueue.IsEmpty()==<span class="keyword">false</span>;</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00444"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a925d6c332e4c48bc99dc5750dfd5fcdd"> 444</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a925d6c332e4c48bc99dc5750dfd5fcdd">ThreadPool&lt;InputType, OutputType&gt;::HasOutput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;{</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordtype">bool</span> res;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; outputQueueMutex.Lock();</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; res=outputQueue.IsEmpty()==<span class="keyword">false</span>;</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; outputQueueMutex.Unlock();</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">return</span> res;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;}</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00453"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#adde82517b452d9a74e91114a3783ce02"> 453</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#adde82517b452d9a74e91114a3783ce02">ThreadPool&lt;InputType, OutputType&gt;::HasInputFast</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;{</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">return</span> inputQueue.IsEmpty()==<span class="keyword">false</span>;</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;}</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00458"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aac1ae43b7b3581b5ae9803c7cae7b724"> 458</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aac1ae43b7b3581b5ae9803c7cae7b724">ThreadPool&lt;InputType, OutputType&gt;::HasInput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;{</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordtype">bool</span> res;</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; inputQueueMutex.Lock();</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; res=inputQueue.IsEmpty()==<span class="keyword">false</span>;</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; inputQueueMutex.Unlock();</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">return</span> res;</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;}</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00467"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a568e3e2035977a38ad35aeee74ed7388"> 467</a></span>&#160;OutputType <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a568e3e2035977a38ad35aeee74ed7388">ThreadPool&lt;InputType, OutputType&gt;::GetOutput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;{</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="comment">// Real output check</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; OutputType output;</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; outputQueueMutex.Lock();</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; output=outputQueue.Pop();</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; outputQueueMutex.Unlock();</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> output;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;}</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00477"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af1e0cc5c3c8786fc49f60aef34160cbd"> 477</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af1e0cc5c3c8786fc49f60aef34160cbd" title="Clears internal buffers.">ThreadPool&lt;InputType, OutputType&gt;::Clear</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;{</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; runThreadsMutex.Lock();</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">if</span> (runThreads)</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; runThreadsMutex.Unlock();</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; inputQueueMutex.Lock();</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; inputFunctionQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; inputQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; inputQueueMutex.Unlock();</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; outputQueueMutex.Lock();</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; outputQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; outputQueueMutex.Unlock();</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; }</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; {</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; inputFunctionQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; inputQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; outputQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; }</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;}</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00500"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a024e2da38f846fc76d1fb16cf13c1b90"> 500</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a024e2da38f846fc76d1fb16cf13c1b90">ThreadPool&lt;InputType, OutputType&gt;::LockInput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;{</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; inputQueueMutex.Lock();</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;}</div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00505"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a710a554919e550501f9f06ab61e1d911"> 505</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a710a554919e550501f9f06ab61e1d911" title="Unlock the input buffer after you are done with the functions InputSize, GetInputAtIndex, and RemoveInputAtIndex.">ThreadPool&lt;InputType, OutputType&gt;::UnlockInput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;{</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; inputQueueMutex.Unlock();</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;}</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00510"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a0c7631f35a83c4f992b881174b6c8eff"> 510</a></span>&#160;<span class="keywordtype">unsigned</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a0c7631f35a83c4f992b881174b6c8eff" title="Length of the input queue.">ThreadPool&lt;InputType, OutputType&gt;::InputSize</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;{</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">return</span> inputQueue.Size();</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;}</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00515"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a09194411e4f4d87804111459fad24522"> 515</a></span>&#160;InputType <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a09194411e4f4d87804111459fad24522" title="Get the input at a specified index.">ThreadPool&lt;InputType, OutputType&gt;::GetInputAtIndex</a>(<span class="keywordtype">unsigned</span> index)</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;{</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">return</span> inputQueue[index];</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;}</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00520"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a7e41bfe6660b1a55cbf14b99b77defac"> 520</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a7e41bfe6660b1a55cbf14b99b77defac" title="Remove input from a specific index. This does NOT do memory deallocation - it only removes the item f...">ThreadPool&lt;InputType, OutputType&gt;::RemoveInputAtIndex</a>(<span class="keywordtype">unsigned</span> index)</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;{</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; inputQueue.RemoveAtIndex(index);</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; inputFunctionQueue.RemoveAtIndex(index);</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;}</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00526"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a384ba5c62d60ac2e12e3f8aeea30d8bc"> 526</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a384ba5c62d60ac2e12e3f8aeea30d8bc">ThreadPool&lt;InputType, OutputType&gt;::LockOutput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;{</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; outputQueueMutex.Lock();</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;}</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00531"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af6e5208df0686a4a76ecb3bbcc6ffcb2"> 531</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#af6e5208df0686a4a76ecb3bbcc6ffcb2" title="Unlock the output buffer after you are done with the functions OutputSize, GetOutputAtIndex, and RemoveOutputAtIndex.">ThreadPool&lt;InputType, OutputType&gt;::UnlockOutput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;{</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; outputQueueMutex.Unlock();</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;}</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00536"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac2ebae170e7dbdbad6034ba69271f86f"> 536</a></span>&#160;<span class="keywordtype">unsigned</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ac2ebae170e7dbdbad6034ba69271f86f" title="Length of the output queue.">ThreadPool&lt;InputType, OutputType&gt;::OutputSize</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;{</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> outputQueue.Size();</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;}</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00541"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ade45848613e8230e5324edabe40fcde9"> 541</a></span>&#160;OutputType <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#ade45848613e8230e5324edabe40fcde9" title="Get the output at a specified index.">ThreadPool&lt;InputType, OutputType&gt;::GetOutputAtIndex</a>(<span class="keywordtype">unsigned</span> index)</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;{</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> outputQueue[index];</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00546"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#afb4958a8df475d6060bede0fa4af7faa"> 546</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#afb4958a8df475d6060bede0fa4af7faa" title="Remove output from a specific index. This does NOT do memory deallocation - it only removes the item ...">ThreadPool&lt;InputType, OutputType&gt;::RemoveOutputAtIndex</a>(<span class="keywordtype">unsigned</span> index)</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;{</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; outputQueue.RemoveAtIndex(index);</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;}</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00551"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a568d636d8a27645c6641d3b4cc7308f6"> 551</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a568d636d8a27645c6641d3b4cc7308f6" title="Removes all items from the input queue.">ThreadPool&lt;InputType, OutputType&gt;::ClearInput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;{</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; inputQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; inputFunctionQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;}</div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00558"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a8d8d2d173ca5ddb99614ed5b9df1fb85"> 558</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a8d8d2d173ca5ddb99614ed5b9df1fb85" title="Removes all items from the output queue.">ThreadPool&lt;InputType, OutputType&gt;::ClearOutput</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;{</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; outputQueue.Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;}</div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00563"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a90b37c13ba8b9f67db4bd99ee4a5d811"> 563</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a90b37c13ba8b9f67db4bd99ee4a5d811" title="Are any of the threads working, or is input or output available?">ThreadPool&lt;InputType, OutputType&gt;::IsWorking</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;{</div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordtype">bool</span> isWorking;</div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;<span class="comment">// workingThreadCountMutex.Lock();</span></div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;<span class="comment">// isWorking=numThreadsWorking!=0;</span></div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;<span class="comment">// workingThreadCountMutex.Unlock();</span></div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;<span class="comment">// if (isWorking)</span></div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;<span class="comment">// return true;</span></div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="comment">// Bug fix: Originally the order of these two was reversed.</span></div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="comment">// It&#39;s possible with the thread timing that working could have been false, then it picks up the data in the other thread, then it checks</span></div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="comment">// here and sees there is no data. So it thinks the thread is not working when it was.</span></div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">if</span> (HasOutputFast() &amp;&amp; HasOutput())</div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;</div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">if</span> (HasInputFast() &amp;&amp; HasInput())</div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;</div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="comment">// Need to check is working again, in case the thread was between the first and second checks</span></div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; workingThreadCountMutex.Lock();</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; isWorking=numThreadsWorking!=0;</div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; workingThreadCountMutex.Unlock();</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">return</span> isWorking;</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;}</div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00591"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aad431a8d3f28af0ae5249c7e3b819307"> 591</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#aad431a8d3f28af0ae5249c7e3b819307" title="The number of currently active threads.">ThreadPool&lt;InputType, OutputType&gt;::NumThreadsWorking</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;{</div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">return</span> numThreadsWorking;</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;}</div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00597"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a531920221fd17dce38b5da74b56f2eff"> 597</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a531920221fd17dce38b5da74b56f2eff" title="Did we call Start?">ThreadPool&lt;InputType, OutputType&gt;::WasStarted</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;{</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordtype">bool</span> b;</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; runThreadsMutex.Lock();</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; b = runThreads;</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; runThreadsMutex.Unlock();</div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">return</span> b;</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;}</div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00606"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a870e8e68979a7b0f1cc5b0fda7044a49"> 606</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a870e8e68979a7b0f1cc5b0fda7044a49">ThreadPool&lt;InputType, OutputType&gt;::Pause</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;{</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">if</span> (WasStarted()==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;</div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; workingThreadCountMutex.Lock();</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">while</span> (numThreadsWorking&gt;0)</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; {</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="code" href="../../df/d30/_rak_sleep_8cpp.xhtml#a5b4f72ab4031078e87f5ed1b6828e1c7">RakSleep</a>(30);</div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; }</div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;}</div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> InputType, <span class="keyword">class</span> OutputType&gt;</div>
<div class="line"><a name="l00619"></a><span class="lineno"><a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a16261d79beca0692cc4aa97ec204fd6d"> 619</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml#a16261d79beca0692cc4aa97ec204fd6d">ThreadPool&lt;InputType, OutputType&gt;::Resume</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;{</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; workingThreadCountMutex.Unlock();</div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;}</div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;<span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d0b/_thread_pool_8h.xhtml">ThreadPool.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,31 @@
<map id="SLNet::PluginInterface2" name="SLNet::PluginInterface2">
<area shape="rect" id="node2" href="$d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client" title="Performs Post() and Get() operations on CloudMemoryServer." alt="" coords="5,563,164,831"/>
<area shape="rect" id="node3" href="$d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/d6e/class_s_l_net_1_1_cloud_server" title="Stores client data, and allows cross&#45;server communication to retrieve this data." alt="" coords="189,387,455,1007"/>
<area shape="rect" id="node4" href="$db/dcc/class_s_l_net_1_1_connection_graph2.xhtml" title="A one hop connection graph." alt="" coords="479,541,714,853"/>
<area shape="rect" id="node5" href="$db/dbd/class_s_l_net_1_1_directory_delta_transfer.xhtml" title="{SLNet::DirectoryDeltaTransfer\n|# applicationDirectory\l# fileListTransfer\l# availableUploads\l# priority\l# orderingChannel\l# incrementalReadInterface\l# chunkSize\l|+ DirectoryDeltaTransfer()\l+ ~DirectoryDeltaTransfer()\l+ SetFileListTransferPlugin()\l+ SetApplicationDirectory()\l+ SetUploadSendParameters()\l+ AddUploadsFromSubdirectory()\l+ DownloadFromSubdirectory()\l+ DownloadFromSubdirectory()\l+ GenerateHashes()\l+ ClearUploads()\l+ GetNumberOfFilesForUpload()\l+ SetDownloadRequestIncremental\lReadInterface()\l+ OnReceive()\l# OnDownloadRequest()\l}" alt="" coords="739,512,964,883"/>
<area shape="rect" id="node6" href="$d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer" title="A plugin to provide a simple way to compress and incrementally send the files in the FileList structu..." alt="" coords="989,497,1202,897"/>
<area shape="rect" id="node7" href="$dd/da8/class_s_l_net_1_1_h_t_t_p_connection2.xhtml" title="Use HTTPConnection2 to communicate with a web server." alt="" coords="1226,505,1461,890"/>
<area shape="rect" id="node8" href="$dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#d4/d96/class_s_l_net_1_1_message_filter" title="Assigns systems to FilterSets. Each FilterSet limits what kinds of messages are allowed." alt="" coords="1485,527,1716,868"/>
<area shape="rect" id="node9" href="$db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/df2/class_s_l_net_1_1_nat_punchthrough_client" title="Client code for NATPunchthrough." alt="" coords="1741,380,1962,1015"/>
<area shape="rect" id="node10" href="$db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d1/dc6/class_s_l_net_1_1_nat_punchthrough_server" title="Server code for NATPunchthrough." alt="" coords="1986,519,2197,875"/>
<area shape="rect" id="node11" href="$d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#d2/d32/class_s_l_net_1_1_nat_type_detection_client" title="Client code for NatTypeDetection." alt="" coords="2221,534,2423,861"/>
<area shape="rect" id="node12" href="$d4/de2/group___n_a_t___t_y_p_e___d_e_t_e_c_t_i_o_n___g_r_o_u_p.xhtml#dd/d27/class_s_l_net_1_1_nat_type_detection_server" title="Server code for NatTypeDetection." alt="" coords="2447,519,2653,875"/>
<area shape="rect" id="node13" href="$dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger" title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag..." alt="" coords="2677,512,2887,883"/>
<area shape="rect" id="node18" href="$df/dc4/group___r_a_k_n_e_t___t_r_a_n_s_p_o_r_t___g_r_o_u_p.xhtml#d4/dab/class_s_l_net_1_1_rak_net_transport2" title="Use RakNetTransport if you need a secure connection between the client and the console server..." alt="" coords="2912,549,3119,846"/>
<area shape="rect" id="node19" href="$d7/dda/group___r_e_a_d_y___e_v_e_n_t___g_r_o_u_p.xhtml#d6/dad/class_s_l_net_1_1_ready_event" title="Peer to peer synchronized ready and unready events." alt="" coords="3143,483,3357,912"/>
<area shape="rect" id="node20" href="$df/d66/group___r_e_l_a_y___p_l_u_g_i_n___g_r_o_u_p.xhtml#d2/d1e/class_s_l_net_1_1_relay_plugin" title="A simple class to relay messages from one system to another, identifying remote systems by a string..." alt="" coords="3382,461,3625,934"/>
<area shape="rect" id="node21" href="$d0/d63/group___r_e_p_l_i_c_a___m_a_n_a_g_e_r___g_r_o_u_p3.xhtml#d4/d18/class_s_l_net_1_1_replica_manager3" title="System to help automate game object construction, destruction, and serialization." alt="" coords="3649,424,3856,971"/>
<area shape="rect" id="node22" href="$db/d4d/group___r_o_u_t_e_r__2___g_r_o_u_p.xhtml#df/d90/class_s_l_net_1_1_router2" title="Class interface for the Router2 system." alt="" coords="3881,424,4118,971"/>
<area shape="rect" id="node23" href="$d4/db4/group___r_p_c___p_l_u_g_i_n___g_r_o_u_p.xhtml#de/d58/class_s_l_net_1_1_r_p_c4" title="The RPC4 plugin is just an association between a C function pointer and a string." alt="" coords="4142,461,4361,934"/>
<area shape="rect" id="node24" href="$df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#dd/d3f/class_s_l_net_1_1_statistics_history_plugin" title="Input numerical values over time. Get sum, average, highest, lowest, standard deviation on recent or ..." alt="" coords="4385,593,4579,802"/>
<area shape="rect" id="node25" href="$d7/dfc/group___t_e_a_m___b_a_l_a_n_c_e_r___g_r_o_u_p.xhtml#de/ddd/class_s_l_net_1_1_team_balancer" title="Set and network team selection (supports peer to peer or client/server)" alt="" coords="4603,453,4830,941"/>
<area shape="rect" id="node26" href="$d1/dc9/group___t_e_a_m___m_a_n_a_g_e_r___g_r_o_u_p.xhtml#d7/dbe/class_s_l_net_1_1_team_manager" title="Automates networking and list management for teams." alt="" coords="4854,453,5073,941"/>
<area shape="rect" id="node27" href="$df/db6/group___p_l_u_g_i_n_s___g_r_o_u_p.xhtml#d7/d56/class_s_l_net_1_1_two_way_authentication" title="Implements two way authentication." alt="" coords="5097,534,5315,861"/>
<area shape="rect" id="node28" href="$d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#db/d22/class_s_l_net_1_1_u_d_p_proxy_client" title="Communicates with UDPProxyCoordinator, in order to find a UDPProxyServer to forward our datagrams..." alt="" coords="5340,585,5507,809"/>
<area shape="rect" id="node29" href="$db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d6/db8/class_s_l_net_1_1_u_d_p_proxy_coordinator" title="Middleman between UDPProxyServer and UDPProxyClient, maintaining a list of UDPProxyServer, and managing state for clients to find an available forwarding server." alt="" coords="5531,505,5755,890"/>
<area shape="rect" id="node30" href="$d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder." alt="" coords="5780,519,6037,875"/>
<area shape="rect" id="node14" href="$dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d1/d74/class_s_l_net_1_1_packet_console_logger" title="Packetlogger that logs to a remote command console." alt="" coords="2373,1070,2567,1177"/>
<area shape="rect" id="node15" href="$dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#df/d0f/class_s_l_net_1_1_packet_file_logger" title="Packetlogger that outputs to a file." alt="" coords="2591,1063,2757,1184"/>
<area shape="rect" id="node16" href="$dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#de/d88/class_s_l_net_1_1_packet_output_window_logger" title="Packetlogger that outputs to the output window in the debugger. Windows only." alt="" coords="2781,1063,2996,1184"/>
<area shape="rect" id="node17" href="$dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#db/d5d/class_s_l_net_1_1_threadsafe_packet_logger" title="Same as PacketLogger, but writes output in the user thread." alt="" coords="3020,1063,3229,1184"/>
</map>

View File

@ -0,0 +1 @@
653a27ed1bf70d8ee38eac19f97101be

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 115 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 110 KiB

View File

@ -0,0 +1,153 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('db/d19/class_data_structures_1_1_binary_search_tree.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#add1e90ecd655a1b28be29813b43f79a8">Add</a>(const BinarySearchTreeType &amp;input, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#aa2eae4277af5983b79abe2f84c6d5ab6">BinarySearchTree</a>()</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a9971027b56966fa5c34075f67dd22bc0">BinarySearchTree</a>(const BinarySearchTree &amp;original_type)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a4dfb2e2b9a0a8f23e4fc636b58ea4d3f">BinarySearchTree_size</a></td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a2380dab08090b867bb19dbe26bb62dfe">Clear</a>(const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a9a29693e4575fc0fe18ab778a75c89b8">Del</a>(const BinarySearchTreeType &amp;input, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a292e62e2b24b59d393657ff3c69c82ed">direction</a></td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3a">Direction_Types</a> enum name</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a718b886877feb30466efba30341c0a82">DisplayBreadthFirstSearch</a>(BinarySearchTreeType *return_array)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a66f82a3176d81b0ef3d1a8362d9e1507">DisplayInorder</a>(BinarySearchTreeType *return_array)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a03b31b8c324d813560205b2806775f46">DisplayPostorder</a>(BinarySearchTreeType *return_array)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ae01518754ae96d9df3df3ccd0b65fb15">DisplayPostorderRecursive</a>(node *current, BinarySearchTreeType *return_array, unsigned int &amp;index)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a4b2048b47d3a209de79a185ca29c65e4">DisplayPreorder</a>(BinarySearchTreeType *return_array)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a0196a589767ca99d7a7caa9b41225817">Find</a>(const BinarySearchTreeType &amp;element, node **parent)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#abf40adb877ad2b915da8d05bc603b98d">FindParent</a>(const BinarySearchTreeType &amp;element)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ac9695192b853884f7accb60c157b5ab7">FixTree</a>(node *current)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ac7878327f9c37d8b7d63d6f98bb9b35e">GetPointerToNode</a>(const BinarySearchTreeType &amp;element)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#aaa31a55fe61ec63cf401e0943a9a3361">Height</a>(node *starting_node=0)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a2b11c7d903e037a726decc1cd866d4e7">HeightRecursive</a>(node *current)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#adca1aa14d6bdeec90248567b05e4c28f">IsIn</a>(const BinarySearchTreeType &amp;input)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aa46c975096614f0b49bcbba65e8a0a455">LEFT</a> enum value</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aa8c936ef6dbd6034f95a39138a685e155">NOT_FOUND</a> enum value</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#ab31d3d1c76535e657e24d687a6ac0f3c">operator=</a>(const BinarySearchTree &amp;original_copy)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aad9027bdc98a5d303de4aa99ebb6bbe9e">RIGHT</a> enum value</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a6854050657cfa61442e6189dd0039318">root</a></td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a84089f536d9c987fff2036cf0e910f3aa96101957d6528addd19368dead6fb76d">ROOT</a> enum value</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#a95931c3bdd7589cc1696b0ad0b5f78ab">Size</a>(void)</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml#aeb7774f9c2928f5796b3ddcf8a19810c">~BinarySearchTree</a>()</td><td class="entry"><a class="el" href="../../db/d19/class_data_structures_1_1_binary_search_tree.xhtml">DataStructures::BinarySearchTree&lt; BinarySearchTreeType &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,145 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::HTTPConnection Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#aec2f74f4f84d363eaee24bdccac369fb">currentProcessingCommand</a></td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a170f45d90987e40a5209d0490505d426aaeb777b77c405d3fec7a382ea81aa014">Deleted</a> enum value</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a485c73e39a601972de4328f922931225">Get</a>(const char *path)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a5f7a0bfc3624c6f5c3684bbdd8379263">GetServerAddress</a>(void) const </td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a98302eca1a447a77d6988f3b6ea4d245">GetState</a>(void) const </td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a603695ad380d961a72bb9051a557f92a">HasBadResponse</a>(int *code, SLNet::RakString *data)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a04d57d44cca79258bf646ec2901ed90c">HasRead</a>(void) const </td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#af3114e4acc2865c600c2140ec2ca21e3">HTTPConnection</a>()</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a8c4dd158399ab2bb1c26c4ac27b9fb2c">Init</a>(TCPInterface *_tcp, const char *host, unsigned short port=80)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a24dd376eada96acfe42bd20d11fd4ecc">IsBusy</a>(void) const </td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a170f45d90987e40a5209d0490505d426a5e40b02b6726e2ae99f9174cb8bb6407">NoBody</a> enum value</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a170f45d90987e40a5209d0490505d426ab97f7918b4b02314141fcdba4c520bcf">OK</a> enum value</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a0681736ceecafa2e9a797c711aa2a9cd">operator=</a>(const HTTPConnection &amp;rhs)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#aa65d5c3a2bdfff7d9b3a270555a44929">outgoingCommand</a></td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a2915aeb07dd1ad3684be6dbb8771785b">Post</a>(const char *path, const char *data, const char *_contentType=&quot;application/x-www-form-urlencoded&quot;)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a94b29065642b0ef3f616476928cf8e0c">ProcessTCPPacket</a>(Packet *packet)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a467a2cee536c32a0f74e0dc5cb6f0fb1">Read</a>(void)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a170f45d90987e40a5209d0490505d426">ResponseCodes</a> enum name</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#ae8f085b28f447a77d88b3d87de565d34">Update</a>(void)</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml#a464193beeabd012d2d1ecddacc634d77">~HTTPConnection</a>()</td><td class="entry"><a class="el" href="../../de/da4/class_s_l_net_1_1_h_t_t_p_connection.xhtml">SLNet::HTTPConnection</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,155 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d5/da2/class_s_l_net_1_1_log_command_parser.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::LogCommandParser Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a35f7782ea9a03e452755142f8f9aa4ba">AddChannel</a>(const char *channelName)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a1447cd2d0199eb8fbaa31451e4a416f4">channelNames</a></td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a9ebee7da1aed4260a4935e2954969239">commandList</a></td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a7ba9f06e187e9ddab5ae7c029ea79622">CommandParserInterface</a>()</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab6c715b79deb90c6a2a9a3e74c693782">GetChannelIndexFromName</a>(const char *channelName)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a6f5c3ee5e99697a09aa4df82f568a6a3">GetName</a>(void) const </td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#af207b9dd2bd9dd57ae6263f26ae4736b">GetRegisteredCommand</a>(const char *command, RegisteredCommand *rc)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab4c6da7e29bdad095d1ae970fd39e20f">LogCommandParser</a>()</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ae2bd5f41fef87a9708e4cbd9eb5e909e">OnCommand</a>(const char *command, unsigned numParameters, char **parameterList, TransportInterface *transport, const SystemAddress &amp;systemAddress, const char *originalString)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a69711e87288adfbeea4a48a4140a1275">OnConnectionLost</a>(const SystemAddress &amp;systemAddress, TransportInterface *transport)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ae786c2d5be14376983a10c20468addc5">OnNewIncomingConnection</a>(const SystemAddress &amp;systemAddress, TransportInterface *transport)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a2223dae174d0f814521eb9f8f855d2f8">OnTransportChange</a>(TransportInterface *transport)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a5f24234afcc66d0591109ef74b4d1239">ParseConsoleString</a>(char *str, const char delineator, unsigned char delineatorToggle, unsigned *numParameters, char **parameterList, unsigned parameterListLength)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#ab87fb0f2e0f8a890a3c7d1d7244eba1e">PrintChannels</a>(const SystemAddress &amp;systemAddress, TransportInterface *transport) const </td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#af567f77880a28f0662de71d2b115ee40">RegisterCommand</a>(unsigned char parameterCount, const char *command, const char *commandHelp)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a56792fea44e30074e9a8bb920a3c8966">remoteUsers</a></td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#aaa19fe99cd9223c972ff11369cd9179c">ReturnResult</a>(bool res, const char *command, TransportInterface *transport, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#acb34c1b3b505bc602fa7ecc0af8bad1a">ReturnResult</a>(char *res, const char *command, TransportInterface *transport, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a7409a39e68431493d7194720cbae91f9">ReturnResult</a>(SystemAddress res, const char *command, TransportInterface *transport, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a86419b3c8042227f0ad30335f4e35666">ReturnResult</a>(int res, const char *command, TransportInterface *transport, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a722b48ee2b088b3d471e978980babac6">ReturnResult</a>(const char *command, TransportInterface *transport, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a2e03d50221b92ab98b41d1f66b8001cb">SendCommandList</a>(TransportInterface *transport, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a394c92ba82a5f933216819a4b0f67961">SendHelp</a>(TransportInterface *transport, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a37adb011144c500ec6f82d8a013c7063">Subscribe</a>(const SystemAddress &amp;systemAddress, const char *channelName)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a399229f0bb45835e24c6be7444ff13d0">trans</a></td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a869788dc99e167aac218a117d9cab705">Unsubscribe</a>(const SystemAddress &amp;systemAddress, const char *channelName)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#af22a712a9db931075f8ea8f6a6c5e930">VARIABLE_NUMBER_OF_PARAMETERS</a></td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#aab79a411bea635b4241afcea57056b72">WriteLog</a>(const char *channelName, const char *format,...)</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml#a9ed8b0c6f394233b23c09ab24af22475">~CommandParserInterface</a>()</td><td class="entry"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">SLNet::CommandParserInterface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml#a2f0c8967049bbc629318c145b6a4b67a">~LogCommandParser</a>()</td><td class="entry"><a class="el" href="../../d5/da2/class_s_l_net_1_1_log_command_parser.xhtml">SLNet::LogCommandParser</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,15 @@
var struct_s_l_net_1_1_remote_client =
[
[ "RemoteClient", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a8d4ba4049fc99b5e9440d21372409a31", null ],
[ "Recv", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a625434a4fe10648d9730a154f0f18a9f", null ],
[ "Reset", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a9115b364459ed41b9e9b51728dea4d9f", null ],
[ "Send", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#abb23b23db90d528246b1ca34240b9dd8", null ],
[ "SendOrBuffer", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a4bd9816874070e1a2423cff3f62370b2", null ],
[ "SetActive", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a8704f78c1ee8a7ff54013e925a422295", null ],
[ "isActive", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a6e81226db314f31eb76c7ffa77078323", null ],
[ "isActiveMutex", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a536da83d92ebe6b759670c2f8c377763", null ],
[ "outgoingData", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#adef1b406dc035c8f3217e0f5b53ccd96", null ],
[ "outgoingDataMutex", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#ae2a7acca4249c9d9396e27c54ed3b9c8", null ],
[ "socket", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#ae7c4c28abe669fd2e6a00ec29b728e04", null ],
[ "systemAddress", "dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a2965d538663fda49be0fdc2f5ccbc467", null ]
];

View File

@ -0,0 +1,420 @@
<!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"/>
<title>SLikeNet: SLNet::RemoteClient Struct 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d15/struct_s_l_net_1_1_remote_client.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d9/d62/struct_s_l_net_1_1_remote_client-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::RemoteClient Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Stores information about a remote client.
<a href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">slikenet/TCPInterface.h</a>&gt;</code></p>
<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:a8d4ba4049fc99b5e9440d21372409a31"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a8d4ba4049fc99b5e9440d21372409a31">RemoteClient</a> ()</td></tr>
<tr class="separator:a8d4ba4049fc99b5e9440d21372409a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb23b23db90d528246b1ca34240b9dd8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#abb23b23db90d528246b1ca34240b9dd8">Send</a> (const char *data, unsigned int length)</td></tr>
<tr class="separator:abb23b23db90d528246b1ca34240b9dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a625434a4fe10648d9730a154f0f18a9f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a625434a4fe10648d9730a154f0f18a9f">Recv</a> (char *data, const int dataSize)</td></tr>
<tr class="separator:a625434a4fe10648d9730a154f0f18a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9115b364459ed41b9e9b51728dea4d9f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a9115b364459ed41b9e9b51728dea4d9f">Reset</a> (void)</td></tr>
<tr class="separator:a9115b364459ed41b9e9b51728dea4d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8704f78c1ee8a7ff54013e925a422295"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a8704f78c1ee8a7ff54013e925a422295">SetActive</a> (bool a)</td></tr>
<tr class="separator:a8704f78c1ee8a7ff54013e925a422295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bd9816874070e1a2423cff3f62370b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a4bd9816874070e1a2423cff3f62370b2">SendOrBuffer</a> (const char **data, const unsigned int *lengths, const int numParameters)</td></tr>
<tr class="separator:a4bd9816874070e1a2423cff3f62370b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ae7c4c28abe669fd2e6a00ec29b728e04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#ae7c4c28abe669fd2e6a00ec29b728e04">socket</a></td></tr>
<tr class="separator:ae7c4c28abe669fd2e6a00ec29b728e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2965d538663fda49be0fdc2f5ccbc467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a2965d538663fda49be0fdc2f5ccbc467">systemAddress</a></td></tr>
<tr class="separator:a2965d538663fda49be0fdc2f5ccbc467"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adef1b406dc035c8f3217e0f5b53ccd96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml">DataStructures::ByteQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#adef1b406dc035c8f3217e0f5b53ccd96">outgoingData</a></td></tr>
<tr class="separator:adef1b406dc035c8f3217e0f5b53ccd96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e81226db314f31eb76c7ffa77078323"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a6e81226db314f31eb76c7ffa77078323">isActive</a></td></tr>
<tr class="separator:a6e81226db314f31eb76c7ffa77078323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2a7acca4249c9d9396e27c54ed3b9c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SimpleMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#ae2a7acca4249c9d9396e27c54ed3b9c8">outgoingDataMutex</a></td></tr>
<tr class="separator:ae2a7acca4249c9d9396e27c54ed3b9c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a536da83d92ebe6b759670c2f8c377763"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SimpleMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml#a536da83d92ebe6b759670c2f8c377763">isActiveMutex</a></td></tr>
<tr class="separator:a536da83d92ebe6b759670c2f8c377763"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Stores information about a remote client. </p>
<p>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00224">224</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8d4ba4049fc99b5e9440d21372409a31"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SLNet::RemoteClient::RemoteClient </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>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00226">226</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
<p>References <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00238">isActive</a>, and <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00235">socket</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a625434a4fe10648d9730a154f0f18a9f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SLNet::RemoteClient::Recv </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>dataSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9115b364459ed41b9e9b51728dea4d9f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SLNet::RemoteClient::Reset </td>
<td>(</td>
<td class="paramtype">void&#160;</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>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00253">253</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d7/d26/_d_s___byte_queue_8cpp_source.xhtml#l00111">DataStructures::ByteQueue::Clear()</a>, <a class="el" href="../../de/dd8/_simple_mutex_8cpp_source.xhtml#l00105">SLNet::SimpleMutex::Lock()</a>, <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00237">outgoingData</a>, <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00239">outgoingDataMutex</a>, and <a class="el" href="../../de/dd8/_simple_mutex_8cpp_source.xhtml#l00154">SLNet::SimpleMutex::Unlock()</a>.</p>
</div>
</div>
<a class="anchor" id="abb23b23db90d528246b1ca34240b9dd8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SLNet::RemoteClient::Send </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4bd9816874070e1a2423cff3f62370b2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::RemoteClient::SendOrBuffer </td>
<td>(</td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int *&#160;</td>
<td class="paramname"><em>lengths</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>numParameters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8704f78c1ee8a7ff54013e925a422295"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::RemoteClient::SetActive </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a6e81226db314f31eb76c7ffa77078323"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::RemoteClient::isActive</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00238">238</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00226">RemoteClient()</a>.</p>
</div>
</div>
<a class="anchor" id="a536da83d92ebe6b759670c2f8c377763"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SimpleMutex</a> SLNet::RemoteClient::isActiveMutex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00240">240</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
</div>
</div>
<a class="anchor" id="adef1b406dc035c8f3217e0f5b53ccd96"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/dbb/class_data_structures_1_1_byte_queue.xhtml">DataStructures::ByteQueue</a> SLNet::RemoteClient::outgoingData</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00237">237</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00253">Reset()</a>.</p>
</div>
</div>
<a class="anchor" id="ae2a7acca4249c9d9396e27c54ed3b9c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml">SimpleMutex</a> SLNet::RemoteClient::outgoingDataMutex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00239">239</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00253">Reset()</a>.</p>
</div>
</div>
<a class="anchor" id="ae7c4c28abe669fd2e6a00ec29b728e04"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#a5aa1a1bddd045228f3a4935849eeb8a2">__TCPSOCKET__</a> SLNet::RemoteClient::socket</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00235">235</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00226">RemoteClient()</a>.</p>
</div>
</div>
<a class="anchor" id="a2965d538663fda49be0fdc2f5ccbc467"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> SLNet::RemoteClient::systemAddress</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml#l00236">236</a> of file <a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../de/dd1/_t_c_p_interface_8h_source.xhtml">TCPInterface.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../dc/d15/struct_s_l_net_1_1_remote_client.xhtml">RemoteClient</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var class_s_l_net_1_1_rak_net_socket2_allocator =
[
[ "AllocRNS2", "dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator.xhtml#a32fc5bf6ae447099ba908f1712af9748", null ],
[ "DeallocRNS2", "dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator.xhtml#a495efecfedd981aa87dbd5e81f01bd67", null ]
];

View File

@ -0,0 +1,204 @@
<!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"/>
<title>SLikeNet: SLNet::RakNetSocket2Allocator 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="../../d5/d9f/class_s_l_net_1_1_rak_net_socket2_allocator-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::RakNetSocket2Allocator Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../df/ded/socket2_8h_source.xhtml">slikenet/socket2.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a32fc5bf6ae447099ba908f1712af9748"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator.xhtml#a32fc5bf6ae447099ba908f1712af9748">AllocRNS2</a> (void)</td></tr>
<tr class="separator:a32fc5bf6ae447099ba908f1712af9748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a495efecfedd981aa87dbd5e81f01bd67"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator.xhtml#a495efecfedd981aa87dbd5e81f01bd67">DeallocRNS2</a> (<a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *s)</td></tr>
<tr class="separator:a495efecfedd981aa87dbd5e81f01bd67"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00100">100</a> of file <a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a32fc5bf6ae447099ba908f1712af9748"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> * RakNetSocket2Allocator::AllocRNS2 </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00075">75</a> of file <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml">RakNetSocket2.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00070">SLNet::RNS2T_CHROME</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00075">SLNet::RNS2T_LINUX</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00074">SLNet::RNS2T_WINDOWS</a>, <a class="el" href="../../df/ded/socket2_8h_source.xhtml#l00067">SLNet::RNS2T_WINDOWS_STORE_8</a>, and <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00069">SLNet::RakNetSocket2::SetSocketType()</a>.</p>
<p>Referenced by <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00287">SLNet::IRNS2_Berkley::IsPortInUse()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>.</p>
</div>
</div>
<a class="anchor" id="a495efecfedd981aa87dbd5e81f01bd67"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void RakNetSocket2Allocator::DeallocRNS2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">RakNetSocket2</a> *&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00064">64</a> of file <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml">RakNetSocket2.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, and <a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml#l00182">SLNet::OP_DELETE()</a>.</p>
<p>Referenced by <a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml#l00287">SLNet::IRNS2_Berkley::IsPortInUse()</a>, and <a class="el" href="../../d5/d55/_rak_peer_8cpp_source.xhtml#l00372">SLNet::RakPeer::Startup()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.h</a></li>
<li>Source/src/<a class="el" href="../../d5/dd3/_rak_net_socket2_8cpp_source.xhtml">RakNetSocket2.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../dc/d18/class_s_l_net_1_1_rak_net_socket2_allocator.xhtml">RakNetSocket2Allocator</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var struct_s_l_net_1_1_router2_debug_interface =
[
[ "Router2DebugInterface", "dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#a4d2e88caa00faad5880501de43f483e3", null ],
[ "~Router2DebugInterface", "dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#a2b16885888b3d7b3c46291d74aef0b19", null ],
[ "ShowDiagnostic", "dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#ad424bcfc4c9471544469c7cb1f3c9ca2", null ],
[ "ShowFailure", "dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#a7f1be14ea15ad66b0975f84afcc2a2bb", null ]
];

View File

@ -0,0 +1,246 @@
<!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"/>
<title>SLikeNet: SLNet::Router2DebugInterface Struct 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../d8/d44/struct_s_l_net_1_1_router2_debug_interface-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::Router2DebugInterface Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d3/d0e/_router2_8h_source.xhtml">slikenet/Router2.h</a>&gt;</code></p>
<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:a4d2e88caa00faad5880501de43f483e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#a4d2e88caa00faad5880501de43f483e3">Router2DebugInterface</a> ()</td></tr>
<tr class="separator:a4d2e88caa00faad5880501de43f483e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b16885888b3d7b3c46291d74aef0b19"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#a2b16885888b3d7b3c46291d74aef0b19">~Router2DebugInterface</a> ()</td></tr>
<tr class="separator:a2b16885888b3d7b3c46291d74aef0b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f1be14ea15ad66b0975f84afcc2a2bb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#a7f1be14ea15ad66b0975f84afcc2a2bb">ShowFailure</a> (const char *message)</td></tr>
<tr class="separator:a7f1be14ea15ad66b0975f84afcc2a2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad424bcfc4c9471544469c7cb1f3c9ca2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml#ad424bcfc4c9471544469c7cb1f3c9ca2">ShowDiagnostic</a> (const char *message)</td></tr>
<tr class="separator:ad424bcfc4c9471544469c7cb1f3c9ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="../../d3/d0e/_router2_8h_source.xhtml#l00041">41</a> of file <a class="el" href="../../d3/d0e/_router2_8h_source.xhtml">Router2.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4d2e88caa00faad5880501de43f483e3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SLNet::Router2DebugInterface::Router2DebugInterface </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>Definition at line <a class="el" href="../../d3/d0e/_router2_8h_source.xhtml#l00043">43</a> of file <a class="el" href="../../d3/d0e/_router2_8h_source.xhtml">Router2.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2b16885888b3d7b3c46291d74aef0b19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual SLNet::Router2DebugInterface::~Router2DebugInterface </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>Definition at line <a class="el" href="../../d3/d0e/_router2_8h_source.xhtml#l00044">44</a> of file <a class="el" href="../../d3/d0e/_router2_8h_source.xhtml">Router2.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad424bcfc4c9471544469c7cb1f3c9ca2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SLNet::Router2DebugInterface::ShowDiagnostic </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>message</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7f1be14ea15ad66b0975f84afcc2a2bb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SLNet::Router2DebugInterface::ShowFailure </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>message</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d3/d0e/_router2_8h_source.xhtml">Router2.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../dc/d20/struct_s_l_net_1_1_router2_debug_interface.xhtml">Router2DebugInterface</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,148 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/PacketOutputWindowLogger.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d22/_packet_output_window_logger_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">PacketOutputWindowLogger.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This will write all incoming and outgoing network messages to a file.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../de/dd0/_packet_logger_8h_source.xhtml">PacketLogger.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d22/_packet_output_window_logger_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:de/d88/class_s_l_net_1_1_packet_output_window_logger"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#de/d88/class_s_l_net_1_1_packet_output_window_logger">SLNet::PacketOutputWindowLogger</a></td></tr>
<tr class="memdesc:de/d88/class_s_l_net_1_1_packet_output_window_logger"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packetlogger that outputs to the output window in the debugger. Windows only. <a href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#de/d88/class_s_l_net_1_1_packet_output_window_logger">More...</a><br/></td></tr>
<tr class="separator:de/d88/class_s_l_net_1_1_packet_output_window_logger"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This will write all incoming and outgoing network messages to a file. </p>
<p>Definition in file <a class="el" href="../../dc/d22/_packet_output_window_logger_8h_source.xhtml">PacketOutputWindowLogger.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d22/_packet_output_window_logger_8h.xhtml">PacketOutputWindowLogger.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,163 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/PacketOutputWindowLogger.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d22/_packet_output_window_logger_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">PacketOutputWindowLogger.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d22/_packet_output_window_logger_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_PacketLogger==1</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifndef __PACKET_OUTPUT_WINDOW_LOGGER_H_</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __PACKET_OUTPUT_WINDOW_LOGGER_H_</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/dd0/_packet_logger_8h.xhtml" title="This will write all incoming and outgoing network messages to the local console screen. See derived functions for other outputs.">PacketLogger.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;{</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml"> 34</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#de/d88/class_s_l_net_1_1_packet_output_window_logger" title="Packetlogger that outputs to the output window in the debugger. Windows only.">PacketOutputWindowLogger</a> : <span class="keyword">public</span> <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger" title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag...">PacketLogger</a></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#de/d88/class_s_l_net_1_1_packet_output_window_logger" title="Packetlogger that outputs to the output window in the debugger. Windows only.">PacketOutputWindowLogger</a>();</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#de/d88/class_s_l_net_1_1_packet_output_window_logger" title="Packetlogger that outputs to the output window in the debugger. Windows only.">PacketOutputWindowLogger</a>();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> WriteLog(<span class="keyword">const</span> <span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;};</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d22/_packet_output_window_logger_8h.xhtml">PacketOutputWindowLogger.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var _w_s_a_startup_singleton_8cpp =
[
[ "_T", "dc/d26/_w_s_a_startup_singleton_8cpp.xhtml#ae936e4c15227768f7da4e0951def89c8", null ]
];

View File

@ -0,0 +1,155 @@
<!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"/>
<title>SLikeNet: Source/src/WSAStartupSingleton.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d26/_w_s_a_startup_singleton_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">WSAStartupSingleton.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml">slikenet/WSAStartupSingleton.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d8/db0/defines_8h_source.xhtml">slikenet/defines.h</a>&quot;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
</div>
<p><a href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ae936e4c15227768f7da4e0951def89c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp.xhtml#ae936e4c15227768f7da4e0951def89c8">_T</a>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="separator:ae936e4c15227768f7da4e0951def89c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ae936e4c15227768f7da4e0951def89c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _T</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;(x)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00038">38</a> of file <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml">WSAStartupSingleton.cpp</a>.</p>
<p>Referenced by <a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml#l00046">WSAStartupSingleton::AddRef()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp.xhtml">WSAStartupSingleton.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,219 @@
<!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"/>
<title>SLikeNet: Source/src/WSAStartupSingleton.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d26/_w_s_a_startup_singleton_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">WSAStartupSingleton.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d26/_w_s_a_startup_singleton_8cpp.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d7e/_w_s_a_startup_singleton_8h.xhtml">slikenet/WSAStartupSingleton.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</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;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</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">#if defined(_WIN32) &amp;&amp; !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;winsock2.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;ws2tcpip.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../d8/db0/defines_8h.xhtml">slikenet/defines.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;tchar.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifndef _T</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="../../dc/d26/_w_s_a_startup_singleton_8cpp.xhtml#ae936e4c15227768f7da4e0951def89c8"> 38</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _T(x) (x)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">WSAStartupSingleton::refCount</a>=0;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a61904ff478f4e723e07a3184aab5f2f6"> 44</a></span>&#160;<a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a61904ff478f4e723e07a3184aab5f2f6">WSAStartupSingleton::WSAStartupSingleton</a>() {}</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#ac4d6fabed743b4981a3674e60bba71d2"> 45</a></span>&#160;<a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#ac4d6fabed743b4981a3674e60bba71d2">WSAStartupSingleton::~WSAStartupSingleton</a>() {}</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#aec8c21ef29199bcf9be7f3568c8afadf"> 46</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#aec8c21ef29199bcf9be7f3568c8afadf">WSAStartupSingleton::AddRef</a>(<span class="keywordtype">void</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="preprocessor">#if defined(_WIN32) &amp;&amp; !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">refCount</a>++;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">refCount</a>!=1)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; WSADATA winsockInfo;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">if</span> ( WSAStartup( MAKEWORD( 2, 2 ), &amp;winsockInfo ) != 0 )</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#if defined(_DEBUG) &amp;&amp; !defined(WINDOWS_PHONE_8)</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor"></span> DWORD dwIOError = GetLastError();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; LPTSTR messageBuffer;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), <span class="comment">// Default language</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; ( LPTSTR ) &amp; messageBuffer, 0, NULL );</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// something has gone wrong here...</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a29cf458f7287265fc1b414c3f72fa9ad">RAKNET_DEBUG_TPRINTF</a>( <a class="code" href="../../dc/d26/_w_s_a_startup_singleton_8cpp.xhtml#ae936e4c15227768f7da4e0951def89c8">_T</a>(<span class="stringliteral">&quot;WSAStartup failed:Error code - %lu\n%s&quot;</span>), dwIOError, messageBuffer );</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">//Free the buffer.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; LocalFree( messageBuffer );</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor"></span> }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#ad33efe86b5377555e3062058b5a4be01"> 77</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#ad33efe86b5377555e3062058b5a4be01">WSAStartupSingleton::Deref</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#if defined(_WIN32) &amp;&amp; !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">refCount</a>==0)</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">refCount</a>&gt;1)</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">refCount</a>--;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; WSACleanup();</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#a1f45de146975323eedad8b5640fe69fa">refCount</a>=0;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor"></span>}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d26/_w_s_a_startup_singleton_8cpp.xhtml">WSAStartupSingleton.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,140 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d9/d3f/class_c_s_h_a1.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">CSHA1 Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#abf4b9e3a6ea653ca7aabbb076a7f3645">CSHA1</a>()</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#afbdaab3f2a2946d26a6144af3fec5fd8">Final</a>()</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a736d60c74d29c605c5e62b3095ab7405">GetHash</a>(UINT_8 *pbDest20) const </td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#aae91c7e083706d5fc19c9a1e519798e0">GetHash</a>(void) const </td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#afa6e97d87a9e5fbafd9f00f5267c85db">HashFile</a>(const TCHAR *tszFileName)</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a2f50ed75cfcbe28bd9eba2ca2e84869a">HMAC</a>(unsigned char *sharedKey, int sharedKeyLength, unsigned char *data, int dataLength, unsigned char output[SHA1_LENGTH])</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a7134dc8e588c0ccd2ec799cde26d9d7cabe75c003144cc1f83fe2e77cb3179430">REPORT_DIGIT</a> enum value</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a7134dc8e588c0ccd2ec799cde26d9d7ca6482f900c0505a51b7710486c00cc6a6">REPORT_HEX</a> enum value</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a7134dc8e588c0ccd2ec799cde26d9d7ca23c7854236daebd38834b1baa0d0fc83">REPORT_HEX_SHORT</a> enum value</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a7134dc8e588c0ccd2ec799cde26d9d7c">REPORT_TYPE</a> enum name</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a290089ec3f38863940c4757ebbdf4d6e">ReportHash</a>(TCHAR *tszReport, REPORT_TYPE rtReportType=REPORT_HEX) const </td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a31e5e1164c484945fb1f7dce969787e4">ReportHashStl</a>(std::basic_string&lt; TCHAR &gt; &amp;strOut, REPORT_TYPE rtReportType=REPORT_HEX) const </td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a2473fd69604fc762000247867830c2a0">Reset</a>()</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a59536022ba64be584aed79c28f78d84c">Update</a>(const UINT_8 *pbData, UINT_32 uLen)</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml#a6677358e95741a25565165310c6cb0d7">~CSHA1</a>()</td><td class="entry"><a class="el" href="../../d9/d3f/class_c_s_h_a1.xhtml">CSHA1</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!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"/>
<title>SLikeNet: Source/src/TCPInterface.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d3c/_t_c_p_interface_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">TCPInterface.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d3c/_t_c_p_interface_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d3c/_t_c_p_interface_8cpp.xhtml">TCPInterface.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,126 @@
<!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"/>
<title>SLikeNet: Source/src/RakNetSocket2_Berkley.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d44/_rak_net_socket2___berkley_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">RakNetSocket2_Berkley.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/d5b/_empty_header_8h_source.xhtml">slikenet/EmptyHeader.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d0/dff/_linux_strings_8h_source.xhtml">slikenet/LinuxStrings.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../de/d3e/_itoa_8h_source.xhtml">slikenet/Itoa.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d44/_rak_net_socket2___berkley_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d44/_rak_net_socket2___berkley_8cpp.xhtml">RakNetSocket2_Berkley.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,688 @@
<!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"/>
<title>SLikeNet: Source/src/RakNetSocket2_Berkley.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d44/_rak_net_socket2___berkley_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">RakNetSocket2_Berkley.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d44/_rak_net_socket2___berkley_8cpp.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2018, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d5b/_empty_header_8h.xhtml">slikenet/EmptyHeader.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef RAKNETSOCKET2_BERKLEY_CPP</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define RAKNETSOCKET2_BERKLEY_CPP</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// Every platform except windows store 8 and native client supports Berkley sockets</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#if !defined(WINDOWS_STORE_RT) &amp;&amp; !defined(__native_client__)</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;tchar.h&gt;</span> <span class="comment">// used for _tprintf() (via RAKNET_DEBUG_TPRINTF)</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../d0/dff/_linux_strings_8h.xhtml">slikenet/LinuxStrings.h</a>&quot;</span> <span class="comment">// used for _stricmp()</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/d3e/_itoa_8h.xhtml">slikenet/Itoa.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::SetSocketOptions(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordtype">int</span> r;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// This doubles the max throughput rate</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">int</span> sock_opt=1024*256;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; r = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#ab59c1f320f096fe127d1180efa7e2b73">setsockopt__</a>( rns2Socket, SOL_SOCKET, SO_RCVBUF, ( <span class="keywordtype">char</span> * ) &amp; sock_opt, <span class="keyword">sizeof</span> ( sock_opt ) );</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(r==0);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// Immediate hard close. Don&#39;t linger the socket, or recreating the socket quickly on Vista fails.</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// Fail with voice and xbox</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; sock_opt=0;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; r = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#ab59c1f320f096fe127d1180efa7e2b73">setsockopt__</a>( rns2Socket, SOL_SOCKET, SO_LINGER, ( <span class="keywordtype">char</span> * ) &amp; sock_opt, <span class="keyword">sizeof</span> ( sock_opt ) );</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">// Do not assert, ignore failure</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// This doesn&#39;t make much difference: 10% maybe</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Not supported on console 2</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; sock_opt=1024*16;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; r = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#ab59c1f320f096fe127d1180efa7e2b73">setsockopt__</a>( rns2Socket, SOL_SOCKET, SO_SNDBUF, ( <span class="keywordtype">char</span> * ) &amp; sock_opt, <span class="keyword">sizeof</span> ( sock_opt ) );</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(r==0);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::SetNonBlockingSocket(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nonblocking)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"></span> <span class="keywordtype">int</span> res = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a661fb7d6cebc99640c451d25894e57b3">ioctlsocket__</a>( rns2Socket, FIONBIO, &amp;nonblocking );</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(res==0);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (nonblocking)</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; fcntl( rns2Socket, F_SETFL, O_NONBLOCK );</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::SetBroadcastSocket(<span class="keywordtype">int</span> broadcast)</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#ab59c1f320f096fe127d1180efa7e2b73">setsockopt__</a>( rns2Socket, SOL_SOCKET, SO_BROADCAST, ( <span class="keywordtype">char</span> * ) &amp; broadcast, <span class="keyword">sizeof</span>( broadcast ) );</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::SetIPHdrIncl(<span class="keywordtype">int</span> ipHdrIncl)</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#ab59c1f320f096fe127d1180efa7e2b73">setsockopt__</a>( rns2Socket, IPPROTO_IP, IP_HDRINCL, ( <span class="keywordtype">char</span> * ) &amp; ipHdrIncl, <span class="keyword">sizeof</span>( ipHdrIncl ) );</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::SetDoNotFragment( <span class="keywordtype">int</span> opt )</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor"> #if defined( IP_DONTFRAGMENT )</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor"></span><span class="preprocessor"> #if defined(_WIN32) &amp;&amp; !defined(_DEBUG)</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor"></span> <span class="comment">// If this assert hit you improperly linked against WSock32.h</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(IP_DONTFRAGMENT==14);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#ab59c1f320f096fe127d1180efa7e2b73">setsockopt__</a>( rns2Socket, boundAddress.GetIPPROTO(), IP_DONTFRAGMENT, ( <span class="keywordtype">char</span> * ) &amp; opt, <span class="keyword">sizeof</span> ( opt ) );</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::GetSystemAddressIPV4 ( <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a1ad731e60821d308ed31462f1093bb2c">RNS2Socket</a> rns2Socket, SystemAddress *systemAddressOut )</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; sockaddr_in sa;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; memset(&amp;sa,0,<span class="keyword">sizeof</span>(sockaddr_in));</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; socklen_t len = <span class="keyword">sizeof</span>(sa);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">//int r = </span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a99f94f1d975115e4840b488b3af9998f">getsockname__</a>(rns2Socket, (sockaddr*)&amp;sa, &amp;len);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; systemAddressOut-&gt;SetPortNetworkOrder(sa.sin_port);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; systemAddressOut-&gt;address.addr4.sin_addr.s_addr=sa.sin_addr.s_addr;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (systemAddressOut-&gt;address.addr4.sin_addr.s_addr == INADDR_ANY)</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</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;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; inet_pton(AF_INET, <span class="stringliteral">&quot;127.0.0.1&quot;</span>, &amp;systemAddressOut-&gt;address.addr4.sin_addr.s_addr);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::GetSystemAddressIPV4And6 ( <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a1ad731e60821d308ed31462f1093bb2c">RNS2Socket</a> rns2Socket, SystemAddress *systemAddressOut )</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; socklen_t slen;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; sockaddr_storage ss;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; slen = <span class="keyword">sizeof</span>(ss);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> ( <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a99f94f1d975115e4840b488b3af9998f">getsockname__</a>(rns2Socket, (<span class="keyword">struct</span> sockaddr *)&amp;ss, &amp;slen)!=0)</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="preprocessor">#if defined(_WIN32) &amp;&amp; defined(_DEBUG)</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="preprocessor"></span> DWORD dwIOError = GetLastError();</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; LPVOID messageBuffer;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), <span class="comment">// Default language</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; ( LPTSTR ) &amp; messageBuffer, 0, NULL );</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="comment">// something has gone wrong here...</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a29cf458f7287265fc1b414c3f72fa9ad">RAKNET_DEBUG_TPRINTF</a>( <a class="code" href="../../d8/d4f/_socket_layer_8cpp.xhtml#ae936e4c15227768f7da4e0951def89c8">_T</a>(<span class="stringliteral">&quot;getsockname failed:Error code - %d\n%s&quot;</span>), dwIOError, static_cast&lt;LPTSTR&gt;(messageBuffer));</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">//Free the buffer.</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; LocalFree( messageBuffer );</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="preprocessor"></span> systemAddressOut-&gt;FromString(0);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (ss.ss_family==AF_INET)</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; memcpy(&amp;systemAddressOut-&gt;address.addr4,(sockaddr_in *)&amp;ss,<span class="keyword">sizeof</span>(sockaddr_in));</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; systemAddressOut-&gt;debugPort=ntohs(systemAddressOut-&gt;address.addr4.sin_port);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> zero = 0; </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span> (memcmp(&amp;systemAddressOut-&gt;address.addr4.sin_addr.s_addr, &amp;zero, <span class="keyword">sizeof</span>(zero))==0)</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; systemAddressOut-&gt;SetToLoopback(4);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="comment">// systemAddressOut-&gt;address.addr4.sin_port=ntohs(systemAddressOut-&gt;address.addr4.sin_port);</span></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; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; memcpy(&amp;systemAddressOut-&gt;address.addr6,(sockaddr_in6 *)&amp;ss,<span class="keyword">sizeof</span>(sockaddr_in6));</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; systemAddressOut-&gt;debugPort=ntohs(systemAddressOut-&gt;address.addr6.sin6_port);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordtype">char</span> zero[16];</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; memset(zero,0,<span class="keyword">sizeof</span>(zero));</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (memcmp(&amp;systemAddressOut-&gt;address.addr4.sin_addr.s_addr, &amp;zero, <span class="keyword">sizeof</span>(zero))==0)</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; systemAddressOut-&gt;SetToLoopback(6);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// systemAddressOut-&gt;address.addr6.sin6_port=ntohs(systemAddressOut-&gt;address.addr6.sin6_port);</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor"></span> (void) rns2Socket;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; (void) systemAddressOut;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1">RNS2BindResult</a> RNS2_Berkley::BindSharedIPV4( RNS2_BerkleyBindParameters *bindParameters, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line ) {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; (void) file;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; (void) line;</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; <span class="keywordtype">int</span> ret;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; memset(&amp;boundAddress.address.addr4,0,<span class="keyword">sizeof</span>(sockaddr_in));</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; boundAddress.address.addr4.sin_port = htons( bindParameters-&gt;port );</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; rns2Socket = (int) <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#af9f142186ba41aca27cf6bdd4d118121">socket__</a>( bindParameters-&gt;addressFamily, bindParameters-&gt;type, bindParameters-&gt;protocol );</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> (rns2Socket == -1)</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1add38db328a70f3a3470819f91a8b02e4">BR_FAILED_TO_BIND_SOCKET</a>;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; SetSocketOptions();</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; SetNonBlockingSocket(bindParameters-&gt;nonBlockingSocket);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; SetBroadcastSocket(bindParameters-&gt;setBroadcast);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; SetIPHdrIncl(bindParameters-&gt;setIPHdrIncl);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// Fill in the rest of the address structure</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; boundAddress.address.addr4.sin_family = AF_INET;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">if</span> (bindParameters-&gt;hostAddress &amp;&amp; bindParameters-&gt;hostAddress[0])</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; inet_pton(AF_INET, bindParameters-&gt;hostAddress, &amp;boundAddress.address.addr4.sin_addr.s_addr);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">// RAKNET_DEBUG_PRINTF(&quot;Binding any on port %i\n&quot;, port);</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; boundAddress.address.addr4.sin_addr.s_addr = INADDR_ANY;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="comment">// bind our name to the socket</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; ret = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#aaffce1e3f3e8eea47538b8dcf6d78215">bind__</a>( rns2Socket, ( <span class="keyword">struct</span> sockaddr * ) &amp;boundAddress.address.addr4, <span class="keyword">sizeof</span>( boundAddress.address.addr4 ) );</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> ( ret &lt;= -1 )</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a11f93ef744b7ec96842c158fe2f56c8e" title="Internal.">closesocket__</a>(rns2Socket);</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1add38db328a70f3a3470819f91a8b02e4">BR_FAILED_TO_BIND_SOCKET</a>;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="preprocessor">#elif (defined(__GNUC__) || defined(__GCCXML__) ) &amp;&amp; !defined(_WIN32)</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a11f93ef744b7ec96842c158fe2f56c8e" title="Internal.">closesocket__</a>(rns2Socket);</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">switch</span> (errno)</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">case</span> EBADF:</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): sockfd is not a valid descriptor.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">case</span> ENOTSOCK:</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): Argument is a descriptor for a file, not a socket.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">case</span> EINVAL:</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): The addrlen is wrong, or the socket was not in the AF_UNIX family.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">case</span> EROFS:</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): The socket inode would reside on a read-only file system.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">case</span> EFAULT:</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): my_addr points outside the user&#39;s accessible address space.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">case</span> ENAMETOOLONG:</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): my_addr is too long.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">case</span> ENOENT:</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): The file does not exist.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">case</span> ENOMEM:</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): Insufficient kernel memory was available.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">case</span> ENOTDIR:</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): A component of the path prefix is not a directory.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">case</span> EACCES:</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="comment">// Port reserved on PS4</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): Search permission is denied on a component of the path prefix.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">case</span> ELOOP:</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;bind__(): Too many symbolic links were encountered in resolving my_addr.\n&quot;</span>); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a2a5d867f7ae6521f217847a78f17ab4a">RAKNET_DEBUG_PRINTF</a>(<span class="stringliteral">&quot;Unknown bind__() error %i.\n&quot;</span>, errno); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1add38db328a70f3a3470819f91a8b02e4">BR_FAILED_TO_BIND_SOCKET</a>;</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="preprocessor"></span> }</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; GetSystemAddressIPV4(rns2Socket, &amp;boundAddress );</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1ab1271f816dda76b8f2bc7da6542a1fcf">BR_SUCCESS</a>;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1">RNS2BindResult</a> RNS2_Berkley::BindSharedIPV4And6( RNS2_BerkleyBindParameters *bindParameters, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line ) {</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; </div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; (void) file;</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; (void) line;</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; (void) bindParameters;</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordtype">int</span> ret=0;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keyword">struct </span>addrinfo hints;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">struct </span>addrinfo *servinfo=0, *aip; <span class="comment">// will point to the results</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; PrepareAddrInfoHints2(&amp;hints);</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; hints.ai_family=bindParameters-&gt;addressFamily;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordtype">char</span> portStr[32];</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="../../db/dad/_itoa_8cpp.xhtml#a60c5047c23d6086e1ee85dea82a26b65">Itoa</a>(bindParameters-&gt;port,portStr,10);</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="comment">// On Ubuntu, &quot;&quot; returns &quot;No address associated with hostname&quot; while 0 works.</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">if</span> (bindParameters-&gt;hostAddress &amp;&amp; </div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; (_stricmp(bindParameters-&gt;hostAddress,<span class="stringliteral">&quot;UNASSIGNED_SYSTEM_ADDRESS&quot;</span>)==0 || bindParameters-&gt;hostAddress[0]==0))</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; getaddrinfo(0, portStr, &amp;hints, &amp;servinfo);</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; getaddrinfo(bindParameters-&gt;hostAddress, portStr, &amp;hints, &amp;servinfo);</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="comment">// Try all returned addresses until one works</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">for</span> (aip = servinfo; aip != NULL; aip = aip-&gt;ai_next)</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// Open socket. The address type depends on what</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// getaddrinfo() gave us.</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; rns2Socket = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#af9f142186ba41aca27cf6bdd4d118121">socket__</a>(aip-&gt;ai_family, aip-&gt;ai_socktype, aip-&gt;ai_protocol);</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">if</span> (rns2Socket == -1)</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1add38db328a70f3a3470819f91a8b02e4">BR_FAILED_TO_BIND_SOCKET</a>;</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; ret = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#aaffce1e3f3e8eea47538b8dcf6d78215">bind__</a>(rns2Socket, aip-&gt;ai_addr, (<span class="keywordtype">int</span>) aip-&gt;ai_addrlen );</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (ret&gt;=0)</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">if</span> (aip-&gt;ai_family == AF_INET)</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; memcpy(&amp;boundAddress.address.addr4, aip-&gt;ai_addr, <span class="keyword">sizeof</span>(sockaddr_in));</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; {</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; memcpy(&amp;boundAddress.address.addr6, aip-&gt;ai_addr, <span class="keyword">sizeof</span>(sockaddr_in6));</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; }</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; freeaddrinfo(servinfo); <span class="comment">// free the linked-list</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; SetSocketOptions();</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; SetNonBlockingSocket(bindParameters-&gt;nonBlockingSocket);</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; SetBroadcastSocket(bindParameters-&gt;setBroadcast);</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; SetIPHdrIncl(bindParameters-&gt;setIPHdrIncl);</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; GetSystemAddressIPV4And6( rns2Socket, &amp;boundAddress );</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1ab1271f816dda76b8f2bc7da6542a1fcf">BR_SUCCESS</a>;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; {</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a11f93ef744b7ec96842c158fe2f56c8e" title="Internal.">closesocket__</a>(rns2Socket);</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; </div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1add38db328a70f3a3470819f91a8b02e4">BR_FAILED_TO_BIND_SOCKET</a>;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="preprocessor"></span><span class="keywordflow">return</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a4404d95ca631c4047d0d6d10323db7c1ad1ba67a11996afa213fa53bbd7ea945b">BR_REQUIRES_RAKNET_SUPPORT_IPV6_DEFINE</a>;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::RecvFromBlockingIPV4And6(RNS2RecvStruct *recvFromStruct)</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;{</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; sockaddr_storage their_addr;</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; sockaddr* sockAddrPtr;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; socklen_t sockLen;</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; socklen_t* socketlenPtr=(socklen_t*) &amp;sockLen;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; memset(&amp;their_addr,0,<span class="keyword">sizeof</span>(their_addr));</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">int</span> dataOutSize;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> flag=0;</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; sockLen=<span class="keyword">sizeof</span>(their_addr);</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; sockAddrPtr=(sockaddr*) &amp;their_addr;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; dataOutSize=<a class="code" href="../../d2/d24/_m_t_u_size_8h.xhtml#a39d9da73f39bf9acabfc9e0ad2ae97c5">MAXIMUM_MTU_SIZE</a>;</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; recvFromStruct-&gt;bytesRead = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a39a743b85db0548f2e6c125c1aca6039">recvfrom__</a>(rns2Socket, recvFromStruct-&gt;data, dataOutSize, flag, sockAddrPtr, socketlenPtr );</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="preprocessor">#if defined(_WIN32) &amp;&amp; defined(_DEBUG) &amp;&amp; !defined(WINDOWS_PHONE_8)</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (recvFromStruct-&gt;bytesRead==-1)</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; {</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; DWORD dwIOError = GetLastError();</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">if</span> (dwIOError != 10035)</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; {</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; LPVOID messageBuffer;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), <span class="comment">// Default language</span></div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; ( LPTSTR ) &amp; messageBuffer, 0, NULL );</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="comment">// I see this hit on XP with IPV6 for some reason</span></div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#a29cf458f7287265fc1b414c3f72fa9ad">RAKNET_DEBUG_TPRINTF</a>( <a class="code" href="../../d8/d4f/_socket_layer_8cpp.xhtml#ae936e4c15227768f7da4e0951def89c8">_T</a>(<span class="stringliteral">&quot;Warning: recvfrom failed:Error code - %d\n%s&quot;</span>), dwIOError, static_cast&lt;LPTSTR&gt;(messageBuffer) );</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; LocalFree( messageBuffer );</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; } </div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">if</span> (recvFromStruct-&gt;bytesRead&lt;=0)</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; recvFromStruct-&gt;timeRead= <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aaf7a5da6c601ae66963471d55a476dff">SLNet::GetTimeUS</a>();</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; {</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">if</span> (their_addr.ss_family==AF_INET)</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; memcpy(&amp;recvFromStruct-&gt;systemAddress.address.addr4,(sockaddr_in *)&amp;their_addr,<span class="keyword">sizeof</span>(sockaddr_in));</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; recvFromStruct-&gt;systemAddress.debugPort=ntohs(recvFromStruct-&gt;systemAddress.address.addr4.sin_port);</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="comment">// systemAddressOut-&gt;address.addr4.sin_port=ntohs( systemAddressOut-&gt;address.addr4.sin_port );</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; {</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; memcpy(&amp;recvFromStruct-&gt;systemAddress.address.addr6,(sockaddr_in6 *)&amp;their_addr,<span class="keyword">sizeof</span>(sockaddr_in6));</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; recvFromStruct-&gt;systemAddress.debugPort=ntohs(recvFromStruct-&gt;systemAddress.address.addr6.sin6_port);</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="comment">// systemAddressOut-&gt;address.addr6.sin6_port=ntohs( systemAddressOut-&gt;address.addr6.sin6_port );</span></div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; }</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; }</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="preprocessor"></span> (void) recvFromStruct;</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::RecvFromBlockingIPV4(RNS2RecvStruct *recvFromStruct)</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;{</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; sockaddr* sockAddrPtr;</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; socklen_t sockLen;</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; socklen_t* socketlenPtr=(socklen_t*) &amp;sockLen;</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; sockaddr_in sa;</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; memset(&amp;sa,0,<span class="keyword">sizeof</span>(sockaddr_in));</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> flag=0;</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; </div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; </div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;</div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; sockLen=<span class="keyword">sizeof</span>(sa);</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; sa.sin_family = AF_INET;</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; sa.sin_port=0;</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; sockAddrPtr=(sockaddr*) &amp;sa;</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; recvFromStruct-&gt;bytesRead = <a class="code" href="../../df/ded/_socket_defines_8h.xhtml#a39a743b85db0548f2e6c125c1aca6039">recvfrom__</a>( GetSocket(), recvFromStruct-&gt;data, <span class="keyword">sizeof</span>(recvFromStruct-&gt;data), flag, sockAddrPtr, socketlenPtr );</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;</div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;</div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">if</span> (recvFromStruct-&gt;bytesRead&lt;=0)</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;<span class="comment"> DWORD dwIOError = WSAGetLastError();</span></div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;<span class="comment"> if ( dwIOError == WSAECONNRESET )</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;<span class="comment">#if defined(_DEBUG)</span></div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF( &quot;A previous send operation resulted in an ICMP Port Unreachable message.\n&quot; );</span></div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;<span class="comment">#endif</span></div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;<span class="comment"> else if ( dwIOError != WSAEWOULDBLOCK &amp;&amp; dwIOError != WSAEADDRNOTAVAIL)</span></div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;<span class="comment">#if defined(_WIN32) &amp;&amp; !defined(_XBOX) &amp;&amp; !defined(_XBOX_720_COMPILE_AS_WINDOWS) &amp;&amp; !defined(X360) &amp;&amp; defined(_DEBUG) &amp;&amp; !defined(_XBOX_720_COMPILE_AS_WINDOWS) &amp;&amp; !defined(WINDOWS_PHONE_8)</span></div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;<span class="comment"> LPVOID messageBuffer;</span></div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;<span class="comment"> FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,</span></div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;<span class="comment"> NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language</span></div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;<span class="comment"> ( LPTSTR ) &amp; messageBuffer, 0, NULL );</span></div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;<span class="comment"> // something has gone wrong here...</span></div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;<span class="comment"> RAKNET_DEBUG_PRINTF( &quot;sendto failed:Error code - %d\n%s&quot;, dwIOError, static_cast&lt;LPTSTR&gt;(messageBuffer) );</span></div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;<span class="comment"> //Free the buffer.</span></div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;<span class="comment"> LocalFree( messageBuffer );</span></div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<span class="comment">#endif</span></div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; recvFromStruct-&gt;timeRead= <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aaf7a5da6c601ae66963471d55a476dff">SLNet::GetTimeUS</a>();</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; {</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; </div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; recvFromStruct-&gt;systemAddress.SetPortNetworkOrder( sa.sin_port );</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; recvFromStruct-&gt;systemAddress.address.addr4.sin_addr.s_addr=sa.sin_addr.s_addr;</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="comment">// printf(&quot;--- Got %i bytes from %s\n&quot;, recvFromStruct-&gt;bytesRead, recvFromStruct-&gt;systemAddress.ToString());</span></div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;}</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="keywordtype">void</span> RNS2_Berkley::RecvFromBlocking(RNS2RecvStruct *recvFromStruct)</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;{</div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> RecvFromBlockingIPV4And6(recvFromStruct);</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> RecvFromBlockingIPV4(recvFromStruct);</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;<span class="preprocessor">#endif // !defined(WINDOWS_STORE_RT) &amp;&amp; !defined(__native_client__)</span></div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;<span class="preprocessor">#endif // file header</span></div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;<span class="preprocessor">#endif // #ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d44/_rak_net_socket2___berkley_8cpp.xhtml">RakNetSocket2_Berkley.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:47 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="SLNet::PacketizedTCP" name="SLNet::PacketizedTCP">
<area shape="rect" id="node2" href="$df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml" title="{SLNet::TCPInterface\n|# messageHandlerList\l# isStarted\l# threadRunning\l# listenSocket\l# headPush\l# tailPush\l# remoteClients\l# remoteClientsLength\l# incomingMessages\l# newIncomingConnections\land 10 more...\l|+ TCPInterface()\l+ ~TCPInterface()\l+ Start()\l+ Stop()\l+ Connect()\l+ Send()\l+ SendList()\l+ GetOutgoingDataBufferSize()\l+ ReceiveHasPackets()\l+ Receive()\land 13 more...\l# ReceiveInt()\l# CreateListenSocket()\l# RAK_THREAD_DECLARATION()\l# RAK_THREAD_DECLARATION()\l# SocketConnect()\l}" alt="" coords="13,5,237,449"/>
</map>

View File

@ -0,0 +1 @@
6035011f19509bf2e86c58d661a0dbff

View File

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::PacketizedTCP Pages: 1 -->
<!--zoomable 655 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 187;
var viewHeight = 655;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::PacketizedTCP</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-277.5 179,-277.5 179,-0.5 0,-0.5"/>
<text text-anchor="middle" x="89.5" y="-265.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketizedTCP</text>
<polyline fill="none" stroke="black" points="0,-258.5 179,-258.5 "/>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># waitingPackets</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># connections</text>
<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _newIncomingConnections</text>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _lostConnections</text>
<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _failedConnectionAttempts</text>
<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _completedConnectionAttempts</text>
<polyline fill="none" stroke="black" points="0,-184.5 179,-184.5 "/>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasCompletedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasFailedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ClearAllConnections()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RemoveFromConnectionList()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToConnectionList()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushNotificationsToQueues()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReturnOutgoingPacket()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml" target="_top" xlink:title="{SLNet::TCPInterface\n|# messageHandlerList\l# isStarted\l# threadRunning\l# listenSocket\l# headPush\l# tailPush\l# remoteClients\l# remoteClientsLength\l# incomingMessages\l# newIncomingConnections\land 10 more...\l|+ TCPInterface()\l+ ~TCPInterface()\l+ Start()\l+ Stop()\l+ Connect()\l+ Send()\l+ SendList()\l+ GetOutgoingDataBufferSize()\l+ ReceiveHasPackets()\l+ Receive()\land 13 more...\l# ReceiveInt()\l# CreateListenSocket()\l# RAK_THREAD_DECLARATION()\l# RAK_THREAD_DECLARATION()\l# SocketConnect()\l}">
<polygon fill="none" stroke="black" points="5.5,-314.5 5.5,-646.5 173.5,-646.5 173.5,-314.5 5.5,-314.5"/>
<text text-anchor="middle" x="89.5" y="-634.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TCPInterface</text>
<polyline fill="none" stroke="black" points="5.5,-627.5 173.5,-627.5 "/>
<text text-anchor="start" x="13.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00"># messageHandlerList</text>
<text text-anchor="start" x="13.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isStarted</text>
<text text-anchor="start" x="13.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"># threadRunning</text>
<text text-anchor="start" x="13.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00"># listenSocket</text>
<text text-anchor="start" x="13.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00"># headPush</text>
<text text-anchor="start" x="13.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tailPush</text>
<text text-anchor="start" x="13.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClients</text>
<text text-anchor="start" x="13.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClientsLength</text>
<text text-anchor="start" x="13.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingMessages</text>
<text text-anchor="start" x="13.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00"># newIncomingConnections</text>
<text text-anchor="start" x="13.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<polyline fill="none" stroke="black" points="5.5,-498.5 173.5,-498.5 "/>
<text text-anchor="start" x="13.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="13.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="13.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Connect()</text>
<text text-anchor="start" x="13.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="13.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="13.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOutgoingDataBufferSize()</text>
<text text-anchor="start" x="13.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReceiveHasPackets()</text>
<text text-anchor="start" x="13.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="13.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
<text text-anchor="start" x="13.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReceiveInt()</text>
<text text-anchor="start" x="13.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateListenSocket()</text>
<text text-anchor="start" x="13.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SocketConnect()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M89.5,-303.979C89.5,-295.254 89.5,-286.55 89.5,-277.958"/>
<polygon fill="none" stroke="midnightblue" points="86.0001,-304.225 89.5,-314.225 93.0001,-304.225 86.0001,-304.225"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_s_l_net_1_1_packetized_t_c_p__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::PacketizedTCP Pages: 1 -->
<svg width="187pt" height="655pt"
viewBox="0.00 0.00 187.00 655.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 651)">
<title>SLNet::PacketizedTCP</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-277.5 179,-277.5 179,-0.5 0,-0.5"/>
<text text-anchor="middle" x="89.5" y="-265.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketizedTCP</text>
<polyline fill="none" stroke="black" points="0,-258.5 179,-258.5 "/>
<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00"># waitingPackets</text>
<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00"># connections</text>
<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _newIncomingConnections</text>
<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _lostConnections</text>
<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _failedConnectionAttempts</text>
<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"># _completedConnectionAttempts</text>
<polyline fill="none" stroke="black" points="0,-184.5 179,-184.5 "/>
<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketizedTCP()</text>
<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CloseConnection()</text>
<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasCompletedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasFailedConnectionAttempt()</text>
<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNewIncomingConnection()</text>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasLostConnection()</text>
<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ClearAllConnections()</text>
<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RemoveFromConnectionList()</text>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToConnectionList()</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushNotificationsToQueues()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReturnOutgoingPacket()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml" target="_top" xlink:title="{SLNet::TCPInterface\n|# messageHandlerList\l# isStarted\l# threadRunning\l# listenSocket\l# headPush\l# tailPush\l# remoteClients\l# remoteClientsLength\l# incomingMessages\l# newIncomingConnections\land 10 more...\l|+ TCPInterface()\l+ ~TCPInterface()\l+ Start()\l+ Stop()\l+ Connect()\l+ Send()\l+ SendList()\l+ GetOutgoingDataBufferSize()\l+ ReceiveHasPackets()\l+ Receive()\land 13 more...\l# ReceiveInt()\l# CreateListenSocket()\l# RAK_THREAD_DECLARATION()\l# RAK_THREAD_DECLARATION()\l# SocketConnect()\l}">
<polygon fill="none" stroke="black" points="5.5,-314.5 5.5,-646.5 173.5,-646.5 173.5,-314.5 5.5,-314.5"/>
<text text-anchor="middle" x="89.5" y="-634.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::TCPInterface</text>
<polyline fill="none" stroke="black" points="5.5,-627.5 173.5,-627.5 "/>
<text text-anchor="start" x="13.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00"># messageHandlerList</text>
<text text-anchor="start" x="13.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isStarted</text>
<text text-anchor="start" x="13.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"># threadRunning</text>
<text text-anchor="start" x="13.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00"># listenSocket</text>
<text text-anchor="start" x="13.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00"># headPush</text>
<text text-anchor="start" x="13.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tailPush</text>
<text text-anchor="start" x="13.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClients</text>
<text text-anchor="start" x="13.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># remoteClientsLength</text>
<text text-anchor="start" x="13.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># incomingMessages</text>
<text text-anchor="start" x="13.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00"># newIncomingConnections</text>
<text text-anchor="start" x="13.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<polyline fill="none" stroke="black" points="5.5,-498.5 173.5,-498.5 "/>
<text text-anchor="start" x="13.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TCPInterface()</text>
<text text-anchor="start" x="13.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
<text text-anchor="start" x="13.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
<text text-anchor="start" x="13.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Connect()</text>
<text text-anchor="start" x="13.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Send()</text>
<text text-anchor="start" x="13.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SendList()</text>
<text text-anchor="start" x="13.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOutgoingDataBufferSize()</text>
<text text-anchor="start" x="13.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReceiveHasPackets()</text>
<text text-anchor="start" x="13.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Receive()</text>
<text text-anchor="start" x="13.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
<text text-anchor="start" x="13.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReceiveInt()</text>
<text text-anchor="start" x="13.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateListenSocket()</text>
<text text-anchor="start" x="13.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00"># RAK_THREAD_DECLARATION()</text>
<text text-anchor="start" x="13.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SocketConnect()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M89.5,-303.979C89.5,-295.254 89.5,-286.55 89.5,-277.958"/>
<polygon fill="none" stroke="midnightblue" points="86.0001,-304.225 89.5,-314.225 93.0001,-304.225 86.0001,-304.225"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,124 @@
<!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"/>
<title>SLikeNet: Source/src/CloudServer.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d48/_cloud_server_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">CloudServer.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d48/_cloud_server_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d48/_cloud_server_8cpp.xhtml">CloudServer.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,124 @@
<!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"/>
<title>SLikeNet: Source/src/CloudClient.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d5c/_cloud_client_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">CloudClient.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d5c/_cloud_client_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d5c/_cloud_client_8cpp.xhtml">CloudClient.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,382 @@
<!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"/>
<title>SLikeNet: Source/src/CloudClient.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d5c/_cloud_client_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">CloudClient.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d5c/_cloud_client_8cpp.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_CloudClient==1</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d3c/_cloud_client_8h.xhtml" title="Queries CloudMemoryServer to download data that other clients have uploaded.">slikenet/CloudClient.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d76/_get_time_8h.xhtml" title="Returns the value from QueryPerformanceCounter. This is the function RakNet uses to represent time...">slikenet/GetTime.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml" title="All the message identifiers used by RakNet. Message identifiers comprise the first byte of any messag...">slikenet/MessageIdentifiers.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/dc3/_bit_stream_8h.xhtml" title="This class allows you to write and read native types as a string of bits.">slikenet/BitStream.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/d85/peerinterface_8h.xhtml" title="An interface for RakPeer. Simply contains all user functions as pure virtuals.">slikenet/peerinterface.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<a class="code" href="../../db/dbd/_export_8h.xhtml#aa00165c970bdb25e1c757b432509533b">STATIC_FACTORY_DEFINITIONS</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a>,<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d7d/class_s_l_net_1_1_cloud_client" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a>);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abfcb6bd3b6ac641a83a65773c76ef361">CloudClient::CloudClient</a>()</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;{</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab3645c13ffbd11137b434613dbf385c7">callback</a>=0;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>=&amp;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aecb33a4b6d9b4e04e3a6645de32fcd0a">unsetDefaultAllocator</a>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1dc05ac199e8f1da69066238d65680e4">CloudClient::~CloudClient</a>()</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad8f91a7b308a0bf4ecbfc65ffe69b264" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">CloudClient::SetDefaultCallbacks</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a> *_callback)</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; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab3645c13ffbd11137b434613dbf385c7">callback</a>=_callback;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>=_allocator;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;}</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a6250dddbb6207134d8db0bd934abb92f" title="Uploads data to the cloud.">CloudClient::Post</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d9/d8c/struct_s_l_net_1_1_cloud_key">CloudKey</a> *cloudKey, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> dataLengthBytes, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(cloudKey);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3acacceba9f318341747a7718dc554fab1" title="CloudClient / CloudServer.">ID_CLOUD_POST_REQUEST</a>);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; cloudKey-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a203e1138107916d9d04276d3a2fc7f51">Serialize</a>(<span class="keyword">true</span>,&amp;bsOut);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">if</span> (data==0)</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; dataLengthBytes=0;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(dataLengthBytes);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (dataLengthBytes&gt;0)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af777083a659116082f109ccd9c8639f5" title="Align the bitstream to the byte boundary and then write the specified number of bits.">WriteAlignedBytes</a>((<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*) data, dataLengthBytes);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#add4616c7c490eaf25bcf1e0ac284d283" title="Releases one or more data previously uploaded with Post()">CloudClient::Release</a>(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a01f1a3a51ce072598e63c1b51a399f68">ID_CLOUD_RELEASE_REQUEST</a>);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++) </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; keys[i].Serialize(<span class="keyword">true</span>,&amp;bsOut);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; }</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;}</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a6e5e3f760ba459512ae9df2addd433b6" title="Gets data from the cloud.">CloudClient::Get</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> *keyQuery, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;{</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a60c055cfd29beb83c13ba9392928fb03">ID_CLOUD_GET_REQUEST</a>);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; keyQuery-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1285e085515482afd0ae2ffbf1ae2ca0">Serialize</a>(<span class="keyword">true</span>, &amp;bsOut);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(0); <span class="comment">// Specific systems</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a6e5e3f760ba459512ae9df2addd433b6" title="Gets data from the cloud.">CloudClient::Get</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> *keyQuery, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)ID_CLOUD_GET_REQUEST);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; keyQuery-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1285e085515482afd0ae2ffbf1ae2ca0">Serialize</a>(<span class="keyword">true</span>, &amp;bsOut);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(specificSystems[i]);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a6e5e3f760ba459512ae9df2addd433b6" title="Gets data from the cloud.">CloudClient::Get</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#da/d88/struct_s_l_net_1_1_cloud_query">CloudQuery</a> *keyQuery, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudQueryRow*&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)ID_CLOUD_GET_REQUEST);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; keyQuery-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1285e085515482afd0ae2ffbf1ae2ca0">Serialize</a>(<span class="keyword">true</span>, &amp;bsOut);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span> (specificSystems[i]-&gt;clientGUID!=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a242c86300509ec068e5e2ea534bbba51">UNASSIGNED_RAKNET_GUID</a>)</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">true</span>);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(specificSystems[i]-&gt;clientGUID);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">else</span></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; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(specificSystems[i]-&gt;clientSystemAddress);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;}</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a823aad670a1008a475b7de566a1f615a" title="Unsubscribe from updates previously subscribed to using Get() with the CloudQuery::subscribeToResults...">CloudClient::Unsubscribe</a>(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;{</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)<a class="code" href="../../d6/d83/_message_identifiers_8h.xhtml#ac1b471af280629f5ace02e586d5bcfd3a4d1883832647c23107e7710fd13d4ca9">ID_CLOUD_UNSUBSCRIBE_REQUEST</a>);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++) </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; keys[i].Serialize(<span class="keyword">true</span>,&amp;bsOut);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(0);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a823aad670a1008a475b7de566a1f615a" title="Unsubscribe from updates previously subscribed to using Get() with the CloudQuery::subscribeToResults...">CloudClient::Unsubscribe</a>(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;RakNetGUID&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)ID_CLOUD_UNSUBSCRIBE_REQUEST);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++) </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; keys[i].Serialize(<span class="keyword">true</span>,&amp;bsOut);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(specificSystems[i]);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</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="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a823aad670a1008a475b7de566a1f615a" title="Unsubscribe from updates previously subscribed to using Get() with the CloudQuery::subscribeToResults...">CloudClient::Unsubscribe</a>(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudKey&gt;</a> &amp;keys, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;CloudQueryRow*&gt;</a> &amp;specificSystems, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> systemIdentifier)</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsOut;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>((<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>)ID_CLOUD_UNSUBSCRIBE_REQUEST);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; keys.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++) </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; {</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; keys[i].Serialize(<span class="keyword">true</span>,&amp;bsOut);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>&lt;<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>&gt;(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>());</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>() &lt; (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a>)-1 );</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> i=0; i &lt; specificSystems.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span> (specificSystems[i]-&gt;clientGUID!=<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a242c86300509ec068e5e2ea534bbba51">UNASSIGNED_RAKNET_GUID</a>)</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">true</span>);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(specificSystems[i]-&gt;clientGUID);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">else</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; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; bsOut.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(specificSystems[i]-&gt;clientSystemAddress);</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; }</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#aa9c79c0d16ece39114231d680190d39a">SendUnified</a>(&amp;bsOut, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705cacb1785f11dd02aa7f5d164fb314c594e">HIGH_PRIORITY</a>, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#ae41fa01235e99dced384d137fa874a7eaff2d39b163bcf3e142744962bfb0849f">RELIABLE_ORDERED</a>, 0, systemIdentifier, <span class="keyword">false</span>);</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;<a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a697aac291ae72c8bec6e0766a141f8ee">CloudClient::OnReceive</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet)</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; (void) packet;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#gga5c8f613a7c294e0b96deccbdabc38f18a5b5a476b87be78212057efd5535345d4" title="This message will be processed by other plugins, and at last by the user.">RR_CONTINUE_PROCESSING</a>;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;}</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a527196f94cf1244e962f91267b29dd29" title="Call this when you get ID_CLOUD_GET_RESPONSE If callback or allocator are 0, the default callbacks pa...">CloudClient::OnGetReponse</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a> *_callback, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator)</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;{</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span> (_callback==0)</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; _callback=<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab3645c13ffbd11137b434613dbf385c7">callback</a>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">if</span> (_allocator==0)</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; _allocator=<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">CloudQueryResult</a> cloudQueryResult;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsIn(packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341" title="The length of the data in bytes.">length</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; bsIn.IgnoreBytes(<span class="keyword">sizeof</span>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>));</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; cloudQueryResult.<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ae5cd6e8a6d154817e1448ea6a6f4f4e7">Serialize</a>(<span class="keyword">false</span>,&amp;bsIn,_allocator);</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordtype">bool</span> deallocateRowsAfterReturn=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; _callback-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad4fd7aeef422354cd4d26460c6412b04" title="Called in response to ID_CLOUD_GET_RESPONSE.">OnGet</a>(&amp;cloudQueryResult, &amp;deallocateRowsAfterReturn);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">if</span> (deallocateRowsAfterReturn)</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; cloudQueryResult.<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; _allocator-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa04ce7ac88f01d2ff1345c3c581f975b" title="Free CloudQueryRow::data.">DeallocateRowData</a>(cloudQueryResult.<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>[i]-&gt;data);</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; _allocator-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af90ada1dc15a640d42f10817a81cbc2f" title="Free a row.">DeallocateCloudQueryRow</a>(cloudQueryResult.<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>[i]);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a527196f94cf1244e962f91267b29dd29" title="Call this when you get ID_CLOUD_GET_RESPONSE If callback or allocator are 0, the default callbacks pa...">CloudClient::OnGetReponse</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">CloudQueryResult</a> *cloudQueryResult, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator)</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (_allocator==0)</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; _allocator=<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>;</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; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsIn(packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341" title="The length of the data in bytes.">length</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; bsIn.IgnoreBytes(<span class="keyword">sizeof</span>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>));</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; cloudQueryResult-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ae5cd6e8a6d154817e1448ea6a6f4f4e7">Serialize</a>(<span class="keyword">false</span>,&amp;bsIn,_allocator);</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#accb36db0d67affc472fe9f048e8098bb" title="Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If callback or allocator are 0...">CloudClient::OnSubscriptionNotification</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#dc/d31/class_s_l_net_1_1_cloud_client_callback">CloudClientCallback</a> *_callback, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator)</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;{</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">if</span> (_callback==0)</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; _callback=<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ab3645c13ffbd11137b434613dbf385c7">callback</a>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (_allocator==0)</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; _allocator=<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordtype">bool</span> wasUpdated=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a> row;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsIn(packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341" title="The length of the data in bytes.">length</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; bsIn.IgnoreBytes(<span class="keyword">sizeof</span>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>));</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; bsIn.Read(wasUpdated);</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; row.<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad166a7c146000c594b4c1f609a7dfc28">Serialize</a>(<span class="keyword">false</span>,&amp;bsIn,_allocator);</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordtype">bool</span> deallocateRowAfterReturn=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; _callback-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a73febf6d23167b2eff4c7631dc3e8163" title="Called in response to ID_CLOUD_SUBSCRIPTION_NOTIFICATION.">OnSubscriptionNotification</a>(&amp;row, wasUpdated, &amp;deallocateRowAfterReturn);</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span> (deallocateRowAfterReturn)</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; _allocator-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa04ce7ac88f01d2ff1345c3c581f975b" title="Free CloudQueryRow::data.">DeallocateRowData</a>(row.<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a0f37df8209412d7f60f007b5c0919e81" title="Data uploaded.">data</a>);</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#accb36db0d67affc472fe9f048e8098bb" title="Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If callback or allocator are 0...">CloudClient::OnSubscriptionNotification</a>(<span class="keywordtype">bool</span> *wasUpdated, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a> *row, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#db/de6/class_s_l_net_1_1_cloud_allocator">CloudAllocator</a> *_allocator)</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;{</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (_allocator==0)</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; _allocator=<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> bsIn(packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#aff6d115daef2787d582f9a20efd64fc0" title="The data from the sender.">data</a>, packet-&gt;<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a75dfd0a23cc4c14dd338caedabe19341" title="The length of the data in bytes.">length</a>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; bsIn.IgnoreBytes(<span class="keyword">sizeof</span>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a5b5b9eb3be9ad636af02da44b718a75f" title="First byte of a network message.">MessageID</a>));</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordtype">bool</span> b=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; bsIn.Read(b);</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; *wasUpdated=b;</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; row-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#ad166a7c146000c594b4c1f609a7dfc28">Serialize</a>(<span class="keyword">false</span>,&amp;bsIn,_allocator);</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1fecb2cde2c80edbb39ca9db411b9788" title="If you never specified an allocator, and used the non-callback form of OnGetReponse(), deallocate cloudQueryResult with this function.">CloudClient::DeallocateWithDefaultAllocator</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#d0/d6e/struct_s_l_net_1_1_cloud_query_result">CloudQueryResult</a> *cloudQueryResult)</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;{</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">for</span> (i=0; i &lt; cloudQueryResult-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a6f13a4519693cbd16cd13b1fe284f330">Size</a>(); i++)</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa04ce7ac88f01d2ff1345c3c581f975b" title="Free CloudQueryRow::data.">DeallocateRowData</a>(cloudQueryResult-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>[i]-&gt;data);</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#af90ada1dc15a640d42f10817a81cbc2f" title="Free a row.">DeallocateCloudQueryRow</a>(cloudQueryResult-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>[i]);</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; cloudQueryResult-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa7ba7034f6886188248d60728310cbb2" title="Results returned from query. If there were multiple keys in CloudQuery::keys then see resultKeyIndice...">rowsReturned</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a34219a5ce92981102d06fb1da7842a6b" title="Clear the list.">Clear</a>(<span class="keyword">false</span>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; cloudQueryResult-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#abfd21ef967570a089f485214bdfda43b">resultKeyIndices</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a34219a5ce92981102d06fb1da7842a6b" title="Clear the list.">Clear</a>(<span class="keyword">false</span>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; cloudQueryResult-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a9ad65984ad2a31a0bc5292f174f997dd" title="Query originally passed to Download()">cloudQuery</a>.<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aeb5f523e8a9f72fc591af880244fb35b">keys</a>.<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml#a34219a5ce92981102d06fb1da7842a6b" title="Clear the list.">Clear</a>(<span class="keyword">false</span>, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;}</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a1fecb2cde2c80edbb39ca9db411b9788" title="If you never specified an allocator, and used the non-callback form of OnGetReponse(), deallocate cloudQueryResult with this function.">CloudClient::DeallocateWithDefaultAllocator</a>(<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#de/dfa/struct_s_l_net_1_1_cloud_query_row">CloudQueryRow</a> *row)</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;{</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aaa6adfbbcaaa3874dae8858d1904d864">allocator</a>-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#aa04ce7ac88f01d2ff1345c3c581f975b" title="Free CloudQueryRow::data.">DeallocateRowData</a>(row-&gt;<a class="code" href="../../d8/df5/group___c_l_o_u_d___g_r_o_u_p.xhtml#a0f37df8209412d7f60f007b5c0919e81" title="Data uploaded.">data</a>);</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;}</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d5c/_cloud_client_8cpp.xhtml">CloudClient.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,154 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/UDPProxyServer.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d70/_u_d_p_proxy_server_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">UDPProxyServer.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A RakNet plugin performing networking to communicate with UDPProxyServer. It allows UDPProxyServer to control our instance of UDPForwarder.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d5/d1e/_u_d_p_forwarder_8h_source.xhtml">UDPForwarder.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d70/_u_d_p_proxy_server_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:db/dbc/struct_s_l_net_1_1_u_d_p_proxy_server_result_handler"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#db/dbc/struct_s_l_net_1_1_u_d_p_proxy_server_result_handler">SLNet::UDPProxyServerResultHandler</a></td></tr>
<tr class="separator:db/dbc/struct_s_l_net_1_1_u_d_p_proxy_server_result_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d4/d29/class_s_l_net_1_1_u_d_p_proxy_server"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server">SLNet::UDPProxyServer</a></td></tr>
<tr class="memdesc:d4/d29/class_s_l_net_1_1_u_d_p_proxy_server"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">UDPProxyServer</a> to control our instance of <a class="el" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d4d/class_s_l_net_1_1_u_d_p_forwarder" title="Forwards UDP datagrams. Independent of RakNet&#39;s protocol.">UDPForwarder</a>. <a href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server">More...</a><br/></td></tr>
<tr class="separator:d4/d29/class_s_l_net_1_1_u_d_p_proxy_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A RakNet plugin performing networking to communicate with UDPProxyServer. It allows UDPProxyServer to control our instance of UDPForwarder. </p>
<p>Definition in file <a class="el" href="../../dc/d70/_u_d_p_proxy_server_8h_source.xhtml">UDPProxyServer.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d70/_u_d_p_proxy_server_8h.xhtml">UDPProxyServer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,213 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/UDPProxyServer.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d70/_u_d_p_proxy_server_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">UDPProxyServer.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d70/_u_d_p_proxy_server_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_UDPProxyServer==1 &amp;&amp; _RAKNET_SUPPORT_UDPForwarder==1</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifndef __UDP_PROXY_SERVER_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __UDP_PROXY_SERVER_H</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_plugin_interface2_8h.xhtml" title="RakNet&#39;s plugin functionality system, version 2. You can derive from this to create your own plugins...">PluginInterface2.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d5/d1e/_u_d_p_forwarder_8h.xhtml" title="Forwards UDP datagrams. Independent of RakNet&#39;s protocol.">UDPForwarder.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">class </span>UDPProxyServer;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml"> 39</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#db/dbc/struct_s_l_net_1_1_u_d_p_proxy_server_result_handler">UDPProxyServerResultHandler</a></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a69621492832a373e60c64b2168177627"> 41</a></span>&#160; <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a69621492832a373e60c64b2168177627">UDPProxyServerResultHandler</a>() {}</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a09166dfbf828aac35606997657b94767"> 42</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a09166dfbf828aac35606997657b94767">~UDPProxyServerResultHandler</a>() {}</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#aaa410e4ba3454b1094e53d997188f75c">OnLoginSuccess</a>(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> usedPassword, <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">SLNet::UDPProxyServer</a> *proxyServerPlugin)=0;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a691e822395419240ceea85a4c013b566">OnAlreadyLoggedIn</a>(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> usedPassword, <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">SLNet::UDPProxyServer</a> *proxyServerPlugin)=0;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a2a34d2e34e21af4110d3fd9a529799cf">OnNoPasswordSet</a>(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> usedPassword, <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">SLNet::UDPProxyServer</a> *proxyServerPlugin)=0;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a9131a8b41895ed968bf9db758a096370">OnWrongPassword</a>(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> usedPassword, <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">SLNet::UDPProxyServer</a> *proxyServerPlugin)=0;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;};</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml"> 71</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">UDPProxyServer</a> : <span class="keyword">public</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;{</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">UDPProxyServer</a>)</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">UDPProxyServer</a>();</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; ~<a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#d4/d29/class_s_l_net_1_1_u_d_p_proxy_server" title="UDPProxyServer to control our instance of UDPForwarder.">UDPProxyServer</a>();</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">void</span> SetSocketFamily(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> _socketFamily);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">void</span> SetResultHandler(<a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#db/dbc/struct_s_l_net_1_1_u_d_p_proxy_server_result_handler">UDPProxyServerResultHandler</a> *rh);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">bool</span> LoginToCoordinator(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> password, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> coordinatorAddress);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordtype">void</span> SetServerPublicIP(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">RakString</a> ip);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#acbb762a0aa06c3e28700d33296fd901a"> 103</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d4d/class_s_l_net_1_1_u_d_p_forwarder" title="Forwards UDP datagrams. Independent of RakNet&#39;s protocol.">UDPForwarder</a> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#acbb762a0aa06c3e28700d33296fd901a">udpForwarder</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnAttach(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnDetach(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Update(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> OnReceive(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnClosedConnection(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a> lostConnectionReason );</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRakPeerStartup(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRakPeerShutdown(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">void</span> OnForwardingRequestFromCoordinatorToServer(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#ab2d05c76362492e49f40489feb3f1a84"> 118</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;SystemAddress, SystemAddress&gt;</a> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#ab2d05c76362492e49f40489feb3f1a84">loggingInCoordinators</a>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#ae7462ffbb9e269b09ceeaa3215d8e7bb"> 119</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;SystemAddress, SystemAddress&gt;</a> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#ae7462ffbb9e269b09ceeaa3215d8e7bb">loggedInCoordinators</a>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a746e0c4d313eda4697ae8957839dda12"> 121</a></span>&#160; <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#db/dbc/struct_s_l_net_1_1_u_d_p_proxy_server_result_handler">UDPProxyServerResultHandler</a> *<a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a746e0c4d313eda4697ae8957839dda12">resultHandler</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a5d008bdeef4fa0ae8c21d2065a30cff4"> 122</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a5d008bdeef4fa0ae8c21d2065a30cff4">socketFamily</a>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a0d9196757aeff878f0d2c97bf013ac12"> 123</a></span>&#160; <a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">RakString</a> <a class="code" href="../../d1/d95/group___u_d_p___p_r_o_x_y___g_r_o_u_p.xhtml#a0d9196757aeff878f0d2c97bf013ac12">serverPublicIp</a>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;};</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;} <span class="comment">// End namespace</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d70/_u_d_p_proxy_server_8h.xhtml">UDPProxyServer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,144 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::IRNS2_Berkley Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml">SLNet::IRNS2_Berkley</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml#a6cbdd1689e102114cdb564c10265fa54">Bind</a>(RNS2_BerkleyBindParameters *bindParameters, const char *file, unsigned int line)=0</td><td class="entry"><a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml">SLNet::IRNS2_Berkley</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#ab549a8b3397fc1a39b1fac54c34ae4e5">boundAddress</a></td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a5afa9c585a7d5810f2a65933155cf1bb">DomainNameToIP</a>(const char *domainName, char ip[65])</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a02144fab64b6ad521fa0dbf112d3e352">eventHandler</a></td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a58ced3513884d5224dfa50c46fe5a64a">GetBoundAddress</a>(void) const </td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a891296b6c14a70279f90a928b5eda9d6">GetEventHandler</a>(void) const </td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a608c0a4dead80c0f5d77504cc20d5450">GetMyIP</a>(SystemAddress addresses[MAXIMUM_NUMBER_OF_INTERNAL_IDS])</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a51ad3d83ffc0df3430aa12d43034c560">GetSocketType</a>(void) const </td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a294306d2ea487206bd603c3d9b7012de">GetUserConnectionSocketIndex</a>(void) const </td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#af605c577c5300b0599fcd6396203d685">IsBerkleySocket</a>(void) const </td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml#a24197009cbf1a270a570465992a0e755">IsPortInUse</a>(unsigned short port, const char *hostAddress, unsigned short addressFamily, int type)</td><td class="entry"><a class="el" href="../../d7/d64/class_s_l_net_1_1_i_r_n_s2___berkley.xhtml">SLNet::IRNS2_Berkley</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a23f4b4d0124968fa6fbc925f5d64544e">RakNetSocket2</a>()</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a2b88e6864d8b42a494475deae58044a6">Send</a>(RNS2_SendParameters *sendParameters, const char *file, unsigned int line)=0</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#aca47ecce2411a468bea8b610bfa5dedc">SetRecvEventHandler</a>(RNS2EventHandler *_eventHandler)</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#ad58cb39895352250ce7a521f185399e0">SetSocketType</a>(RNS2Type t)</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a0f34964b054a505ddad17e803e377b95">SetUserConnectionSocketIndex</a>(unsigned int i)</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a538b3fe19c56e9b3643df57019eaa260">socketType</a></td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a4e3768f69a9ab4e1eb4fe3d593a7fb90">userConnectionSocketIndex</a></td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml#a30f2b8d216e01b22c9345d2c8b228e2d">~RakNetSocket2</a>()</td><td class="entry"><a class="el" href="../../d1/dde/class_s_l_net_1_1_rak_net_socket2.xhtml">SLNet::RakNetSocket2</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,142 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d6/d83/class_data_structures_1_1_hash.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#adcbf7b437513650734419bd55f736276">Clear</a>(const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#aced041b148703447bb2ff62ee0a64df7">ClearIndex</a>(unsigned int index, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a10d4e81e8087d55073e34c0677f569f0">GetAsList</a>(DataStructures::List&lt; data_type &gt; &amp;itemList, DataStructures::List&lt; key_type &gt; &amp;keyList, const char *file, unsigned int line) const </td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#af31d2ff3160e0d7e0275faf0a2e35fb7">GetIndexOf</a>(key_type key)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a3bb700c55560bd2425ba39592cb22680">HasData</a>(key_type key)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a3716d1c6b0352bfa6313fece8e16d8e5">Hash</a>()</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a5fec5e2f5f479ddeebefe9a0ff1c50e4">ItemAtIndex</a>(const HashIndex &amp;index)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a95b38ece64c4c08d6c3da13ef935cf36">KeyAtIndex</a>(const HashIndex &amp;index)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#acf5c56373cc49f871f3ca93aa7c93984">nodeList</a></td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a16224661ed046276b9465b5506df03a8">Peek</a>(key_type key)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a5c3f84193a5b2d74f0138a340215679a">Pop</a>(data_type &amp;out, key_type key, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a1cd78525c3b53c60fc5a6f1f722d53f2">Push</a>(key_type key, const data_type &amp;input, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a4a05c05066a1de28b05c497791ae85ee">Remove</a>(key_type key, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a72237d005a83cfc02f2b573ac4336cd0">RemoveAtIndex</a>(HashIndex index, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#aaad5a7c4c75754deb25473eb9e0bc1f7">Size</a>(void) const </td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a3affcd7d2939cb81c9ec5daef841303e">size</a></td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml#a25b80c24924b1e8aa42fc86a12c9d67f">~Hash</a>()</td><td class="entry"><a class="el" href="../../d6/d83/class_data_structures_1_1_hash.xhtml">DataStructures::Hash&lt; key_type, data_type, HASH_SIZE, hashFunction &gt;</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,61 @@
var group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p =
[
[ "PacketConsoleLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d1/d74/class_s_l_net_1_1_packet_console_logger", [
[ "PacketConsoleLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a866e7dfe84d113258ec1e9804599f8f0", null ],
[ "SetLogCommandParser", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#add8e4976c8d29b061637896023653593", null ],
[ "WriteLog", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a2e2f5081849dbaa9dbb5daf78d4ac425", null ],
[ "logCommandParser", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aad4905e5d642629d2286795be2159400", null ]
] ],
[ "PacketFileLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#df/d0f/class_s_l_net_1_1_packet_file_logger", [
[ "PacketFileLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aff9c19c259461c6733cd9b3b2684547a", null ],
[ "~PacketFileLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aff8e4274d2e47e93f68493e013b0e941", null ],
[ "StartLog", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ab9003e8e263839300f5e403874ac9165", null ],
[ "WriteLog", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a1737b9eb35e06103c1c8d0e61cec061b", null ],
[ "packetLogFile", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ad52a0ae34355ec97a1a2c09d8b85f6d2", null ]
] ],
[ "PacketLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger", [
[ "PacketLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a850ec6701888368cf40df7fb8e8a0381", null ],
[ "~PacketLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a3d042c7673e706159d9461b98a6e38cd", null ],
[ "AddToLog", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a67cb59e740ae96987b22e8b54cd373c3", null ],
[ "BaseIDTOString", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a3cedba32dbb8253aa414699f6ee8fcfe", null ],
[ "FormatLine", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ae93cdf844d234ab99b668f41d4aa44ef", null ],
[ "FormatLine", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a3117d965ffb7ca643e8465499a13bc51", null ],
[ "FormatLine", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a58b07311cd91d1a572d8a94f6b1b1a55", null ],
[ "FormatLine", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a51f6936e752010b980d437943f0eee4f", null ],
[ "GetLocalTime", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a1abfd86fa66fb6f5239f0f2ff85193f5", null ],
[ "IDTOString", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a68f129042b037726013ac1fee8ee0695", null ],
[ "LogHeader", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a944b58b2f24d13dda47bbf1d3abdf231", null ],
[ "OnAck", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a38404033591ede2cb588b5db5407c11d", null ],
[ "OnDirectSocketReceive", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a4e51dc5a5a760342f35898fa3f667820", null ],
[ "OnDirectSocketSend", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#af05f64f71b67ccf56e1833965938f2ae", null ],
[ "OnInternalPacket", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#af334e97c2f01171a8fe44154503c92d4", null ],
[ "OnPushBackPacket", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ad00b7c91cb73bc3c7b42bc24fcc3d9eb", null ],
[ "OnReliabilityLayerNotification", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a867ae830be0a6dd026412b69e7887a4d", null ],
[ "SetLogDirectMessages", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ad41a207a51faf191a98f1fd16d8f61c9", null ],
[ "SetPrefix", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a1c8e079985e3bb885c2ca10a3440ee00", null ],
[ "SetPrintAcks", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a5e85b97a24d14492dee3c82b35048cb7", null ],
[ "SetPrintID", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ae4cae55d5adad1029f626f4de08c8e58", null ],
[ "SetSuffix", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a491f0ed715d344debc4300a405872270", null ],
[ "UserIDTOString", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a0f80a40e1bd1ccd7590e74e82a21ab03", null ],
[ "UsesReliabilityLayer", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a65200a3dad65c41f3e683c4b11d24e8e", null ],
[ "WriteLog", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aec392f35521bbcc344bbc6e7a440dfbc", null ],
[ "WriteMiscellaneous", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a691a9c09595994caeb160c3f8e0bc962", null ],
[ "logDirectMessages", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a33c4f8dd59d61006558f5f4d0f576526", null ],
[ "prefix", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aecfed4ade0566378e2d069b2d22f475d", null ],
[ "printAcks", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a5ef794a342bd7b0984c81e19d62953d0", null ],
[ "printId", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a0b8fa19b541c883c521b1f1af1886ad6", null ],
[ "suffix", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ad81d5d4097af175d0c9f25d28bbed8bb", null ]
] ],
[ "PacketOutputWindowLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#de/d88/class_s_l_net_1_1_packet_output_window_logger", [
[ "PacketOutputWindowLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a6abc8a6a8d319de1a06b84022df484f9", null ],
[ "~PacketOutputWindowLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a696a273e8469cf85261fbd5cdb413f8a", null ],
[ "WriteLog", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a47bf96ab0b42259afc1c1eb741dfe444", null ]
] ],
[ "ThreadsafePacketLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#db/d5d/class_s_l_net_1_1_threadsafe_packet_logger", [
[ "ThreadsafePacketLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a0bb6f55ecfa6fa73ec83fbc97490eaad", null ],
[ "~ThreadsafePacketLogger", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a37967076b1f806912c6a97af8e648752", null ],
[ "AddToLog", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a0624354c689f67a2145a606b112a6194", null ],
[ "Update", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ac520867053759ce6006a36ba02b9db2a", null ],
[ "logMessages", "dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a69b1336e2a650af96c1c7ed381662184", null ]
] ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
var struct_data_structures_1_1_table_1_1_cell =
[
[ "Cell", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a9660e71fee97749ddcfb982e37cb84eb", null ],
[ "~Cell", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#aaaa73b2525538a43babacda5901441b1", null ],
[ "Cell", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#afff411dead180b4579ae46fba317928b", null ],
[ "Cell", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a3fdb73b7147e31be5b37dc9bbedbdb0e", null ],
[ "Clear", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a606a5ea9272ac1ffbc8dc9a3d1fd8ef0", null ],
[ "EstimateColumnType", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ae1feb23b61c3efc6102762494ac8cfdf", null ],
[ "Get", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a457ba67340a1ee1a648a154f314df6d8", null ],
[ "Get", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a592ad10af27b7b9a766ae1597dd4cb71", null ],
[ "Get", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a86b0a713ca5eed768afd66c9824d1951", null ],
[ "Get", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a7035f8bb4a17b73d09f105251f93f9cc", null ],
[ "Get", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ad06fd1b0b523a88ed75e9f8cd0cf34e3", null ],
[ "operator=", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a73063374a715cf26a89930d4a6376809", null ],
[ "Set", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a68e3910b644c6e478365ace539b70bab", null ],
[ "Set", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a6227c76f93fb78a39047ac274ed8bc7e", null ],
[ "Set", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ac708126c6007dbe0f0304cc602d425fd", null ],
[ "Set", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a56f029181579455617d1c66abe4b4d90", null ],
[ "Set", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#afab214dcae6fca07735607d5bf3890e4", null ],
[ "SetByType", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a369408bb45ef94a5c47c52cdbeabed5e", null ],
[ "SetPtr", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a2edb7a4e719cbf5d1a9f05c8b158d833", null ],
[ "ToString", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a14e302294435fe9f67de3aeb5a6d1881", null ],
[ "c", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ab732aa0d33409753f93aeccffb4dc08c", null ],
[ "i", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a6e0e9d8de5d3ea687af23e5b0c357723", null ],
[ "isEmpty", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a604bc863f25f833f352d4064ed003677", null ],
[ "ptr", "dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#aa9c09a4660110db5161be819515e19f0", null ]
];

View File

@ -0,0 +1,759 @@
<!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"/>
<title>SLikeNet: DataStructures::Table::Cell Struct 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d8/d67/struct_data_structures_1_1_table_1_1_cell-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::Table::Cell Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Holds the actual data in the table.
<a href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">slikenet/DS_Table.h</a>&gt;</code></p>
<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:a9660e71fee97749ddcfb982e37cb84eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a9660e71fee97749ddcfb982e37cb84eb">Cell</a> ()</td></tr>
<tr class="separator:a9660e71fee97749ddcfb982e37cb84eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa73b2525538a43babacda5901441b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#aaaa73b2525538a43babacda5901441b1">~Cell</a> ()</td></tr>
<tr class="separator:aaaa73b2525538a43babacda5901441b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afff411dead180b4579ae46fba317928b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#afff411dead180b4579ae46fba317928b">Cell</a> (double numericValue, char *charValue, void *<a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#aa9c09a4660110db5161be819515e19f0">ptr</a>, <a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">ColumnType</a> type)</td></tr>
<tr class="separator:afff411dead180b4579ae46fba317928b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a369408bb45ef94a5c47c52cdbeabed5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a369408bb45ef94a5c47c52cdbeabed5e">SetByType</a> (double numericValue, char *charValue, void *inPtr, <a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">ColumnType</a> type)</td></tr>
<tr class="separator:a369408bb45ef94a5c47c52cdbeabed5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a606a5ea9272ac1ffbc8dc9a3d1fd8ef0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a606a5ea9272ac1ffbc8dc9a3d1fd8ef0">Clear</a> (void)</td></tr>
<tr class="separator:a606a5ea9272ac1ffbc8dc9a3d1fd8ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68e3910b644c6e478365ace539b70bab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a68e3910b644c6e478365ace539b70bab">Set</a> (int input)</td></tr>
<tr class="memdesc:a68e3910b644c6e478365ace539b70bab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Numeric. <a href="#a68e3910b644c6e478365ace539b70bab"></a><br/></td></tr>
<tr class="separator:a68e3910b644c6e478365ace539b70bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6227c76f93fb78a39047ac274ed8bc7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a6227c76f93fb78a39047ac274ed8bc7e">Set</a> (unsigned int input)</td></tr>
<tr class="separator:a6227c76f93fb78a39047ac274ed8bc7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac708126c6007dbe0f0304cc602d425fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ac708126c6007dbe0f0304cc602d425fd">Set</a> (double input)</td></tr>
<tr class="separator:ac708126c6007dbe0f0304cc602d425fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f029181579455617d1c66abe4b4d90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a56f029181579455617d1c66abe4b4d90">Set</a> (const char *input)</td></tr>
<tr class="memdesc:a56f029181579455617d1c66abe4b4d90"><td class="mdescLeft">&#160;</td><td class="mdescRight">String. <a href="#a56f029181579455617d1c66abe4b4d90"></a><br/></td></tr>
<tr class="separator:a56f029181579455617d1c66abe4b4d90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afab214dcae6fca07735607d5bf3890e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#afab214dcae6fca07735607d5bf3890e4">Set</a> (const char *input, int inputLength)</td></tr>
<tr class="memdesc:afab214dcae6fca07735607d5bf3890e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary. <a href="#afab214dcae6fca07735607d5bf3890e4"></a><br/></td></tr>
<tr class="separator:afab214dcae6fca07735607d5bf3890e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2edb7a4e719cbf5d1a9f05c8b158d833"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a2edb7a4e719cbf5d1a9f05c8b158d833">SetPtr</a> (void *p)</td></tr>
<tr class="memdesc:a2edb7a4e719cbf5d1a9f05c8b158d833"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer. <a href="#a2edb7a4e719cbf5d1a9f05c8b158d833"></a><br/></td></tr>
<tr class="separator:a2edb7a4e719cbf5d1a9f05c8b158d833"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a457ba67340a1ee1a648a154f314df6d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a457ba67340a1ee1a648a154f314df6d8">Get</a> (int *output)</td></tr>
<tr class="memdesc:a457ba67340a1ee1a648a154f314df6d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Numeric. <a href="#a457ba67340a1ee1a648a154f314df6d8"></a><br/></td></tr>
<tr class="separator:a457ba67340a1ee1a648a154f314df6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a592ad10af27b7b9a766ae1597dd4cb71"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a592ad10af27b7b9a766ae1597dd4cb71">Get</a> (double *output)</td></tr>
<tr class="separator:a592ad10af27b7b9a766ae1597dd4cb71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86b0a713ca5eed768afd66c9824d1951"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a86b0a713ca5eed768afd66c9824d1951">Get</a> (char *output)</td></tr>
<tr class="memdesc:a86b0a713ca5eed768afd66c9824d1951"><td class="mdescLeft">&#160;</td><td class="mdescRight">String. <a href="#a86b0a713ca5eed768afd66c9824d1951"></a><br/></td></tr>
<tr class="separator:a86b0a713ca5eed768afd66c9824d1951"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7035f8bb4a17b73d09f105251f93f9cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a7035f8bb4a17b73d09f105251f93f9cc">Get</a> (char *output, size_t outputLength)</td></tr>
<tr class="separator:a7035f8bb4a17b73d09f105251f93f9cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad06fd1b0b523a88ed75e9f8cd0cf34e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ad06fd1b0b523a88ed75e9f8cd0cf34e3">Get</a> (char *output, int *outputLength)</td></tr>
<tr class="memdesc:ad06fd1b0b523a88ed75e9f8cd0cf34e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary. <a href="#ad06fd1b0b523a88ed75e9f8cd0cf34e3"></a><br/></td></tr>
<tr class="separator:ad06fd1b0b523a88ed75e9f8cd0cf34e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14e302294435fe9f67de3aeb5a6d1881"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a14e302294435fe9f67de3aeb5a6d1881">ToString</a> (<a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">ColumnType</a> columnType)</td></tr>
<tr class="separator:a14e302294435fe9f67de3aeb5a6d1881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73063374a715cf26a89930d4a6376809"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a73063374a715cf26a89930d4a6376809">operator=</a> (const <a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> &amp;input)</td></tr>
<tr class="separator:a73063374a715cf26a89930d4a6376809"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fdb73b7147e31be5b37dc9bbedbdb0e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a3fdb73b7147e31be5b37dc9bbedbdb0e">Cell</a> (const <a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> &amp;input)</td></tr>
<tr class="separator:a3fdb73b7147e31be5b37dc9bbedbdb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1feb23b61c3efc6102762494ac8cfdf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">ColumnType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ae1feb23b61c3efc6102762494ac8cfdf">EstimateColumnType</a> (void) const </td></tr>
<tr class="separator:ae1feb23b61c3efc6102762494ac8cfdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a604bc863f25f833f352d4064ed003677"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a604bc863f25f833f352d4064ed003677">isEmpty</a></td></tr>
<tr class="separator:a604bc863f25f833f352d4064ed003677"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e0e9d8de5d3ea687af23e5b0c357723"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#a6e0e9d8de5d3ea687af23e5b0c357723">i</a></td></tr>
<tr class="separator:a6e0e9d8de5d3ea687af23e5b0c357723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab732aa0d33409753f93aeccffb4dc08c"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#ab732aa0d33409753f93aeccffb4dc08c">c</a></td></tr>
<tr class="separator:ab732aa0d33409753f93aeccffb4dc08c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9c09a4660110db5161be819515e19f0"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml#aa9c09a4660110db5161be819515e19f0">ptr</a></td></tr>
<tr class="separator:aa9c09a4660110db5161be819515e19f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Holds the actual data in the table. </p>
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00064">64</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9660e71fee97749ddcfb982e37cb84eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Table::Cell::Cell </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00043">43</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00107">c</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00106">i</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00105">isEmpty</a>, and <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00108">ptr</a>.</p>
</div>
</div>
<a class="anchor" id="aaaa73b2525538a43babacda5901441b1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Table::Cell::~Cell </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00050">50</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l01073">DataStructures::Table::Clear()</a>.</p>
</div>
</div>
<a class="anchor" id="afff411dead180b4579ae46fba317928b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Table::Cell::Cell </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>numericValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>charValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">ColumnType</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00201">201</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a3fdb73b7147e31be5b37dc9bbedbdb0e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Table::Cell::Cell </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> &amp;&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00070">70</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00107">c</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00106">i</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00105">isEmpty</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00108">ptr</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a606a5ea9272ac1ffbc8dc9a3d1fd8ef0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Clear </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00243">243</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>.</p>
<p>Referenced by <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00193">SLNet::TableSerializer::DeserializeCell()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>.</p>
</div>
</div>
<a class="anchor" id="ae1feb23b61c3efc6102762494ac8cfdf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">Table::ColumnType</a> Table::Cell::EstimateColumnType </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00229">229</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00055">DataStructures::Table::BINARY</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00049">DataStructures::Table::NUMERIC</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00058">DataStructures::Table::POINTER</a>, and <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00052">DataStructures::Table::STRING</a>.</p>
</div>
</div>
<a class="anchor" id="a457ba67340a1ee1a648a154f314df6d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Get </td>
<td>(</td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>output</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Numeric. </p>
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00146">146</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="a592ad10af27b7b9a766ae1597dd4cb71"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Get </td>
<td>(</td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>output</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00152">152</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="a86b0a713ca5eed768afd66c9824d1951"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Get </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>output</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>String. </p>
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00157">157</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="a7035f8bb4a17b73d09f105251f93f9cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Get </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>outputLength</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00165">165</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="ad06fd1b0b523a88ed75e9f8cd0cf34e3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Get </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outputLength</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Binary. </p>
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00170">170</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="a73063374a715cf26a89930d4a6376809"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Table::Cell</a> &amp; Table::Cell::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a> &amp;&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00054">54</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00107">c</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00106">i</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00105">isEmpty</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00108">ptr</a>, <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00064">rakFree_Ex</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="a68e3910b644c6e478365ace539b70bab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Set </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Numeric. </p>
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00095">95</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l01073">DataStructures::Table::Clear()</a>.</p>
<p>Referenced by <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00193">SLNet::TableSerializer::DeserializeCell()</a>.</p>
</div>
</div>
<a class="anchor" id="a6227c76f93fb78a39047ac274ed8bc7e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Set </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00091">91</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ac708126c6007dbe0f0304cc602d425fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Set </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00083">83</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l01073">DataStructures::Table::Clear()</a>.</p>
</div>
</div>
<a class="anchor" id="a56f029181579455617d1c66abe4b4d90"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Set </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>String. </p>
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00104">104</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l01073">DataStructures::Table::Clear()</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="afab214dcae6fca07735607d5bf3890e4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::Set </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>inputLength</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Binary. </p>
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00122">122</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l01073">DataStructures::Table::Clear()</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="a369408bb45ef94a5c47c52cdbeabed5e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::SetByType </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>numericValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>charValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>inPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">ColumnType</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00205">205</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00055">DataStructures::Table::BINARY</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00049">DataStructures::Table::NUMERIC</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00058">DataStructures::Table::POINTER</a>, and <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00052">DataStructures::Table::STRING</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00373">DataStructures::Table::AddRow()</a>.</p>
</div>
</div>
<a class="anchor" id="a2edb7a4e719cbf5d1a9f05c8b158d833"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Table::Cell::SetPtr </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer. </p>
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00139">139</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l01073">DataStructures::Table::Clear()</a>.</p>
<p>Referenced by <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00193">SLNet::TableSerializer::DeserializeCell()</a>.</p>
</div>
</div>
<a class="anchor" id="a14e302294435fe9f67de3aeb5a6d1881"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> Table::Cell::ToString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml#af24fe2724b507f329c7754ea6985abed">ColumnType</a>&#160;</td>
<td class="paramname"><em>columnType</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00177">177</a> of file <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a>.</p>
<p>References <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00055">DataStructures::Table::BINARY</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00049">DataStructures::Table::NUMERIC</a>, <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00058">DataStructures::Table::POINTER</a>, and <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00052">DataStructures::Table::STRING</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ab732aa0d33409753f93aeccffb4dc08c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* DataStructures::Table::Cell::c</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00107">107</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00043">Cell()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00054">operator=()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00688">DataStructures::Table::QueryRow()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00164">SLNet::TableSerializer::SerializeCell()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<a class="anchor" id="a6e0e9d8de5d3ea687af23e5b0c357723"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double DataStructures::Table::Cell::i</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00106">106</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00043">Cell()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00054">operator=()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00688">DataStructures::Table::QueryRow()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00164">SLNet::TableSerializer::SerializeCell()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<a class="anchor" id="a604bc863f25f833f352d4064ed003677"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool DataStructures::Table::Cell::isEmpty</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00105">105</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00043">Cell()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00054">operator=()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00164">SLNet::TableSerializer::SerializeCell()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<a class="anchor" id="aa9c09a4660110db5161be819515e19f0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* DataStructures::Table::Cell::ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml#l00108">108</a> of file <a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00043">Cell()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00253">SLNet::TableSerializer::DeserializeFilterQuery()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00054">operator=()</a>, <a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml#l00688">DataStructures::Table::QueryRow()</a>, <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00164">SLNet::TableSerializer::SerializeCell()</a>, and <a class="el" href="../../da/df7/_table_serializer_8cpp_source.xhtml#l00239">SLNet::TableSerializer::SerializeFilterQuery()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d3/d5d/_d_s___table_8h_source.xhtml">DS_Table.h</a></li>
<li>Source/src/<a class="el" href="../../d0/d0c/_d_s___table_8cpp_source.xhtml">DS_Table.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></li><li class="navelem"><a class="el" href="../../d4/de5/class_data_structures_1_1_table.xhtml">Table</a></li><li class="navelem"><a class="el" href="../../dc/d80/struct_data_structures_1_1_table_1_1_cell.xhtml">Cell</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/DS_Queue.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d8d/_d_s___queue_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">DS_Queue.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../dc/da7/assert_8h_source.xhtml">assert.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d8d/_d_s___queue_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt; queue_type &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A queue implemented as an array with a read and write index. <a href="../../d3/d87/class_data_structures_1_1_queue.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:da/d80/namespace_data_structures"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d8d/_d_s___queue_8h.xhtml">DS_Queue.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,580 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/DS_Queue.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d8d/_d_s___queue_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DS_Queue.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d8d/_d_s___queue_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</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">#ifndef __QUEUE_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __QUEUE_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">// Template classes have to have all the code in the header file</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/da7/assert_8h.xhtml">assert.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span>DataStructures</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml"> 36</a></span>&#160; <span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</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; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</a>();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; ~<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</a>();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</a>( <span class="keyword">const</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</a>&amp; original_copy );</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">bool</span> operator= ( <span class="keyword">const</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</a>&amp; original_copy );</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">void</span> Push( <span class="keyword">const</span> queue_type&amp; input, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line );</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">void</span> PushAtHead( <span class="keyword">const</span> queue_type&amp; input, <span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line );</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; queue_type&amp; operator[] ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> position ) <span class="keyword">const</span>; <span class="comment">// Not a normal thing you do with a queue but can be used for efficiency</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordtype">void</span> RemoveAtIndex( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> position ); <span class="comment">// Not a normal thing you do with a queue but can be used for efficiency</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">inline</span> queue_type Peek( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">inline</span> queue_type PeekTail( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">inline</span> queue_type Pop( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">inline</span> queue_type PopTail( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// Debug: Set pointer to 0, for memory leak detection</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">inline</span> queue_type PopDeref( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Size( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> IsEmpty(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> AllocationSize( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> Clear( <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line );</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">void</span> Compress( <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line );</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">bool</span> Find ( <span class="keyword">const</span> queue_type&amp; q );</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">void</span> ClearAndForceAllocation( <span class="keywordtype">int</span> size, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line ); <span class="comment">// Force a memory allocation to a certain larger size</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; queue_type* array;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> head; <span class="comment">// Array index for the head of the queue</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> tail; <span class="comment">// Array index for the tail of the queue</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> allocation_size;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; };</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8"> 70</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Queue&lt;queue_type&gt;::Size</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> ( head &lt;= tail )</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> tail -head;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> allocation_size -head + tail;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a8a535ff9f0dceecedf31401490da3a31"> 79</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a8a535ff9f0dceecedf31401490da3a31">Queue&lt;queue_type&gt;::IsEmpty</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> head==tail;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a30ed169295af652897a9dd66c4c8403d"> 85</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a30ed169295af652897a9dd66c4c8403d">Queue&lt;queue_type&gt;::AllocationSize</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> allocation_size;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#af554e9d90d7090b0b5b030b8fdbae492"> 91</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#af554e9d90d7090b0b5b030b8fdbae492">Queue&lt;queue_type&gt;::Queue</a>()</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">//allocation_size = 16;</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">//array = SLNet::OP_NEW_ARRAY&lt;queue_type&gt;(allocation_size, _FILE_AND_LINE_ );</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; allocation_size = 0;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; array=0;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; head = 0;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; tail = 0;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#aeb349e3652b877e55d31a45a5939d848"> 102</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#aeb349e3652b877e55d31a45a5939d848">Queue&lt;queue_type&gt;::~Queue</a>()</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span> (allocation_size&gt;0)</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b">SLNet::OP_DELETE_ARRAY</a>(array, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</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;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87"> 109</a></span>&#160; <span class="keyword">inline</span> queue_type <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a25272370e684388afd807c5369e4ef87">Queue&lt;queue_type&gt;::Pop</a>( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( head != tail);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="preprocessor"></span> <span class="comment">//head=(head+1) % allocation_size;</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> ( ++head == allocation_size )</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; head = 0;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> ( head == 0 )</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> ( queue_type ) array[ allocation_size -1 ];</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> ( queue_type ) array[ head -1 ];</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#aea8839196a7bb3453a8a8b0606ce71a1"> 126</a></span>&#160; <span class="keyword">inline</span> queue_type <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#aea8839196a7bb3453a8a8b0606ce71a1">Queue&lt;queue_type&gt;::PopTail</a>( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( head != tail );</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (tail!=0)</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; --tail;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> ( queue_type ) array[ tail ];</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; tail=allocation_size-1;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> ( queue_type ) array[ tail ];</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a803a870f52e2755e00686b762bb53da2"> 144</a></span>&#160; <span class="keyword">inline</span> queue_type <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a803a870f52e2755e00686b762bb53da2">Queue&lt;queue_type&gt;::PopDeref</a>( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">if</span> ( ++head == allocation_size )</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; head = 0;</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; queue_type q;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span> ( head == 0 )</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; q=array[ allocation_size -1 ];</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; array[ allocation_size -1 ]=0;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> q;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; q=array[ head -1 ];</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; array[ head -1 ]=0;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> q;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a3980613e44a80982708b9d1f49fa0fea"> 163</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a3980613e44a80982708b9d1f49fa0fea">Queue&lt;queue_type&gt;::PushAtHead</a>( <span class="keyword">const</span> queue_type&amp; input, <span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line )</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>(index &lt;= Size());</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="comment">// Just force a reallocation, will be overwritten</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; Push(input, file, line );</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span> (Size()==1)</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordtype">unsigned</span> writeIndex, readIndex, trueWriteIndex, trueReadIndex;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; writeIndex=Size()-1;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; readIndex=writeIndex-1;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">while</span> (readIndex &gt;= index)</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> ( head + writeIndex &gt;= allocation_size )</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; trueWriteIndex = head + writeIndex - allocation_size;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; trueWriteIndex = head + writeIndex;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> ( head + readIndex &gt;= allocation_size )</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; trueReadIndex = head + readIndex - allocation_size;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; trueReadIndex = head + readIndex;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; array[trueWriteIndex]=array[trueReadIndex];</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span> (readIndex==0)</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; writeIndex--;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; readIndex--;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">if</span> ( head + index &gt;= allocation_size )</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; trueWriteIndex = head + index - allocation_size;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; trueWriteIndex = head + index;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; array[trueWriteIndex]=input;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a5e9c9de11d2dd84320d2f7c9408b80b1"> 206</a></span>&#160; <span class="keyword">inline</span> queue_type <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a5e9c9de11d2dd84320d2f7c9408b80b1">Queue&lt;queue_type&gt;::Peek</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( head != tail );</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> ( queue_type ) array[ head ];</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00216"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a868069bfcac2e9d9294dadcd74bbe96c"> 216</a></span>&#160; <span class="keyword">inline</span> queue_type <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a868069bfcac2e9d9294dadcd74bbe96c">Queue&lt;queue_type&gt;::PeekTail</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( head != tail );</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (tail!=0)</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> ( queue_type ) array[ tail-1 ];</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> ( queue_type ) array[ allocation_size-1 ];</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00228"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae564a88f3367a786777694e778a4500d"> 228</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae564a88f3367a786777694e778a4500d">Queue&lt;queue_type&gt;::Push</a>( <span class="keyword">const</span> queue_type&amp; input, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line )</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">if</span> ( allocation_size == 0 )</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; array = SLNet::OP_NEW_ARRAY&lt;queue_type&gt;(16, file, line );</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; head = 0;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; tail = 1;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; array[ 0 ] = input;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; allocation_size = 16;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9717e7bbecb906637e86cef6da3d83c2">return</a> ;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; array[ tail++ ] = input;</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span> ( tail == allocation_size )</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; tail = 0;</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> ( tail == head )</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// unsigned int index=tail;</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// Need to allocate more memory.</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; queue_type * new_array;</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; new_array = SLNet::OP_NEW_ARRAY&lt;queue_type&gt;((int)allocation_size * 2, file, line );</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( new_array );</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (new_array==0)</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> counter = 0; counter &lt; allocation_size; ++counter )</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; new_array[ counter ] = array[ ( head + counter ) % ( allocation_size ) ];</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; head = 0;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; tail = allocation_size;</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; allocation_size *= 2;</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">// Delete the old array and move the pointer to the new array</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b">SLNet::OP_DELETE_ARRAY</a>(array, file, line);</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; array = new_array;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00276"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ac290f64822aeb3680989dffa2bdcaf69"> 276</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#af554e9d90d7090b0b5b030b8fdbae492">Queue&lt;queue_type&gt;::Queue</a>( <span class="keyword">const</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</a>&amp; original_copy )</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="comment">// Allocate memory for copy</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> ( original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>() == 0 )</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; allocation_size = 0;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; array = SLNet::OP_NEW_ARRAY&lt;queue_type &gt;( original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>() + 1 , <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> counter = 0; counter &lt; original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>(); ++counter )</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; array[ counter ] = original_copy.array[ ( original_copy.head + counter ) % ( original_copy.allocation_size ) ];</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; head = 0;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; tail = original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>();</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; allocation_size = original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>() + 1;</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00301"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae20f03f585b7cf73180f164b9d181165"> 301</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae20f03f585b7cf73180f164b9d181165">Queue&lt;queue_type&gt;::operator= </a>( <span class="keyword">const</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml" title="A queue implemented as an array with a read and write index.">Queue</a>&amp; original_copy )</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">if</span> ( ( &amp;original_copy ) == <span class="keyword">this</span> )</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; Clear(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="comment">// Allocate memory for copy</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">if</span> ( original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>() == 0 )</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; allocation_size = 0;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; {</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; array = SLNet::OP_NEW_ARRAY&lt;queue_type &gt;( original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>() + 1 , <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> counter = 0; counter &lt; original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>(); ++counter )</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; array[ counter ] = original_copy.array[ ( original_copy.head + counter ) % ( original_copy.allocation_size ) ];</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; head = 0;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; tail = original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>();</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; allocation_size = original_copy.<a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ae2aec093c82f780558c23f8ae9f296b8">Size</a>() + 1;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00332"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a481276f70b05ecba8138cd67e51509ec"> 332</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a481276f70b05ecba8138cd67e51509ec">Queue&lt;queue_type&gt;::Clear</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line )</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">if</span> ( allocation_size == 0 )</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9717e7bbecb906637e86cef6da3d83c2">return</a> ;</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (allocation_size &gt; 32)</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b">SLNet::OP_DELETE_ARRAY</a>(array, file, line);</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; allocation_size = 0;</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; head = 0;</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; tail = 0;</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00348"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#af25ea11c6d2c125fc8880ce99dee1573"> 348</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#af25ea11c6d2c125fc8880ce99dee1573">Queue&lt;queue_type&gt;::Compress</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line )</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; queue_type* new_array;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> newAllocationSize;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">if</span> (allocation_size==0)</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; newAllocationSize=1;</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">while</span> (newAllocationSize &lt;= Size())</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; newAllocationSize&lt;&lt;=1; <span class="comment">// Must be a better way to do this but I&#39;m too dumb to figure it out quickly :)</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; new_array = SLNet::OP_NEW_ARRAY&lt;queue_type &gt;(newAllocationSize, file, line );</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> counter=0; counter &lt; Size(); ++counter)</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; new_array[counter] = array[(head + counter)%(allocation_size)];</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; tail=Size();</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; allocation_size=newAllocationSize;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; head=0;</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="comment">// Delete the old array and move the pointer to the new array</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b">SLNet::OP_DELETE_ARRAY</a>(array, file, line);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; array=new_array;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#aaeea4fc7d36a0a3545f47bc451cb9d91"> 374</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#aaeea4fc7d36a0a3545f47bc451cb9d91">Queue&lt;queue_type&gt;::Find</a> ( <span class="keyword">const</span> queue_type &amp;q )</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; {</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">if</span> ( allocation_size == 0 )</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> counter = head;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">while</span> ( counter != tail )</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">if</span> ( array[ counter ] == q )</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; counter = ( counter + 1 ) % allocation_size;</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00393"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ad1a69d9152ba602aae0ac6edad876d9d"> 393</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#ad1a69d9152ba602aae0ac6edad876d9d">Queue&lt;queue_type&gt;::ClearAndForceAllocation</a>( <span class="keywordtype">int</span> size, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> line )</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#acd53258ab2c0b731df325c91b2e85c9b">SLNet::OP_DELETE_ARRAY</a>(array, file, line);</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">if</span> (size&gt;0)</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; array = SLNet::OP_NEW_ARRAY&lt;queue_type&gt;(size, file, line );</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; array=0;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; allocation_size = size;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; head = 0;</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; tail = 0;</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00406"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a210a76360bee7d4246990b8c99e7f259"> 406</a></span>&#160; <span class="keyword">inline</span> queue_type&amp; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a210a76360bee7d4246990b8c99e7f259">Queue&lt;queue_type&gt;::operator[] </a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> position )<span class="keyword"> const</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( position &lt; Size() );</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="preprocessor"></span> <span class="comment">//return array[(head + position) % allocation_size];</span></div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">if</span> ( head + position &gt;= allocation_size )</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> array[ head + position - allocation_size ];</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> array[ head + position ];</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> queue_type&gt;</div>
<div class="line"><a name="l00420"></a><span class="lineno"><a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a8be7c3107161bb2ad869a9a6bb60605a"> 420</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml#a8be7c3107161bb2ad869a9a6bb60605a">Queue&lt;queue_type&gt;::RemoveAtIndex</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> position )</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="preprocessor">#ifdef _DEBUG</span></div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="preprocessor"></span> <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( position &lt; Size() );</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="../../d8/db0/defines_8h.xhtml#afaa3647d29f5960651eb23fd3d2b5368">RakAssert</a>( head != tail );</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span> ( head == tail || position &gt;= Size() )</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a9717e7bbecb906637e86cef6da3d83c2">return</a> ;</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index;</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> next;</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="comment">//index = (head + position) % allocation_size;</span></div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">if</span> ( head + position &gt;= allocation_size )</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; index = head + position - allocation_size;</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; index = head + position;</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="comment">//next = (index + 1) % allocation_size;</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; next = index + 1;</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">if</span> ( next == allocation_size )</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; next = 0;</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">while</span> ( next != tail )</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="comment">// Overwrite the previous element</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; array[ index ] = array[ next ];</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; index = next;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="comment">//next = (next + 1) % allocation_size;</span></div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span> ( ++next == allocation_size )</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; next = 0;</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="comment">// Move the tail back</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">if</span> ( tail == 0 )</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; tail = allocation_size - 1;</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; --tail;</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;} <span class="comment">// End namespace</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/d8d/_d_s___queue_8h.xhtml">DS_Queue.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!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"/>
<title>SLikeNet: Source/src/TeamBalancer.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d8f/_team_balancer_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">TeamBalancer.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/d8f/_team_balancer_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d8f/_team_balancer_8cpp.xhtml">TeamBalancer.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,123 @@
<!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"/>
<title>SLikeNet: Source/src/linux_adapter.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d93/linux__adapter_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">linux_adapter.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="../../dc/d93/linux__adapter_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d93/linux__adapter_8cpp.xhtml">linux_adapter.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,449 @@
<!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"/>
<title>SLikeNet: Source/src/linux_adapter.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/d93/linux__adapter_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">linux_adapter.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/d93/linux__adapter_8cpp.xhtml">Go to the documentation of this file.</a><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) 2016-2019, SLikeSoft UG (haftungsbeschränkt)</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 source code is licensed under the MIT-style license found in the</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * This file defines adapters for all MS-specific functions used throughout SLikeNet.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#ifdef __linux__</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="../../d7/db2/linux__adapter_8h.xhtml">slikenet/linux_adapter.h</a>&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span> <span class="comment">// for std::max, std::min</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;cerrno&gt;</span> <span class="comment">// for errno</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span> <span class="comment">// for FILE, fopen, vsnprintf</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span> <span class="comment">// for mbstowcs</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span> <span class="comment">// for strcat, strcpy, strerror, strncat, strncpy</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;cstdarg&gt;</span> <span class="comment">// for va_start, va_end, va_list</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;ctime&gt;</span> <span class="comment">// for localtime, time_t</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;cwchar&gt;</span> <span class="comment">// for wcscat, wcscpy, wcslen</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;errno_t fopen_s(FILE **pfile, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keyword">const</span> <span class="keywordtype">char</span> *mode)</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;{</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">if</span> ((pfile == <span class="keyword">nullptr</span>) || (filename == <span class="keyword">nullptr</span>) || (mode == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; }</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; FILE *file = fopen(filename, mode);</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">if</span> (file == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">return</span> errno;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; }</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; *pfile = file;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</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;errno_t localtime_s(<span class="keyword">struct</span> tm *_tm, <span class="keyword">const</span> time_t *time)</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// #med - should actually also check for _*time &gt; _MAX_TIME64_T according to MSDN, but can&#39;t seem to find the</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// definition of _MAX_TIME64_T</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">if</span> ((_tm == <span class="keyword">nullptr</span>) || (time == <span class="keyword">nullptr</span>) || (*time == 0)) {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">if</span> (_tm != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; _tm-&gt;tm_hour = -1;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; _tm-&gt;tm_isdst = -1;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; _tm-&gt;tm_mday = -1;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; _tm-&gt;tm_min = -1;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; _tm-&gt;tm_mon = -1;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; _tm-&gt;tm_sec = -1;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; _tm-&gt;tm_wday = -1;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; _tm-&gt;tm_yday = -1;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; _tm-&gt;tm_year = -1;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">struct </span>tm *curTime = localtime(time);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; *_tm = *curTime;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;errno_t mbstowcs_s(<span class="keywordtype">size_t</span> *pReturnValue, <span class="keywordtype">wchar_t</span> *wcstr, <span class="keywordtype">size_t</span> sizeInWords, <span class="keyword">const</span> <span class="keywordtype">char</span> *mbstr, <span class="keywordtype">size_t</span> count)</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> ((mbstr == <span class="keyword">nullptr</span>) || ((wcstr == <span class="keyword">nullptr</span>) &amp;&amp; (sizeInWords &gt; 0)) || ((wcstr != <span class="keyword">nullptr</span>) &amp;&amp; (sizeInWords != 0))) {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (wcstr != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; wcstr[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure 0-termination</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">size_t</span> numMaxChars = sizeInWords;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (count != _TRUNCATE) {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; numMaxChars = std::min(numMaxChars, count);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">size_t</span> numCharsWritten = mbstowcs(wcstr, mbstr, numMaxChars);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (numCharsWritten == (<span class="keywordtype">size_t</span>)-1) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// invalid multibyte character encountered</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (pReturnValue != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; *pReturnValue = 0;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (wcstr != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; wcstr[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure 0-termination</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> 42; <span class="comment">// error: EILSEQ</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (numCharsWritten == numMaxChars) {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (wcstr != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; wcstr[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure 0-termination</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">if</span> (pReturnValue != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; *pReturnValue = numCharsWritten + 1; <span class="comment">// chars written, including terminating null character</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// ensure we write a terminating null character (in case there was none in the original converted string)</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span> (wcstr != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; wcstr[numCharsWritten] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure 0-termination</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> 0;</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;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keywordtype">int</span> sprintf_s(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">size_t</span> sizeOfBuffer, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;{</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> ((buffer == <span class="keyword">nullptr</span>) || (sizeOfBuffer == 0) || (format == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; va_list arglist;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; va_start(arglist, format);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">int</span> numCharsWritten = vsnprintf(buffer, sizeOfBuffer, format, arglist);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; va_end(arglist);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (numCharsWritten == -1) {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; buffer[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// error occurred ensure terminating \0-character</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (numCharsWritten &gt;= sizeOfBuffer) {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; buffer[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// buffer too small, write empty string to ensure terminating \0-char</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> numCharsWritten;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;}</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;errno_t strcat_s(<span class="keywordtype">char</span> *strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource)</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> ((strDestination == <span class="keyword">nullptr</span>) || (strSource == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (strDestination != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; strDestination[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</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> (numberOfElements == 0) {</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; strDestination[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</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">const</span> <span class="keywordtype">size_t</span> destLen = strlen(strDestination);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> sourceLen = strlen(strSource);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">if</span> ((destLen &gt; numberOfElements - 1) || ((sourceLen &gt; 0) &amp;&amp; (destLen == numberOfElements - 1)) || (sourceLen &gt; numberOfElements - destLen - 1)) {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; strDestination[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; (void)strcat(strDestination, strSource);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;errno_t strcpy_s(<span class="keywordtype">char</span>* strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource)</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;{</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> ((strDestination == <span class="keyword">nullptr</span>) || (strSource == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span> (strDestination != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; strDestination[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">if</span> ((numberOfElements == 0) || (strlen(strSource) &gt;= numberOfElements)) {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; strDestination[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; (void)strcpy(strDestination, strSource);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;}</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;errno_t strerror_s(<span class="keywordtype">char</span>* buffer, <span class="keywordtype">size_t</span> numberOfElements, <span class="keywordtype">int</span> errnum)</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;{</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// check valid parameters</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> ((buffer == <span class="keyword">nullptr</span>) || (numberOfElements == 0)) {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *errorMessage = strerror(errnum);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> strcpy_s(buffer, numberOfElements, errorMessage);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;errno_t strncat_s(<span class="keywordtype">char</span> *strDest, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource, <span class="keywordtype">size_t</span> count)</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="comment">// check valid parameters</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> ((strDest == <span class="keyword">nullptr</span>) || (strSource == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">if</span> (numberOfElements == 0) {</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordtype">size_t</span> charsToWrite;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> sourceLen = strlen(strSource);</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (count == _TRUNCATE) {</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; charsToWrite = sourceLen;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; charsToWrite = std::min(count, sourceLen);</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> destLen = strlen(strDest);</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> sizeLeft = numberOfElements - destLen;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span> (((count != _TRUNCATE) &amp;&amp; (charsToWrite &gt; sizeLeft - 1)) || ((sourceLen &gt; 0) &amp;&amp; (destLen == numberOfElements - 1))) {</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; strDest[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; (void)strncat(strDest, strSource, charsToWrite);</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;errno_t strncpy_s(<span class="keywordtype">char</span> *strDest, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">char</span> *strSource, <span class="keywordtype">size_t</span> count)</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;{</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">// check valid parameters</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span> ((numberOfElements == 0) || (strDest == <span class="keyword">nullptr</span>) || (strSource == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (strDest != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; strDest[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordtype">size_t</span> numChars;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordtype">bool</span> truncated = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (count == _TRUNCATE) {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="comment">// if count == _TRUNCATE use the length of the source string</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; numChars = strlen(strSource);</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// ensure we are not exceeding numberOfElements</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (numChars &gt;= numberOfElements) {</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; numChars = numberOfElements - 1;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; truncated = <span class="keyword">true</span>; <span class="comment">// we are going to truncate the copied string</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">// otherwise we use count, but have to check that the destination buffer is of sufficient size</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">if</span> ((count &gt; numberOfElements) || ((count == numberOfElements) &amp;&amp; (strSource[count] != <span class="charliteral">&#39;\0&#39;</span>))) {</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; strDest[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; numChars = count;</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; (void)strncpy(strDest, strSource, numChars);</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="comment">// enforce the trailing \0</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; strDest[numChars] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> truncated ? 80 : 0; <span class="comment">// STRUNCATE, if we truncated the string, 0 otherwise</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;}</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="keywordtype">int</span> vsnprintf_s(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">size_t</span> sizeOfBuffer, <span class="keywordtype">size_t</span> count, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, va_list argptr)</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;{</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">if</span> ((buffer == <span class="keyword">nullptr</span>) || (format == <span class="keyword">nullptr</span>) || (sizeOfBuffer == 0)) {</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordtype">size_t</span> maxChars = sizeOfBuffer;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">if</span> (count != _TRUNCATE) {</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">if</span> (count &gt;= sizeOfBuffer) {</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; buffer[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; maxChars = count;</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordtype">int</span> numCharsWritten = vsnprintf(buffer, maxChars, format, argptr);</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">if</span> (numCharsWritten &gt;= maxChars) {</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">if</span> (count != _TRUNCATE) {</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; buffer[0] = <span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// buffer set to empty string</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="comment">// truncation occurred, add terminating \0</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; buffer[sizeOfBuffer] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> numCharsWritten;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;}</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;errno_t wcscat_s(<span class="keywordtype">wchar_t</span> *strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *strSource)</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;{</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> ((strDestination == <span class="keyword">nullptr</span>) || (strSource == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (strDestination != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; strDestination[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (numberOfElements == 0) {</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; strDestination[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> destLen = wcslen(strDestination);</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> sourceLen = wcslen(strSource);</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span> ((destLen &gt; numberOfElements - 1) || ((sourceLen &gt; 0) &amp;&amp; (destLen == numberOfElements)) || (sourceLen &gt; numberOfElements - destLen - 1)) {</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; strDestination[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; (void)wcscat(strDestination, strSource);</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;}</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;errno_t wcscpy_s(<span class="keywordtype">wchar_t</span>* strDestination, <span class="keywordtype">size_t</span> numberOfElements, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *strSource)</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;{</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">if</span> ((strDestination == <span class="keyword">nullptr</span>) || (strSource == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">if</span> (strDestination != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; strDestination[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">return</span> 22; <span class="comment">// error: EINVAL</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">if</span> ((numberOfElements == 0) || (wcslen(strSource) &gt;= numberOfElements)) {</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; strDestination[0] = L<span class="charliteral">&#39;\0&#39;</span>; <span class="comment">// ensure trailing \0 is written</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">return</span> 34; <span class="comment">// error: ERANGE</span></div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; (void)wcscpy(strDestination, strSource);</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;}</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/d93/linux__adapter_8cpp.xhtml">linux_adapter.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:47 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
<map id="DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;" name="DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;">
<area shape="rect" id="node2" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SocketQueryOutput \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="5,358,261,641"/>
<area shape="rect" id="node3" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; BufferedCommand\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="285,351,520,648"/>
<area shape="rect" id="node4" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; Packet \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="545,358,727,641"/>
<area shape="rect" id="node5" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SystemAddress \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="752,358,987,641"/>
<area shape="rect" id="node6" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StartForwarding\lInputStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="1011,351,1231,648"/>
<area shape="rect" id="node7" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; RemoteClient * \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="1255,358,1483,641"/>
<area shape="rect" id="node8" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StopForwarding\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="1508,351,1727,648"/>
</map>

View File

@ -0,0 +1 @@
e44b238018ccf0fae241e55c3f97a4e1

View File

@ -0,0 +1,336 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt; Pages: 1 -->
<!--zoomable 490 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 1299;
var viewHeight = 490;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="565.5,-270.5 565.5,-481.5 730.5,-481.5 730.5,-270.5 565.5,-270.5"/>
<text text-anchor="start" x="573.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; structureType &gt;</text>
<polyline fill="none" stroke="black" points="565.5,-451.5 730.5,-451.5 "/>
<text text-anchor="start" x="573.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="573.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="573.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="573.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="565.5,-399.5 730.5,-399.5 "/>
<text text-anchor="start" x="573.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="573.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="573.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="573.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="573.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="573.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="573.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="573.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="573.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="573.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="573.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SocketQueryOutput \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="0,-6 0,-217 192,-217 192,-6 0,-6"/>
<text text-anchor="start" x="8" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="96" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SocketQueryOutput &gt;</text>
<polyline fill="none" stroke="black" points="0,-187 192,-187 "/>
<text text-anchor="start" x="8" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="8" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="8" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="8" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="0,-135 192,-135 "/>
<text text-anchor="start" x="8" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="8" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="8" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="8" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="8" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="8" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="8" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="8" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="8" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="8" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="8" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="orange" d="M555.451,-357.246C460.831,-336.072 312.353,-294.271 201,-223 197.991,-221.074 195.007,-219.044 192.055,-216.926"/>
<polygon fill="orange" stroke="orange" points="554.771,-360.68 565.29,-359.417 556.279,-353.844 554.771,-360.68"/>
<text text-anchor="middle" x="300" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SocketQueryOutput &gt;</text>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; BufferedCommand\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="210,-0.5 210,-222.5 386,-222.5 386,-0.5 210,-0.5"/>
<text text-anchor="start" x="218" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="218" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; BufferedCommand</text>
<text text-anchor="middle" x="298" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="210,-181.5 386,-181.5 "/>
<text text-anchor="start" x="218" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="218" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="218" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="218" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="210,-129.5 386,-129.5 "/>
<text text-anchor="start" x="218" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="218" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="218" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="218" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="218" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="218" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="218" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="218" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="218" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="218" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="218" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="orange" d="M556.28,-333.028C504.879,-306.469 441.884,-268.566 395,-223 392.071,-220.153 389.129,-217.231 386.188,-214.253"/>
<polygon fill="orange" stroke="orange" points="554.909,-336.258 565.407,-337.689 558.093,-330.024 554.909,-336.258"/>
<text text-anchor="middle" x="488.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; BufferedCommandStruct &gt;</text>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; Packet \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="404.5,-6 404.5,-217 541.5,-217 541.5,-6 404.5,-6"/>
<text text-anchor="start" x="412.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="473" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; Packet &gt;</text>
<polyline fill="none" stroke="black" points="404.5,-187 541.5,-187 "/>
<text text-anchor="start" x="412.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="412.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="412.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="412.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="404.5,-135 541.5,-135 "/>
<text text-anchor="start" x="412.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="412.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="412.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="412.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="412.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="412.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="412.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="412.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="412.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="412.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="412.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge"><title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="orange" d="M572.627,-261.941C562.308,-246.462 551.76,-230.64 541.571,-215.357"/>
<polygon fill="orange" stroke="orange" points="569.873,-264.12 578.333,-270.499 575.698,-260.237 569.873,-264.12"/>
<text text-anchor="middle" x="592" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; Packet &gt;</text>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SystemAddress \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="560,-6 560,-217 736,-217 736,-6 560,-6"/>
<text text-anchor="start" x="568" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SystemAddress &gt;</text>
<polyline fill="none" stroke="black" points="560,-187 736,-187 "/>
<text text-anchor="start" x="568" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="568" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="568" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="568" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="560,-135 736,-135 "/>
<text text-anchor="start" x="568" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="568" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="568" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="568" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="568" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="568" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="568" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="568" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="568" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="568" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="568" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge"><title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="orange" d="M648,-260.128C648,-245.808 648,-231.223 648,-217.07"/>
<polygon fill="orange" stroke="orange" points="644.5,-260.499 648,-270.499 651.5,-260.499 644.5,-260.499"/>
<text text-anchor="middle" x="693.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SystemAddress &gt;</text>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StartForwarding\lInputStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="754.5,-0.5 754.5,-222.5 919.5,-222.5 919.5,-0.5 754.5,-0.5"/>
<text text-anchor="start" x="762.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="762.5" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StartForwarding</text>
<text text-anchor="middle" x="837" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">InputStruct &gt;</text>
<polyline fill="none" stroke="black" points="754.5,-181.5 919.5,-181.5 "/>
<text text-anchor="start" x="762.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="762.5" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="762.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="762.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="754.5,-129.5 919.5,-129.5 "/>
<text text-anchor="start" x="762.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="762.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="762.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="762.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="762.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="762.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="762.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="762.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="762.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="762.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="762.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge"><title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="orange" d="M735.531,-262.255C738.062,-258.808 740.557,-255.384 743,-252 749.838,-242.529 756.834,-232.611 763.771,-222.619"/>
<polygon fill="orange" stroke="orange" points="732.692,-260.209 729.566,-270.332 738.322,-264.367 732.692,-260.209"/>
<text text-anchor="middle" x="817.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StartForwardingInputStruct &gt;</text>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; RemoteClient * \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="937.5,-6 937.5,-217 1108.5,-217 1108.5,-6 937.5,-6"/>
<text text-anchor="start" x="945.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="1023" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; RemoteClient * &gt;</text>
<polyline fill="none" stroke="black" points="937.5,-187 1108.5,-187 "/>
<text text-anchor="start" x="945.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="945.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="945.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="945.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="937.5,-135 1108.5,-135 "/>
<text text-anchor="start" x="945.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="945.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="945.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="945.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="945.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="945.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="945.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="945.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="945.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="945.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="945.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge"><title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="orange" d="M739.781,-339.722C798.497,-313.862 873.578,-274.341 928,-223 931.128,-220.049 934.26,-217.002 937.381,-213.886"/>
<polygon fill="orange" stroke="orange" points="738.279,-336.558 730.503,-343.754 741.07,-342.978 738.279,-336.558"/>
<text text-anchor="middle" x="945.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; RemoteClient * &gt;</text>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StopForwarding\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="1127,-0.5 1127,-222.5 1291,-222.5 1291,-0.5 1127,-0.5"/>
<text text-anchor="start" x="1135" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="1135" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StopForwarding</text>
<text text-anchor="middle" x="1209" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="1127,-181.5 1291,-181.5 "/>
<text text-anchor="start" x="1135" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="1135" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="1135" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="1135" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="1127,-129.5 1291,-129.5 "/>
<text text-anchor="start" x="1135" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="1135" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="1135" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="1135" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="1135" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="1135" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="1135" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="1135" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="1135" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="1135" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="1135" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge"><title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="orange" d="M740.929,-360.739C840.744,-341.984 1000.67,-301.73 1117,-223 1120.31,-220.761 1123.56,-218.371 1126.75,-215.857"/>
<polygon fill="orange" stroke="orange" points="740.061,-357.34 730.862,-362.596 741.331,-364.224 740.061,-357.34"/>
<text text-anchor="middle" x="1141.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StopForwardingStruct &gt;</text>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_data_structures_1_1_threadsafe_allocating_queue__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt; Pages: 1 -->
<svg width="1299pt" height="490pt"
viewBox="0.00 0.00 1299.00 490.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 486)">
<title>DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="565.5,-270.5 565.5,-481.5 730.5,-481.5 730.5,-270.5 565.5,-270.5"/>
<text text-anchor="start" x="573.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; structureType &gt;</text>
<polyline fill="none" stroke="black" points="565.5,-451.5 730.5,-451.5 "/>
<text text-anchor="start" x="573.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="573.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="573.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="573.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="565.5,-399.5 730.5,-399.5 "/>
<text text-anchor="start" x="573.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="573.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="573.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="573.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="573.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="573.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="573.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="573.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="573.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="573.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="573.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SocketQueryOutput \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="0,-6 0,-217 192,-217 192,-6 0,-6"/>
<text text-anchor="start" x="8" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="96" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SocketQueryOutput &gt;</text>
<polyline fill="none" stroke="black" points="0,-187 192,-187 "/>
<text text-anchor="start" x="8" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="8" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="8" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="8" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="0,-135 192,-135 "/>
<text text-anchor="start" x="8" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="8" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="8" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="8" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="8" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="8" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="8" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="8" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="8" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="8" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="8" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="orange" d="M555.451,-357.246C460.831,-336.072 312.353,-294.271 201,-223 197.991,-221.074 195.007,-219.044 192.055,-216.926"/>
<polygon fill="orange" stroke="orange" points="554.771,-360.68 565.29,-359.417 556.279,-353.844 554.771,-360.68"/>
<text text-anchor="middle" x="300" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SocketQueryOutput &gt;</text>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; BufferedCommand\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="210,-0.5 210,-222.5 386,-222.5 386,-0.5 210,-0.5"/>
<text text-anchor="start" x="218" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="218" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; BufferedCommand</text>
<text text-anchor="middle" x="298" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="210,-181.5 386,-181.5 "/>
<text text-anchor="start" x="218" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="218" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="218" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="218" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="210,-129.5 386,-129.5 "/>
<text text-anchor="start" x="218" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="218" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="218" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="218" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="218" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="218" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="218" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="218" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="218" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="218" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="218" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="orange" d="M556.28,-333.028C504.879,-306.469 441.884,-268.566 395,-223 392.071,-220.153 389.129,-217.231 386.188,-214.253"/>
<polygon fill="orange" stroke="orange" points="554.909,-336.258 565.407,-337.689 558.093,-330.024 554.909,-336.258"/>
<text text-anchor="middle" x="488.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; BufferedCommandStruct &gt;</text>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; Packet \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="404.5,-6 404.5,-217 541.5,-217 541.5,-6 404.5,-6"/>
<text text-anchor="start" x="412.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="473" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; Packet &gt;</text>
<polyline fill="none" stroke="black" points="404.5,-187 541.5,-187 "/>
<text text-anchor="start" x="412.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="412.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="412.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="412.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="404.5,-135 541.5,-135 "/>
<text text-anchor="start" x="412.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="412.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="412.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="412.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="412.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="412.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="412.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="412.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="412.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="412.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="412.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge"><title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="orange" d="M572.627,-261.941C562.308,-246.462 551.76,-230.64 541.571,-215.357"/>
<polygon fill="orange" stroke="orange" points="569.873,-264.12 578.333,-270.499 575.698,-260.237 569.873,-264.12"/>
<text text-anchor="middle" x="592" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; Packet &gt;</text>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SystemAddress \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="560,-6 560,-217 736,-217 736,-6 560,-6"/>
<text text-anchor="start" x="568" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SystemAddress &gt;</text>
<polyline fill="none" stroke="black" points="560,-187 736,-187 "/>
<text text-anchor="start" x="568" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="568" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="568" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="568" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="560,-135 736,-135 "/>
<text text-anchor="start" x="568" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="568" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="568" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="568" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="568" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="568" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="568" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="568" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="568" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="568" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="568" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge"><title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="orange" d="M648,-260.128C648,-245.808 648,-231.223 648,-217.07"/>
<polygon fill="orange" stroke="orange" points="644.5,-260.499 648,-270.499 651.5,-260.499 644.5,-260.499"/>
<text text-anchor="middle" x="693.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SystemAddress &gt;</text>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StartForwarding\lInputStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="754.5,-0.5 754.5,-222.5 919.5,-222.5 919.5,-0.5 754.5,-0.5"/>
<text text-anchor="start" x="762.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="762.5" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StartForwarding</text>
<text text-anchor="middle" x="837" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">InputStruct &gt;</text>
<polyline fill="none" stroke="black" points="754.5,-181.5 919.5,-181.5 "/>
<text text-anchor="start" x="762.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="762.5" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="762.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="762.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="754.5,-129.5 919.5,-129.5 "/>
<text text-anchor="start" x="762.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="762.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="762.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="762.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="762.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="762.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="762.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="762.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="762.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="762.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="762.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge"><title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="orange" d="M735.531,-262.255C738.062,-258.808 740.557,-255.384 743,-252 749.838,-242.529 756.834,-232.611 763.771,-222.619"/>
<polygon fill="orange" stroke="orange" points="732.692,-260.209 729.566,-270.332 738.322,-264.367 732.692,-260.209"/>
<text text-anchor="middle" x="817.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StartForwardingInputStruct &gt;</text>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; RemoteClient * \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="937.5,-6 937.5,-217 1108.5,-217 1108.5,-6 937.5,-6"/>
<text text-anchor="start" x="945.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="1023" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; RemoteClient * &gt;</text>
<polyline fill="none" stroke="black" points="937.5,-187 1108.5,-187 "/>
<text text-anchor="start" x="945.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="945.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="945.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="945.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="937.5,-135 1108.5,-135 "/>
<text text-anchor="start" x="945.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="945.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="945.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="945.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="945.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="945.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="945.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="945.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="945.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="945.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="945.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge"><title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="orange" d="M739.781,-339.722C798.497,-313.862 873.578,-274.341 928,-223 931.128,-220.049 934.26,-217.002 937.381,-213.886"/>
<polygon fill="orange" stroke="orange" points="738.279,-336.558 730.503,-343.754 741.07,-342.978 738.279,-336.558"/>
<text text-anchor="middle" x="945.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; RemoteClient * &gt;</text>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StopForwarding\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="1127,-0.5 1127,-222.5 1291,-222.5 1291,-0.5 1127,-0.5"/>
<text text-anchor="start" x="1135" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="1135" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StopForwarding</text>
<text text-anchor="middle" x="1209" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="1127,-181.5 1291,-181.5 "/>
<text text-anchor="start" x="1135" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="1135" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="1135" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="1135" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="1127,-129.5 1291,-129.5 "/>
<text text-anchor="start" x="1135" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="1135" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="1135" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="1135" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="1135" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="1135" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="1135" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="1135" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="1135" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="1135" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="1135" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge"><title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="orange" d="M740.929,-360.739C840.744,-341.984 1000.67,-301.73 1117,-223 1120.31,-220.761 1123.56,-218.371 1126.75,-215.857"/>
<polygon fill="orange" stroke="orange" points="740.061,-357.34 730.862,-362.596 741.331,-364.224 740.061,-357.34"/>
<text text-anchor="middle" x="1141.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StopForwardingStruct &gt;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,338 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d5/dbf/class_s_l_net_1_1_rak_peer.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::RakPeer Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a225c7557ae7df7dcd64bf3da2b405795">activeSystemList</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3d64adb5812fb891bb03b9fd9c331f97">activeSystemListSize</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a639f3b189e42460761c9f413871852f5">AddPacketToProducer</a>(SLNet::Packet *p)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a669ac81cf71390a91ccc90b992b4cda3">AddToActiveSystemList</a>(unsigned int remoteSystemListIndex)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa0df3df6ab4e04ae2ef0696670d7f776">AddToBanList</a>(const char *IP, SLNet::TimeMS milliseconds=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af8d5bea4ceaa700d451196b9b0b0ed25">AddToSecurityExceptionList</a>(const char *ip)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a1337a0f14282659e56aca9c8b7d948bc">AdvertiseSystem</a>(const char *host, unsigned short remotePort, const char *data, int dataLength, unsigned connectionSocketIndex=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ab225085dd102a7ce6f8e0632fc65ae58">AllocatePacket</a>(unsigned dataSize)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae201eebe7aa4f06c77cab7721a1fb5e8">AllocPacket</a>(unsigned dataSize, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a1e69a1de7b17ff1f9a9aa4bee0e36287">AllocPacket</a>(unsigned dataSize, unsigned char *data, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae2d7d23b28c0d9e8df2a260ba5d77f37">AllocRNS2RecvStruct</a>(const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4d813d6705c6e3e225a7558d7cd07fc3">allowConnectionResponseIPMigration</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a6073a5dffd55cbd7dbfc6e575c34ffc4">AllowConnectionResponseIPMigration</a>(bool allow)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a25b2da73418842f2a655199cb434a859">AllowIncomingConnections</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af0847602198fe127afdd40bdb6c0aecd">allowInternalRouting</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a02407ae593277c551cea1524816c3a56">ApplyNetworkSimulator</a>(float packetloss, unsigned short minExtraPing, unsigned short extraPingVariance)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a102510a3e5e43acdd3c2ca9ca7f1af6e">AssignSystemAddressToRemoteSystemList</a>(const SystemAddress systemAddress, RemoteSystemStruct::ConnectMode connectionMode, RakNetSocket2 *incomingRakNetSocket, bool *thisIPConnectedRecently, SystemAddress bindingAddress, int incomingMTU, RakNetGUID guid, bool useSecurity)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ab5c9a18b31e1ef50434f289b6cca9b68">AttachPlugin</a>(PluginInterface2 *plugin)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a6f0a5511a4c012eab279add04cbed905">banList</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a49f202f77b2cac1000dd9172f2489b9d">banListMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aee9e74b6ddcdc0c0bb3f69f529b47370">bufferedCommands</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8f87f726717d3e4706d5063b3f4b14a1">bufferedPacketsFreePool</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a43bd8073fa9ad174ace8c3f476f73b7d">bufferedPacketsFreePoolMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7365d72f247e174586de1d496ae09890">bufferedPacketsQueue</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#adb071c4f89817bdd8371cdc0956e792f">bufferedPacketsQueueMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a856b013c8af750637a711d0aee46d0de">bytesReceivedPerSecond</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aef0980318e6fcdd9fd45b44ac80f223a">bytesSentPerSecond</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a78343590e47d7f2ffddcd81cb72dcf0a">CallPluginCallbacks</a>(DataStructures::List&lt; PluginInterface2 * &gt; &amp;pluginList, Packet *packet)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a01b140bb9e6a90a0c1867a5101131fd1">CancelConnectionAttempt</a>(const SystemAddress target)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aed618fb97bcab993cc1711473f04c5a2">ChangeSystemAddress</a>(RakNetGUID guid, const SystemAddress &amp;systemAddress)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3d0f94bb0bf24d4bbe1df80b1f3bce9d">ClearBanList</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aed8c82143ba074c034ebf6f7ada9e06f">ClearBufferedCommands</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a281f387ca70c252bc753815e3763a36b">ClearBufferedPackets</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a1d720ae46165554561ab4119e3c0ab91">ClearRemoteSystemLookup</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae3a210565120570bcdab5332ab16e336">ClearRequestedConnectionList</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a819793a837a9c7a224529fcb9261c8bf">ClearSocketQueryOutput</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#adda8200ca715f0d15db7d2e599365408">CloseConnection</a>(const AddressOrGUID target, bool sendDisconnectionNotification, unsigned char orderingChannel=0, PacketPriority disconnectionNotificationPriority=LOW_PRIORITY)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac2555dbfa33331201626527858f7a8f9">CloseConnectionInternal</a>(const AddressOrGUID &amp;systemIdentifier, bool sendDisconnectionNotification, bool performImmediate, unsigned char orderingChannel, PacketPriority disconnectionNotificationPriority)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa0365c57451fb71d2e17af378912e7c7">Connect</a>(const char *host, unsigned short remotePort, const char *passwordData, int passwordDataLength, PublicKey *publicKey=0, unsigned connectionSocketIndex=0, unsigned sendConnectionAttemptCount=6, unsigned timeBetweenSendConnectionAttemptsMS=1000, SLNet::TimeMS timeoutTime=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a54277ba808fe9fba11ec036e596de159">ConnectWithSocket</a>(const char *host, unsigned short remotePort, const char *passwordData, int passwordDataLength, RakNetSocket2 *socket, PublicKey *publicKey=0, unsigned sendConnectionAttemptCount=6, unsigned timeBetweenSendConnectionAttemptsMS=1000, SLNet::TimeMS timeoutTime=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af68f8d2766b45b6d951dfd62cf349a71">DeallocatePacket</a>(Packet *packet)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af8274d9273cee687274854660b37a3be">DeallocRNS2RecvStruct</a>(RNS2RecvStruct *s, const char *file, unsigned int line)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af96dd55e6d29b96d62af7f3ac5d2332b">defaultMTUSize</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af9256c364ea3adcb09b398d4d35f9e65">defaultTimeoutTime</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a2aa966368b10cf84d4ece1313462429b">DerefAllSockets</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa6cf24206782e09bfeb84e50b6b07121">DereferenceRemoteSystem</a>(const SystemAddress &amp;sa)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3af7b16093477032f5739c05316463bd">DetachPlugin</a>(PluginInterface2 *messageHandler)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#abc9e3cd4ac407f23ce1ee99c94cabd88">DisableSecurity</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae362305e23379edf573a4cbff2df19ef">endThreads</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8285f205b3b5df5dd74ca7676710376c">FillIPList</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a260c39feb9c4117c8e7b471856e25ded">firstExternalID</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#acc6f6a26de4ae525b04ffe22c48cc6ee">GenerateGUID</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac13b866867f00a6f680568e27d1b53a3">GenerateSeedFromGuid</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#aaf48ba4b7fd51925799c67990dff617d">Get64BitUniqueRandomNumber</a>(void)</td><td class="entry"><a class="el" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml">SLNet::RakPeerInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ad49c1931b10fdc0ba3ae73305b9fd5c4">GetAveragePing</a>(const AddressOrGUID systemIdentifier)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa16ccc27ff545fc026aec10149a99543">GetBestClockDifferential</a>(const SystemAddress systemAddress) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#acfd91e89678d280504742f7f3e780e76">GetClientPublicKeyFromSystemAddress</a>(const SystemAddress input, char *client_public_key) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a225049eccf0747f78fa0544977e18045">GetClockDifferential</a>(const AddressOrGUID systemIdentifier)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aeabaee7ed9e1ab93188ebd2e2eecd9b2">GetClockDifferentialInt</a>(RemoteSystemStruct *remoteSystem) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a2f3e89dc1baf72e449911b7c674403fc">GetConnectionList</a>(SystemAddress *remoteSystems, unsigned short *numberOfSystems) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8821f6606241767d716eda179402e8a6">GetConnectionState</a>(const AddressOrGUID systemIdentifier)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a5379dcb1bad21a633b9c52b165a1ef59">GetExternalID</a>(const SystemAddress target) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af1d76768ee4dbd4dbb310871293e7386">GetGUIDFromIndex</a>(unsigned int index)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a223d75e8471d565ea4be7f6b44da6e8d">GetGuidFromSystemAddress</a>(const SystemAddress input) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3d16efedd2007d917e613a78f816baba">GetIncomingPassword</a>(char *passwordData, int *passwordDataLength)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a15ebde783ee7c1bf0cef25c3a1162ff6">GetIndexFromGuid</a>(const RakNetGUID guid)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ad3cd736fca1b11b8e652f630f9045c06">GetIndexFromSystemAddress</a>(const SystemAddress systemAddress) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a717d82a0a029c685ed2dcbf3ef90636c">GetIndexFromSystemAddress</a>(const SystemAddress systemAddress, bool calledFromNetworkThread) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3bd1460173bdc15fcca80d75ba2e9305">GetInternalID</a>(const SystemAddress systemAddress=UNASSIGNED_SYSTEM_ADDRESS, const int index=0) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#accd128e02e2b699f286d23ec3c7b0d67">GetLastPing</a>(const AddressOrGUID systemIdentifier) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a683896750aa0a4c9e4978c3090d54b10">GetLocalIP</a>(unsigned int index)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#adbedc1bd441fe62b405bf27c5ffe5389">GetLoopbackAddress</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#acd7b8388fccf81c93fa96a48aac9283a">GetLowestPing</a>(const AddressOrGUID systemIdentifier) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4de15c29e41694e8981ab8d4cb90baf4">GetMaximumIncomingConnections</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac61e5c0d7ffa3435dedb0b3ac1c2dc03">GetMaximumNumberOfPeers</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4272ca10738749fcc2a1e3b31e048a70">GetMTUSize</a>(const SystemAddress target) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac7c253eb56fb637ad25bb09fb65fc66f">GetMyBoundAddress</a>(const int socketIndex=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a281770049b45767b4c6172a9b1d8a23a">GetMyGUID</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7c3653ef0cef17d136b34b8a60213173">GetNextSendReceipt</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac6c72f0af658cebb78c7ed352a3f458f">GetNumberOfAddresses</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a36d2e214665c8fccf0b16593252e9fab">GetNumberOfRemoteInitiatedConnections</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a185506c10394d76dfe9bbc8b7dfd7613">GetOfflinePingResponse</a>(char **data, unsigned int *length)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae666a545bcac66fc454c2368b7696b64">GetRakNetSocketFromUserConnectionSocketIndex</a>(unsigned int userIndex) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7f1aea30c661ede5de3ead0e70ba80aa">GetReceiveBufferSize</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a521c87e3d5530deac6f23c4b05e907f0">GetRemoteSystem</a>(const AddressOrGUID systemIdentifier, bool calledFromNetworkThread, bool onlyActive) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a59577ac6af160e693a4129c3517fac3e">GetRemoteSystem</a>(const SystemAddress &amp;sa) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a2259cca1a81b5b8a5cb94c26af2aa7d1">GetRemoteSystemFromGUID</a>(const RakNetGUID guid, bool onlyActive) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa776b1e542f5013f641bab7be5976531">GetRemoteSystemFromSystemAddress</a>(const SystemAddress systemAddress, bool calledFromNetworkThread, bool onlyActive) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3680092c528de9ba50b1a57a2134fd95">GetRemoteSystemIndex</a>(const SystemAddress &amp;sa) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a5e41683a638340d3a9fefc0eef5430fc">GetSocket</a>(const SystemAddress target)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8b456c00664ff71b0e8620376462c004">GetSockets</a>(DataStructures::List&lt; RakNetSocket2 * &gt; &amp;sockets)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a5943788eec6c727a5b54ba20bac5a0e9">GetSplitMessageProgressInterval</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a1527f04c5af89d3a1a39aaf4c42f6bde">GetStatistics</a>(const SystemAddress systemAddress, RakNetStatistics *rns=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa4fd68d0b1878c6ba6dea881acbbf380">GetStatistics</a>(const unsigned int index, RakNetStatistics *rns)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a65d7c5d4401852bf8968a5ca4dc8efd3">GetStatisticsList</a>(DataStructures::List&lt; SystemAddress &gt; &amp;addresses, DataStructures::List&lt; RakNetGUID &gt; &amp;guids, DataStructures::List&lt; RakNetStatistics &gt; &amp;statistics)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7b99f10bb48b76fcef310226c277870a">GetSystemAddressFromGuid</a>(const RakNetGUID input) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a726b3b4b3c09d900fbffd1167d7a8b8f">GetSystemAddressFromIndex</a>(unsigned int index)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8650db1b4cbcedf91564235c538f358b">GetSystemIndexFromGuid</a>(const RakNetGUID input) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af98b973b0e2c2f2a2342f7c76bca5bd4">GetSystemList</a>(DataStructures::List&lt; SystemAddress &gt; &amp;addresses, DataStructures::List&lt; RakNetGUID &gt; &amp;guids) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae24965aa176dd101e4770c800d7c0058">GetTimeoutTime</a>(const SystemAddress target)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#acd6e96da11f40c506d6dfaa9460f9eb8">incomingDatagramEventHandler</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af247fd618c728c9fb340c181f2949b56">incomingPassword</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a36a0b0cd5c5f3c0b0cd07a59178a37a4">incomingPasswordLength</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa389a087935ce764fcbec837d35a0fc7">incomingQueueMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4780cb8a45fbbac8cb9c02bc72d20f33">IncrementNextSendReceipt</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a74710b1c2966a88a8e5efc86376a4d06">InitializeSecurity</a>(const char *publicKey, const char *privateKey, bool bRequireClientKey=false)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a0b340485a6df5ba285ab315ad62216a4">ipList</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a52ff3b23878d11d8b00473835d44b1f5">IsActive</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae1ad09ea9ca5ea8bd4a00f78e22a5abc">IsBanned</a>(const char *IP)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4541da876eef1161bd7460f2cbfcc3bd">IsInSecurityExceptionList</a>(const char *ip)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a251f0972c417a8770548a354a10178f5">IsLocalIP</a>(const char *ip)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aff2110cddbbcea96b4ecf6acb310ec48">IsLoopbackAddress</a>(const AddressOrGUID &amp;systemIdentifier, bool matchPort) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aeaa8130143d14b02ed37c51ebd4e0031">isMainLoopThreadActive</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a972f872d20bb187a0bbb92f29d4ae34f">IsNetworkSimulatorActive</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a2b117b10a74d64638237f30028f5636b">limitConnectionFrequencyFromTheSameIP</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a0b8ce46d6d74af289070955a380be59c">maximumIncomingConnections</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a0f972ed71cf72e62cede64a16de6c96c">maximumNumberOfPeers</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae60f35f804bc9d7bb3d5472d94b58d89">maxOutgoingBPS</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a676eb9b89ca31ee19e6e1f53819f190b">myGuid</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a34ef012d4c7fdae387cff33ef3f8a82c">NotifyAndFlagForShutdown</a>(const SystemAddress systemAddress, bool performImmediate, unsigned char orderingChannel, PacketPriority disconnectionNotificationPriority)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#adc1e5ededdda725b7576fe10877a71d1a311d52bbf5bbb458261d44804f610230">NUMBER_OF_RAKPEER_MUTEXES</a> enum value</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a0155271445e2fe26b382080f228df46d">NumberOfConnections</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a9227638ba973ad04c4ca82db116f245e">occasionalPing</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4ab41936219c8afc364f77533fccc4bb">offlinePingResponse</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#adc1e5ededdda725b7576fe10877a71d1a2e5687c22683dedb14e873cc208a1146">offlinePingResponse_Mutex</a> enum value</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a331b4c503549cc0de052c81f895fac9e">OnConnectedPong</a>(SLNet::Time sendPingTime, SLNet::Time sendPongTime, RemoteSystemStruct *remoteSystem)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aaaca9ace501fd07ed499f9611feac31b">OnConnectionRequest</a>(RakPeer::RemoteSystemStruct *remoteSystem, SLNet::Time incomingTimestamp)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a6958fbc2fdb1193f7de0d790ca291dae">OnRNS2Recv</a>(RNS2RecvStruct *recvStruct)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae00518a3ba71591be2f83391b75bbcf3">packetAllocationPool</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a16b605c152761d7995fcc9585e2811ba">packetAllocationPoolMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ad1af05e00693b668a3bf18edc195f3b2">packetReturnMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a0b6789ef65638eb2eeeda6c5d7a91d2d">packetReturnQueue</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa5bcdfc861e18f76e3baf317eb998cfc">ParseConnectionRequestPacket</a>(RakPeer::RemoteSystemStruct *remoteSystem, const SystemAddress &amp;systemAddress, const char *data, int byteSize)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a171a26ffc686c3666b169e8972d8e282">Ping</a>(const SystemAddress target)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3e1cda7f2e6b523902b6db6c88ca4e38">Ping</a>(const char *host, unsigned short remotePort, bool onlyReplyOnAcceptingConnections, unsigned connectionSocketIndex=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#afacf0a9f565d39384b07a7a5512037c4">PingInternal</a>(const SystemAddress target, bool performImmediate, PacketReliability reliability)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a229049c7a658a2740ec30d774838d33b">pluginListNTS</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a00efeea5877b06d03060947fda233dcb">pluginListTS</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a5ba127831e551667e78a3a997bb675c5">PopBufferedPacket</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af17f4afef06bf2479d27eb6c3fb9e994">ProcessNetworkPacket</a>(const SystemAddress systemAddress, const char *data, const int length, RakPeer *rakPeer, SLNet::TimeUS timeRead, BitStream &amp;updateBitStream)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae7c7d003998989c7e6554bb9a0f6c373">ProcessNetworkPacket</a>(const SystemAddress systemAddress, const char *data, const int length, RakPeer *rakPeer, RakNetSocket2 *rakNetSocket, SLNet::TimeUS timeRead, BitStream &amp;updateBitStream)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a97fa5ff718a7852a70be52c62ff065b3">ProcessOfflineNetworkPacket</a>(SystemAddress systemAddress, const char *data, const int length, RakPeer *rakPeer, RakNetSocket2 *rakNetSocket, bool *isOfflineMessage, SLNet::TimeUS timeRead)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a9968ebdb31bcc7563b035a567046169b">PushBackPacket</a>(Packet *packet, bool pushAtHead)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a872edaaa63da89c051fd40965edcafcd">PushBufferedPacket</a>(RNS2RecvStruct *p)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a15b5ee1db6ab9f6620954e2ed07e2093">quitAndDataEvents</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a21c73bc8c9e5f0e540b75fcab783c776">RAK_THREAD_DECLARATION</a>(UpdateNetworkLoop)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a452757b3566ac9c79478f5a2ad86272c">RAK_THREAD_DECLARATION</a>(UDTConnect)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aff7ebc01fb71df027b1a065ff63ca8b4">RakPeer</a>()</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a5a66379254e38be2e78e0f91c21b2fd3">rakPeerMutexes</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a30f9b6c0108bae2b860776136f6aece7">Receive</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa7a78cc11c83e82a231bf39c1f0dd420">ReferenceRemoteSystem</a>(const SystemAddress &amp;sa, unsigned int remoteSystemListIndex)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a5685399cbe6e33887f911aadc96965ea">ReleaseSockets</a>(DataStructures::List&lt; RakNetSocket2 * &gt; &amp;sockets)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aab5608c4c17cc637a73a1ece2efcf6c2">remoteSystemIndexPool</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3c0065f7f633843ce03772ff03ad1f72">remoteSystemList</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a0d05a3cd8fca07c605c067dc13b81882">remoteSystemLookup</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aef0921d261520f62eca004428cca1519">RemoteSystemLookupHashIndex</a>(const SystemAddress &amp;sa) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a76f651db495195a9c450d1c2925922e5">RemoveFromActiveSystemList</a>(const SystemAddress &amp;sa)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ad046c7809b8889ba708bc20881845e4d">RemoveFromBanList</a>(const char *IP)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a24be36bb9b57fd85627d89b66b149c50">RemoveFromSecurityExceptionList</a>(const char *ip)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a5341a74e0dd7f3579102ef6e0d5fb324">replyFromTargetBroadcast</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a052777a061826c97b3c7c791b6c9656a">replyFromTargetBS</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac86c9bb62006b5344d41b8d0d2afea2f">replyFromTargetPlayer</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#adc1e5ededdda725b7576fe10877a71d1a03cc9c60bd2c481d66e177b9e0d159e9">requestedConnectionList_Mutex</a> enum value</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac7e96f878d2f2252b357542b75a1a96e">requestedConnectionQueue</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4fe71c115f1c02adb6ce05e9ca76e5ea">requestedConnectionQueueMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a2f6e2dae8f4d9c07d9bae3b9b7218eca">ResetSendReceipt</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml#ac7c7ed14f70514bcffe7e5e16b4d6cc0">RNS2EventHandler</a>()</td><td class="entry"><a class="el" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml">SLNet::RNS2EventHandler</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a601d36de413c7b94fb689e205921df9e">RunUpdateCycle</a>(BitStream &amp;updateBitStream)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#af7b884543a2ebdd0ee8ba9c5ee223266">securityExceptionList</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a9cfe9a00a5d314bc170285bc611e40e3">securityExceptionMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4e1766fd244af7941b327e8751a4e9ee">Send</a>(const char *data, const int length, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast, uint32_t forceReceiptNumber=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a546ef32b4d19d0514e1806932bddff6c">Send</a>(const SLNet::BitStream *bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast, uint32_t forceReceiptNumber=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a705e3d72e100fc87f2a1878b0882dc38">SendBuffered</a>(const char *data, BitSize_t numberOfBitsToSend, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast, RemoteSystemStruct::ConnectMode connectionMode, uint32_t receipt)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7bcc8f1dc3c6735b73a1f9f57b446eb2">SendBufferedList</a>(const char **data, const int *lengths, const int numParameters, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast, RemoteSystemStruct::ConnectMode connectionMode, uint32_t receipt)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a556ea6d3911c9e251fc5ffb2c07edee1">SendConnectionRequest</a>(const char *host, unsigned short remotePort, const char *passwordData, int passwordDataLength, PublicKey *publicKey, unsigned connectionSocketIndex, unsigned int extraData, unsigned sendConnectionAttemptCount, unsigned timeBetweenSendConnectionAttemptsMS, SLNet::TimeMS timeoutTime, RakNetSocket2 *socket)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a30ba07976c97a30115821e7d9cf01a17">SendConnectionRequest</a>(const char *host, unsigned short remotePort, const char *passwordData, int passwordDataLength, PublicKey *publicKey, unsigned connectionSocketIndex, unsigned int extraData, unsigned sendConnectionAttemptCount, unsigned timeBetweenSendConnectionAttemptsMS, SLNet::TimeMS timeoutTime)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a011ef2f7f56b13ecd8a8ef41ba4a4993">SendImmediate</a>(char *data, BitSize_t numberOfBitsToSend, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast, bool useCallerDataAllocation, SLNet::TimeUS currentTime, uint32_t receipt)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#abaeaf1511ffafcd3e506bb051438ccef">SendList</a>(const char **data, const int *lengths, const int numParameters, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast, uint32_t forceReceiptNumber=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a888819dc988a3282c41db84ee0a00b6e">SendLoopback</a>(const char *data, const int length)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a027c0f3a45a90ec530e0ba8113f7f5a4">SendOutOfBand</a>(const char *host, unsigned short remotePort, const char *data, BitSize_t dataLength, unsigned connectionSocketIndex=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa806e89a017fb5121744ff979c4304c9">sendReceiptSerial</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a4871927ec9c825744361555fdbe534fc">sendReceiptSerialMutex</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ababf4af38512fb961f29cfc284dfeb22">SendTTL</a>(const char *host, unsigned short remotePort, int ttl, unsigned connectionSocketIndex=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8963cfc503044766fde1e73d3a92e245">SetIncomingDatagramEventHandler</a>(bool(*_incomingDatagramEventHandler)(RNS2RecvStruct *))</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa6daafe75bfe4882aa46f32cb753378c">SetIncomingPassword</a>(const char *passwordData, int passwordDataLength)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a0286c12b2815b3f5a2bb1255cc5880df">SetInternalID</a>(SystemAddress systemAddress, int index=0)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7aa96b5a724a9cfb9b4c53e84ccdce04">SetLimitIPConnectionFrequency</a>(bool b)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ad2004ca40f0a88ca24f70196321d48c8">SetMaximumIncomingConnections</a>(unsigned short numberAllowed)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8324e15260b26b92abb204ed9f04ff57">SetOccasionalPing</a>(bool doPing)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a7d7601d2d7114c454829c655dc9e79c7">SetOfflinePingResponse</a>(const char *data, const unsigned int length)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a43eacd3c80d27df603fe9be59174359b">SetPerConnectionOutgoingBandwidthLimit</a>(unsigned maxBitsPerSecond)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac1cb3f6aeaa842c721bbe4a3d74c3d5d">SetSplitMessageProgressInterval</a>(int interval)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ad56d9ad6b36464598a81c02caa59a716">SetTimeoutTime</a>(SLNet::TimeMS timeMS, const SystemAddress target)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac9967f5f19f8d1bdbdc50f12095e1e1f">SetUnreliableTimeout</a>(SLNet::TimeMS timeoutMS)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac35b89a689580275d89b01f7b7da8e5c">SetupBufferedPackets</a>(void)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae4f6b423d9968af6edccfd79f95901a6">SetUserUpdateThread</a>(void(*_userUpdateThreadPtr)(RakPeerInterface *, void *), void *_userUpdateThreadData)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ac1dc88400a0218fd22ed94c0db10b06f">ShiftIncomingTimestamp</a>(unsigned char *data, const SystemAddress &amp;systemAddress) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aab69808cd87c19f1800ac36d8c8e584c">Shutdown</a>(unsigned int blockDuration, unsigned char orderingChannel=0, PacketPriority disconnectionNotificationPriority=LOW_PRIORITY)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a6b259e14ae3bf3ebdf93c59ede553d2c">socketList</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a2d2dca20a6429d6ed77a3d9712f82d86">socketQueryOutput</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#aa16cc05e426a8198b7da1871aef9bcb2">splitMessageProgressInterval</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a14b965efa7972eade5cf3ddf9cd743b2">Startup</a>(unsigned int maxConnections, SocketDescriptor *socketDescriptors, unsigned socketDescriptorCount, int threadPriority=-99999)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a3e082e4a011aae7dd8b8451771baa215">trackFrequencyTable</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a78c3f7d32278a2dca98007b0db041e1c">unreliableTimeout</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ab52a1730cc72f9294855b6660fb2fa06">updateCycleIsRunning</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a28a260ba6e476355e67a7c794f4f54d2">userUpdateThreadData</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a20fcdb099d34697499fac5cc66c3cc3a">userUpdateThreadPtr</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a8f3967447435d11f7fcb8ca790e19050">ValidateRemoteSystemLookup</a>(void) const </td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a708fd2dfcf949f53198c2ed8aad1d0ec">validationInteger</a></td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#ae6bc0eceacf0fcaa8054ff5f58264fde">WriteOutOfBandHeader</a>(SLNet::BitStream *bitStream)</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml#a107b5d6bae255046e88fc5c96e991719">~RakPeer</a>()</td><td class="entry"><a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml">SLNet::RakPeer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml#a80e1bedeb306c872cae6cbc7ef6e0c9d">~RakPeerInterface</a>()</td><td class="entry"><a class="el" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml">SLNet::RakPeerInterface</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml#aca8edf94371a08d9c972faf2ba5102e6">~RNS2EventHandler</a>()</td><td class="entry"><a class="el" href="../../d5/da8/class_s_l_net_1_1_r_n_s2_event_handler.xhtml">SLNet::RNS2EventHandler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,147 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d87/class_s_l_net_1_1_file_list.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::FileList Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#abdbf501cbb0ff9da8b7b1f8ba82d871a">AddCallback</a>(FileListProgress *cb)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9917e711caf02c3ce7ebbfd09cef6868">AddFile</a>(const char *filename, const char *fullPathToFile, const char *data, const unsigned dataLength, const unsigned fileLength, FileListNodeContext context, bool isAReference=false, bool takeDataPointer=false)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a298966e2e5182a4fa3c217639d86aeaf">AddFile</a>(const char *filepath, const char *filename, FileListNodeContext context)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9491361dcaa7cfefc751ae73ff3a49a4">AddFilesFromDirectory</a>(const char *applicationDirectory, const char *subDirectory, bool writeHash, bool writeData, bool recursive, FileListNodeContext context)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a923bc78eedcd71f5279399eb2fc07f3c">Clear</a>(void)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a2455084df77821aa4e5f2b01f2ea2b73">ClearCallbacks</a>(void)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a6fd1833f922daaa1b079dbea6ed7ead8">DeleteFiles</a>(const char *applicationDirectory)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a51a1f369424577edcfd6d476272ace14">Deserialize</a>(SLNet::BitStream *inBitStream)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aba78be96dad9e9014e2392cae3d731eb">fileList</a></td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a19ab0e14e22582685586ef566f211198">FileList</a>()</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aee849214ab2bea4516ebc91f3af56dbb">fileListProgressCallbacks</a></td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a65dc316d9f3e4ad6a6a22a0b0649b1f9">FixEndingSlash</a>(char *str)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a658f7465415cbd4444b849fea0b9d2c4">FixEndingSlash</a>(char *str, size_t strLength)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9ac96052c10248bd8fce56a78f9fdcca">FlagFilesAsReferences</a>(void)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#af59721be7f19d6bbb3baa14061d926b9">GetCallbacks</a>(DataStructures::List&lt; FileListProgress * &gt; &amp;callbacks)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aad3afd0c0f5accb17476ab3aed4fb7b5">GetDeltaToCurrent</a>(FileList *input, FileList *output, const char *dirSubset, const char *remoteSubdir)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a846fb0d2eb9eff53f5103f2d9e962242">ListMissingOrChangedFiles</a>(const char *applicationDirectory, FileList *missingOrChangedFiles, bool alwaysWriteHash, bool neverWriteHash)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#ac2e392c9949c56e41cd7036cf14f5419">PopulateDataFromDisk</a>(const char *applicationDirectory, bool writeFileData, bool writeFileHash, bool removeUnknownFiles)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#aca0443f0d4771dba26fdba7eed4be7d0">RemoveCallback</a>(FileListProgress *cb)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a9481041b75367785c2e95af276820c8d">Serialize</a>(SLNet::BitStream *outBitStream)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#a1fa59189fddf396376b25f38d09dc943">WriteDataToDisk</a>(const char *applicationDirectory)</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml#ac634bf7d1ae56e8aaa5da11449dffee1">~FileList</a>()</td><td class="entry"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">SLNet::FileList</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,125 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/assert.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/da7/assert_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">assert.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="../../dc/da7/assert_8h_source.xhtml">assert.h</a>&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../d8/db0/defines_8h_source.xhtml">defines.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/da7/assert_8h_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/da7/assert_8h.xhtml">assert.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,138 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/assert.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/da7/assert_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">assert.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/da7/assert_8h.xhtml">Go to the documentation of this file.</a><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) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../dc/da7/assert_8h.xhtml">assert.h</a>&gt;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d8/db0/defines_8h.xhtml">defines.h</a>&quot;</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/da7/assert_8h.xhtml">assert.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
<map id="SLNet::PacketFileLogger" name="SLNet::PacketFileLogger">
<area shape="rect" id="node2" href="$dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger" title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag..." alt="" coords="5,380,216,751"/>
<area shape="rect" id="node3" href="$de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}" alt="" coords="20,5,201,332"/>
</map>

View File

@ -0,0 +1 @@
32307f54425ef02c671ce31d76050210

View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::PacketFileLogger Pages: 1 -->
<!--zoomable 694 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 166;
var viewHeight = 694;
var sectionId = 'dynsection-1';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>SLNet::PacketFileLogger</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="16.5,-0.5 16.5,-90.5 141.5,-90.5 141.5,-0.5 16.5,-0.5"/>
<text text-anchor="middle" x="79" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketFileLogger</text>
<polyline fill="none" stroke="black" points="16.5,-71.5 141.5,-71.5 "/>
<text text-anchor="start" x="24.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00"># packetLogFile</text>
<polyline fill="none" stroke="black" points="16.5,-52.5 141.5,-52.5 "/>
<text text-anchor="start" x="24.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketFileLogger()</text>
<text text-anchor="start" x="24.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketFileLogger()</text>
<text text-anchor="start" x="24.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StartLog()</text>
<text text-anchor="start" x="24.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteLog()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger" target="_top" xlink:title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag...">
<polygon fill="none" stroke="black" points="0,-127.5 0,-404.5 158,-404.5 158,-127.5 0,-127.5"/>
<text text-anchor="middle" x="79" y="-392.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketLogger</text>
<polyline fill="none" stroke="black" points="0,-385.5 158,-385.5 "/>
<text text-anchor="start" x="8" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00"># logDirectMessages</text>
<text text-anchor="start" x="8" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00"># printId</text>
<text text-anchor="start" x="8" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"># printAcks</text>
<text text-anchor="start" x="8" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00"># prefix</text>
<text text-anchor="start" x="8" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00"># suffix</text>
<polyline fill="none" stroke="black" points="0,-322.5 158,-322.5 "/>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketLogger()</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketLogger()</text>
<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDirectSocketSend()</text>
<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDirectSocketReceive()</text>
<text text-anchor="start" x="8" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReliabilityLayerNotification()</text>
<text text-anchor="start" x="8" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnInternalPacket()</text>
<text text-anchor="start" x="8" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<text text-anchor="start" x="8" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BaseIDTOString()</text>
<text text-anchor="start" x="8" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"># UsesReliabilityLayer()</text>
<text text-anchor="start" x="8" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IDTOString()</text>
<text text-anchor="start" x="8" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToLog()</text>
<text text-anchor="start" x="8" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"># UserIDTOString()</text>
<text text-anchor="start" x="8" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetLocalTime()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M79,-117.055C79,-107.808 79,-98.9864 79,-90.906"/>
<polygon fill="none" stroke="midnightblue" points="75.5001,-117.241 79,-127.241 82.5001,-117.241 75.5001,-117.241"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" target="_top" xlink:title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}">
<polygon fill="none" stroke="black" points="11,-441.5 11,-685.5 147,-685.5 147,-441.5 11,-441.5"/>
<text text-anchor="middle" x="79" y="-673.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="11,-666.5 147,-666.5 "/>
<text text-anchor="start" x="19" y="-654.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="19" y="-643.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="11,-636.5 147,-636.5 "/>
<text text-anchor="start" x="19" y="-624.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="19" y="-613.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="19" y="-602.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="19" y="-591.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="19" y="-580.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="19" y="-569.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="19" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="19" y="-547.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="19" y="-536.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="19" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="19" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="19" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="19" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="19" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="19" y="-470.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="19" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="19" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DeallocPacketUnified()</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge"><title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M79,-431.184C79,-422.397 79,-413.531 79,-404.713"/>
<polygon fill="none" stroke="midnightblue" points="75.5001,-431.456 79,-441.456 82.5001,-431.456 75.5001,-431.456"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_s_l_net_1_1_packet_file_logger__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: SLNet::PacketFileLogger Pages: 1 -->
<svg width="166pt" height="694pt"
viewBox="0.00 0.00 166.00 694.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 690)">
<title>SLNet::PacketFileLogger</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="16.5,-0.5 16.5,-90.5 141.5,-90.5 141.5,-0.5 16.5,-0.5"/>
<text text-anchor="middle" x="79" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketFileLogger</text>
<polyline fill="none" stroke="black" points="16.5,-71.5 141.5,-71.5 "/>
<text text-anchor="start" x="24.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00"># packetLogFile</text>
<polyline fill="none" stroke="black" points="16.5,-52.5 141.5,-52.5 "/>
<text text-anchor="start" x="24.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketFileLogger()</text>
<text text-anchor="start" x="24.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketFileLogger()</text>
<text text-anchor="start" x="24.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StartLog()</text>
<text text-anchor="start" x="24.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteLog()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger" target="_top" xlink:title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag...">
<polygon fill="none" stroke="black" points="0,-127.5 0,-404.5 158,-404.5 158,-127.5 0,-127.5"/>
<text text-anchor="middle" x="79" y="-392.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PacketLogger</text>
<polyline fill="none" stroke="black" points="0,-385.5 158,-385.5 "/>
<text text-anchor="start" x="8" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00"># logDirectMessages</text>
<text text-anchor="start" x="8" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00"># printId</text>
<text text-anchor="start" x="8" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00"># printAcks</text>
<text text-anchor="start" x="8" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00"># prefix</text>
<text text-anchor="start" x="8" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00"># suffix</text>
<polyline fill="none" stroke="black" points="0,-322.5 158,-322.5 "/>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PacketLogger()</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PacketLogger()</text>
<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FormatLine()</text>
<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDirectSocketSend()</text>
<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDirectSocketReceive()</text>
<text text-anchor="start" x="8" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReliabilityLayerNotification()</text>
<text text-anchor="start" x="8" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnInternalPacket()</text>
<text text-anchor="start" x="8" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<text text-anchor="start" x="8" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BaseIDTOString()</text>
<text text-anchor="start" x="8" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"># UsesReliabilityLayer()</text>
<text text-anchor="start" x="8" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IDTOString()</text>
<text text-anchor="start" x="8" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToLog()</text>
<text text-anchor="start" x="8" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"># UserIDTOString()</text>
<text text-anchor="start" x="8" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetLocalTime()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M79,-117.055C79,-107.808 79,-98.9864 79,-90.906"/>
<polygon fill="none" stroke="midnightblue" points="75.5001,-117.241 79,-127.241 82.5001,-117.241 75.5001,-117.241"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2" target="_top" xlink:title="{SLNet::PluginInterface2\n|# rakPeerInterface\l# tcpInterface\l|+ PluginInterface2()\l+ ~PluginInterface2()\l+ OnAttach()\l+ OnDetach()\l+ Update()\l+ OnReceive()\l+ OnRakPeerStartup()\l+ OnRakPeerShutdown()\l+ OnClosedConnection()\l+ OnNewConnection()\land 12 more...\l# SendUnified()\l# SendUnified()\l# SendListUnified()\l# AllocatePacketUnified()\l# PushBackPacketUnified()\l# DeallocPacketUnified()\l}">
<polygon fill="none" stroke="black" points="11,-441.5 11,-685.5 147,-685.5 147,-441.5 11,-441.5"/>
<text text-anchor="middle" x="79" y="-673.5" font-family="Helvetica,sans-Serif" font-size="10.00">SLNet::PluginInterface2</text>
<polyline fill="none" stroke="black" points="11,-666.5 147,-666.5 "/>
<text text-anchor="start" x="19" y="-654.5" font-family="Helvetica,sans-Serif" font-size="10.00"># rakPeerInterface</text>
<text text-anchor="start" x="19" y="-643.5" font-family="Helvetica,sans-Serif" font-size="10.00"># tcpInterface</text>
<polyline fill="none" stroke="black" points="11,-636.5 147,-636.5 "/>
<text text-anchor="start" x="19" y="-624.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PluginInterface2()</text>
<text text-anchor="start" x="19" y="-613.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PluginInterface2()</text>
<text text-anchor="start" x="19" y="-602.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnAttach()</text>
<text text-anchor="start" x="19" y="-591.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnDetach()</text>
<text text-anchor="start" x="19" y="-580.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
<text text-anchor="start" x="19" y="-569.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnReceive()</text>
<text text-anchor="start" x="19" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerStartup()</text>
<text text-anchor="start" x="19" y="-547.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnRakPeerShutdown()</text>
<text text-anchor="start" x="19" y="-536.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnClosedConnection()</text>
<text text-anchor="start" x="19" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ OnNewConnection()</text>
<text text-anchor="start" x="19" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="19" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="19" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendUnified()</text>
<text text-anchor="start" x="19" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SendListUnified()</text>
<text text-anchor="start" x="19" y="-470.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocatePacketUnified()</text>
<text text-anchor="start" x="19" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00"># PushBackPacketUnified()</text>
<text text-anchor="start" x="19" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DeallocPacketUnified()</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge"><title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M79,-431.184C79,-422.397 79,-413.531 79,-404.713"/>
<polygon fill="none" stroke="midnightblue" points="75.5001,-431.456 79,-441.456 82.5001,-431.456 75.5001,-431.456"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,11 @@
var _variadic_s_q_l_parser_8h =
[
[ "IndexAndType", "d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type", [
[ "strIndex", "d4/d4e/namespace_variadic_s_q_l_parser.xhtml#aac47b5fb94abaa046821cd7c422a7708", null ],
[ "typeMappingIndex", "d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a2b3dd0aa69baa4626c2fb2aa0c09109c", null ]
] ],
[ "ExtractArguments", "dc/da9/_variadic_s_q_l_parser_8h.xhtml#a0341ca389a63b8a76acbed14c5d6161b", null ],
[ "FreeArguments", "dc/da9/_variadic_s_q_l_parser_8h.xhtml#a722f357d6841bef7839746a3ed3f5852", null ],
[ "GetTypeMappingAtIndex", "dc/da9/_variadic_s_q_l_parser_8h.xhtml#a4ed55da72e30a870bf5f3330ac729afd", null ],
[ "GetTypeMappingIndices", "dc/da9/_variadic_s_q_l_parser_8h.xhtml#a0bd6079d53e7682a3db950b9fbd135bf", null ]
];

View File

@ -0,0 +1,181 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/VariadicSQLParser.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/da9/_variadic_s_q_l_parser_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">VariadicSQLParser.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d9/d7f/_d_s___list_8h_source.xhtml">DS_List.h</a>&quot;</code><br/>
<code>#include &lt;stdarg.h&gt;</code><br/>
</div>
<p><a href="../../dc/da9/_variadic_s_q_l_parser_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">VariadicSQLParser::IndexAndType</a></td></tr>
<tr class="separator:de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d4/d4e/namespace_variadic_s_q_l_parser"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml">VariadicSQLParser</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4ed55da72e30a870bf5f3330ac729afd"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a4ed55da72e30a870bf5f3330ac729afd">VariadicSQLParser::GetTypeMappingAtIndex</a> (int i)</td></tr>
<tr class="separator:a4ed55da72e30a870bf5f3330ac729afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bd6079d53e7682a3db950b9fbd135bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a0bd6079d53e7682a3db950b9fbd135bf">VariadicSQLParser::GetTypeMappingIndices</a> (const char *format, <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;indices)</td></tr>
<tr class="separator:a0bd6079d53e7682a3db950b9fbd135bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0341ca389a63b8a76acbed14c5d6161b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a0341ca389a63b8a76acbed14c5d6161b">VariadicSQLParser::ExtractArguments</a> (va_list argptr, const <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;indices, char ***argumentBinary, int **argumentLengths)</td></tr>
<tr class="separator:a0341ca389a63b8a76acbed14c5d6161b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a722f357d6841bef7839746a3ed3f5852"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a722f357d6841bef7839746a3ed3f5852">VariadicSQLParser::FreeArguments</a> (const <a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt; <a class="el" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a> &gt; &amp;indices, char **argumentBinary, int *argumentLengths)</td></tr>
<tr class="separator:a722f357d6841bef7839746a3ed3f5852"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Class Documentation</h2>
<a name="de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type" id="de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct VariadicSQLParser::IndexAndType</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p>Definition at line <a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h_source.xhtml#l00020">20</a> of file <a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h_source.xhtml">VariadicSQLParser.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aac47b5fb94abaa046821cd7c422a7708"></a>unsigned int</td>
<td class="fieldname">
strIndex</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2b3dd0aa69baa4626c2fb2aa0c09109c"></a>unsigned int</td>
<td class="fieldname">
typeMappingIndex</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h.xhtml">VariadicSQLParser.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,155 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/VariadicSQLParser.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/da9/_variadic_s_q_l_parser_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">VariadicSQLParser.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/da9/_variadic_s_q_l_parser_8h.xhtml">Go to the documentation of this file.</a><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) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#ifndef __VARIADIC_SQL_PARSER_H</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __VARIADIC_SQL_PARSER_H</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d7f/_d_s___list_8h.xhtml">DS_List.h</a>&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml"> 18</a></span>&#160;<span class="keyword">namespace </span>VariadicSQLParser</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;{</div>
<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml"> 20</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#de/d0f/struct_variadic_s_q_l_parser_1_1_index_and_type">IndexAndType</a></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"><a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#aac47b5fb94abaa046821cd7c422a7708"> 22</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#aac47b5fb94abaa046821cd7c422a7708">strIndex</a>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a2b3dd0aa69baa4626c2fb2aa0c09109c"> 23</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a2b3dd0aa69baa4626c2fb2aa0c09109c">typeMappingIndex</a>;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; };</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a4ed55da72e30a870bf5f3330ac729afd">GetTypeMappingAtIndex</a>(<span class="keywordtype">int</span> i);</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a0bd6079d53e7682a3db950b9fbd135bf">GetTypeMappingIndices</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *format, <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;IndexAndType&gt;</a> &amp;indices );</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="comment">// Given an SQL string with variadic arguments, allocate argumentBinary and argumentLengths, and hold the parameters in binary format</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="comment">// Last 2 parameters are out parameters</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a0341ca389a63b8a76acbed14c5d6161b">ExtractArguments</a>( va_list argptr, <span class="keyword">const</span> <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;IndexAndType&gt;</a> &amp;indices, <span class="keywordtype">char</span> ***argumentBinary, <span class="keywordtype">int</span> **argumentLengths );</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d4/d4e/namespace_variadic_s_q_l_parser.xhtml#a722f357d6841bef7839746a3ed3f5852">FreeArguments</a>(<span class="keyword">const</span> <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml" title="Array based implementation of a list.">DataStructures::List&lt;IndexAndType&gt;</a> &amp;indices, <span class="keywordtype">char</span> **argumentBinary, <span class="keywordtype">int</span> *argumentLengths);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/da9/_variadic_s_q_l_parser_8h.xhtml">VariadicSQLParser.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,29 @@
var class_data_structures_1_1_map =
[
[ "MapNode", "df/d7b/struct_data_structures_1_1_map_1_1_map_node.xhtml", "df/d7b/struct_data_structures_1_1_map_1_1_map_node" ],
[ "Map", "dc/da9/class_data_structures_1_1_map.xhtml#a122af88527b9e7ed41d72f86064bcf27", null ],
[ "~Map", "dc/da9/class_data_structures_1_1_map.xhtml#a69f77bd0f72b8292b6f0fb134409aa05", null ],
[ "Map", "dc/da9/class_data_structures_1_1_map.xhtml#a5e7e6f886dc9dfe2e51f576bc492af9f", null ],
[ "Clear", "dc/da9/class_data_structures_1_1_map.xhtml#a2d01e7c2be0ebd431ada0da5f3ebe98f", null ],
[ "Delete", "dc/da9/class_data_structures_1_1_map.xhtml#af7be78b0821c0a775b3f0acfd7560abe", null ],
[ "Get", "dc/da9/class_data_structures_1_1_map.xhtml#a3514ebacc6a333e824d4fda7382275df", null ],
[ "GetIndexAtKey", "dc/da9/class_data_structures_1_1_map.xhtml#aacb6191d7d678267acc8bf6286033b21", null ],
[ "GetKeyAtIndex", "dc/da9/class_data_structures_1_1_map.xhtml#a9472d4b96dd3a7919819120c6a1c1466", null ],
[ "Has", "dc/da9/class_data_structures_1_1_map.xhtml#ac4620bb554cace55c0f093abafad01d9", null ],
[ "HasSavedSearchResult", "dc/da9/class_data_structures_1_1_map.xhtml#ab3fd77fe360c86c40332ee05d2dcfeed", null ],
[ "IMPLEMENT_DEFAULT_COMPARISON", "dc/da9/class_data_structures_1_1_map.xhtml#a5ff3a8c0572c98d5c2efa3e1380c77d5", null ],
[ "NodeComparisonFunc", "dc/da9/class_data_structures_1_1_map.xhtml#a4737e24f5ae78118399dbeb80d2bd8a7", null ],
[ "operator=", "dc/da9/class_data_structures_1_1_map.xhtml#a8a100e16ebbae848f9ef51892bc41cdb", null ],
[ "operator[]", "dc/da9/class_data_structures_1_1_map.xhtml#a18776c79d20486b7bd48e2e90b9c8005", null ],
[ "Pop", "dc/da9/class_data_structures_1_1_map.xhtml#a59bf633e857535b30db9bc81531bd5c3", null ],
[ "RemoveAtIndex", "dc/da9/class_data_structures_1_1_map.xhtml#ab746756b18b120eed088420d9e289c0e", null ],
[ "SaveLastSearch", "dc/da9/class_data_structures_1_1_map.xhtml#a5b781a91324274f597aaabde5b3d6c51", null ],
[ "Set", "dc/da9/class_data_structures_1_1_map.xhtml#a835a751752d457c333853bfecd30e9b0", null ],
[ "SetExisting", "dc/da9/class_data_structures_1_1_map.xhtml#ac1af66c855c322746bca61e7b9b26e8d", null ],
[ "SetNew", "dc/da9/class_data_structures_1_1_map.xhtml#a101bf20cd6e9a46ed582618a48a1cfb4", null ],
[ "Size", "dc/da9/class_data_structures_1_1_map.xhtml#ad33475fbf642a7df45a48d9f453c3566", null ],
[ "lastSearchIndex", "dc/da9/class_data_structures_1_1_map.xhtml#a56fa2a6d431b06152fb0cd9b9f7ae1e5", null ],
[ "lastSearchIndexValid", "dc/da9/class_data_structures_1_1_map.xhtml#acf98e8afa54e3a773569f719802bb47a", null ],
[ "lastSearchKey", "dc/da9/class_data_structures_1_1_map.xhtml#aceac06eff85ef63c2e1e49e65e74f0f3", null ],
[ "mapNodeList", "dc/da9/class_data_structures_1_1_map.xhtml#a6da1ceaa9a89aacf8469576a09e2bb33", null ]
];

View File

@ -0,0 +1,860 @@
<!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"/>
<title>SLikeNet: DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt; Class Template 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/da9/class_data_structures_1_1_map.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../d8/de6/class_data_structures_1_1_map-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">slikenet/DS_Map.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="../../closed.png" alt="+"/> Inheritance diagram for DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d9/dcc/class_data_structures_1_1_map__inherit__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7b/struct_data_structures_1_1_map_1_1_map_node.xhtml">MapNode</a></td></tr>
<tr class="separator:"><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:a122af88527b9e7ed41d72f86064bcf27"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a122af88527b9e7ed41d72f86064bcf27">Map</a> ()</td></tr>
<tr class="separator:a122af88527b9e7ed41d72f86064bcf27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69f77bd0f72b8292b6f0fb134409aa05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a69f77bd0f72b8292b6f0fb134409aa05">~Map</a> ()</td></tr>
<tr class="separator:a69f77bd0f72b8292b6f0fb134409aa05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e7e6f886dc9dfe2e51f576bc492af9f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a5e7e6f886dc9dfe2e51f576bc492af9f">Map</a> (const <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a> &amp;original_copy)</td></tr>
<tr class="separator:a5e7e6f886dc9dfe2e51f576bc492af9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a100e16ebbae848f9ef51892bc41cdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a8a100e16ebbae848f9ef51892bc41cdb">operator=</a> (const <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a> &amp;original_copy)</td></tr>
<tr class="separator:a8a100e16ebbae848f9ef51892bc41cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3514ebacc6a333e824d4fda7382275df"><td class="memItemLeft" align="right" valign="top">data_type &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a3514ebacc6a333e824d4fda7382275df">Get</a> (const key_type &amp;key) const </td></tr>
<tr class="separator:a3514ebacc6a333e824d4fda7382275df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59bf633e857535b30db9bc81531bd5c3"><td class="memItemLeft" align="right" valign="top">data_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a59bf633e857535b30db9bc81531bd5c3">Pop</a> (const key_type &amp;key)</td></tr>
<tr class="separator:a59bf633e857535b30db9bc81531bd5c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a835a751752d457c333853bfecd30e9b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a835a751752d457c333853bfecd30e9b0">Set</a> (const key_type &amp;key, const data_type &amp;data)</td></tr>
<tr class="separator:a835a751752d457c333853bfecd30e9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1af66c855c322746bca61e7b9b26e8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#ac1af66c855c322746bca61e7b9b26e8d">SetExisting</a> (const key_type &amp;key, const data_type &amp;data)</td></tr>
<tr class="separator:ac1af66c855c322746bca61e7b9b26e8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101bf20cd6e9a46ed582618a48a1cfb4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a101bf20cd6e9a46ed582618a48a1cfb4">SetNew</a> (const key_type &amp;key, const data_type &amp;data)</td></tr>
<tr class="separator:a101bf20cd6e9a46ed582618a48a1cfb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4620bb554cace55c0f093abafad01d9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#ac4620bb554cace55c0f093abafad01d9">Has</a> (const key_type &amp;key) const </td></tr>
<tr class="separator:ac4620bb554cace55c0f093abafad01d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7be78b0821c0a775b3f0acfd7560abe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#af7be78b0821c0a775b3f0acfd7560abe">Delete</a> (const key_type &amp;key)</td></tr>
<tr class="separator:af7be78b0821c0a775b3f0acfd7560abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18776c79d20486b7bd48e2e90b9c8005"><td class="memItemLeft" align="right" valign="top">data_type &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a18776c79d20486b7bd48e2e90b9c8005">operator[]</a> (const unsigned int position) const </td></tr>
<tr class="separator:a18776c79d20486b7bd48e2e90b9c8005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9472d4b96dd3a7919819120c6a1c1466"><td class="memItemLeft" align="right" valign="top">key_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a9472d4b96dd3a7919819120c6a1c1466">GetKeyAtIndex</a> (const unsigned int position) const </td></tr>
<tr class="separator:a9472d4b96dd3a7919819120c6a1c1466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacb6191d7d678267acc8bf6286033b21"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#aacb6191d7d678267acc8bf6286033b21">GetIndexAtKey</a> (const key_type &amp;key)</td></tr>
<tr class="separator:aacb6191d7d678267acc8bf6286033b21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab746756b18b120eed088420d9e289c0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#ab746756b18b120eed088420d9e289c0e">RemoveAtIndex</a> (const unsigned index)</td></tr>
<tr class="separator:ab746756b18b120eed088420d9e289c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d01e7c2be0ebd431ada0da5f3ebe98f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a2d01e7c2be0ebd431ada0da5f3ebe98f">Clear</a> (void)</td></tr>
<tr class="separator:a2d01e7c2be0ebd431ada0da5f3ebe98f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad33475fbf642a7df45a48d9f453c3566"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#ad33475fbf642a7df45a48d9f453c3566">Size</a> (void) const </td></tr>
<tr class="separator:ad33475fbf642a7df45a48d9f453c3566"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a5ff3a8c0572c98d5c2efa3e1380c77d5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a5ff3a8c0572c98d5c2efa3e1380c77d5">IMPLEMENT_DEFAULT_COMPARISON</a> (void)</td></tr>
<tr class="separator:a5ff3a8c0572c98d5c2efa3e1380c77d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4737e24f5ae78118399dbeb80d2bd8a7"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a4737e24f5ae78118399dbeb80d2bd8a7">NodeComparisonFunc</a> (const key_type &amp;a, const <a class="el" href="../../df/d7b/struct_data_structures_1_1_map_1_1_map_node.xhtml">MapNode</a> &amp;b)</td></tr>
<tr class="separator:a4737e24f5ae78118399dbeb80d2bd8a7"><td class="memSeparator" colspan="2">&#160;</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:a5b781a91324274f597aaabde5b3d6c51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a5b781a91324274f597aaabde5b3d6c51">SaveLastSearch</a> (const key_type &amp;key, unsigned index) const </td></tr>
<tr class="separator:a5b781a91324274f597aaabde5b3d6c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3fd77fe360c86c40332ee05d2dcfeed"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#ab3fd77fe360c86c40332ee05d2dcfeed">HasSavedSearchResult</a> (const key_type &amp;key) const </td></tr>
<tr class="separator:ab3fd77fe360c86c40332ee05d2dcfeed"><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:a6da1ceaa9a89aacf8469576a09e2bb33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList</a><br class="typebreak"/>
&lt; key_type, <a class="el" href="../../df/d7b/struct_data_structures_1_1_map_1_1_map_node.xhtml">MapNode</a>,&amp;<a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a4737e24f5ae78118399dbeb80d2bd8a7">Map::NodeComparisonFunc</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a6da1ceaa9a89aacf8469576a09e2bb33">mapNodeList</a></td></tr>
<tr class="separator:a6da1ceaa9a89aacf8469576a09e2bb33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56fa2a6d431b06152fb0cd9b9f7ae1e5"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a56fa2a6d431b06152fb0cd9b9f7ae1e5">lastSearchIndex</a></td></tr>
<tr class="separator:a56fa2a6d431b06152fb0cd9b9f7ae1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceac06eff85ef63c2e1e49e65e74f0f3"><td class="memItemLeft" align="right" valign="top">key_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#aceac06eff85ef63c2e1e49e65e74f0f3">lastSearchKey</a></td></tr>
<tr class="separator:aceac06eff85ef63c2e1e49e65e74f0f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf98e8afa54e3a773569f719802bb47a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#acf98e8afa54e3a773569f719802bb47a">lastSearchIndexValid</a></td></tr>
<tr class="separator:acf98e8afa54e3a773569f719802bb47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func = defaultMapKeyComparison&lt;key_type&gt;&gt;<br/>
class DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;</h3>
<dl class="section note"><dt>Note</dt><dd>IMPORTANT! If you use defaultMapKeyComparison then call IMPLEMENT_DEFAULT_COMPARISON or you will get an unresolved external linker error. </dd></dl>
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00047">47</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a122af88527b9e7ed41d72f86064bcf27"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::<a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00102">102</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a69f77bd0f72b8292b6f0fb134409aa05"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::~<a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00108">108</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5e7e6f886dc9dfe2e51f576bc492af9f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::<a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a>&lt; key_type, data_type, key_comparison_func &gt; &amp;&#160;</td>
<td class="paramname"><em>original_copy</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00114">114</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00096">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::lastSearchIndex</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00098">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::lastSearchIndexValid</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00097">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::lastSearchKey</a>, and <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00091">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::mapNodeList</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a2d01e7c2be0ebd431ada0da5f3ebe98f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::Clear </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00282">282</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
</div>
</div>
<a class="anchor" id="af7be78b0821c0a775b3f0acfd7560abe"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::Delete </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00259">259</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00398">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GenerateDisjktraMatrix()</a>.</p>
</div>
</div>
<a class="anchor" id="a3514ebacc6a333e824d4fda7382275df"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">data_type &amp; <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::Get </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00133">133</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
<p>Referenced by <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00404">SLNet::StringCompressor::DecodeString()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00371">SLNet::StringCompressor::EncodeString()</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00398">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GenerateDisjktraMatrix()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00337">SLNet::StringCompressor::GenerateTreeFromStrings()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00332">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetSpanningTree()</a>.</p>
</div>
</div>
<a class="anchor" id="aacb6191d7d678267acc8bf6286033b21"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::GetIndexAtKey </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00147">147</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00398">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GenerateDisjktraMatrix()</a>.</p>
</div>
</div>
<a class="anchor" id="a9472d4b96dd3a7919819120c6a1c1466"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">key_type <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::GetKeyAtIndex </td>
<td>(</td>
<td class="paramtype">const unsigned int&#160;</td>
<td class="paramname"><em>position</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00295">295</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00398">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GenerateDisjktraMatrix()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00332">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetSpanningTree()</a>.</p>
</div>
</div>
<a class="anchor" id="ac4620bb554cace55c0f093abafad01d9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::Has </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00245">245</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00404">SLNet::StringCompressor::DecodeString()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00371">SLNet::StringCompressor::EncodeString()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00337">SLNet::StringCompressor::GenerateTreeFromStrings()</a>, and <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00332">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetSpanningTree()</a>.</p>
</div>
</div>
<a class="anchor" id="ab3fd77fe360c86c40332ee05d2dcfeed"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::HasSavedSearchResult </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const</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>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00320">320</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5ff3a8c0572c98d5c2efa3e1380c77d5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func = defaultMapKeyComparison&lt;key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::IMPLEMENT_DEFAULT_COMPARISON </td>
<td>(</td>
<td class="paramtype">void&#160;</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00050">50</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00327">SLNet::StringCompressor::StringCompressor()</a>.</p>
</div>
</div>
<a class="anchor" id="a4737e24f5ae78118399dbeb80d2bd8a7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func = defaultMapKeyComparison&lt;key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::NodeComparisonFunc </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../df/d7b/struct_data_structures_1_1_map_1_1_map_node.xhtml">MapNode</a> &amp;&#160;</td>
<td class="paramname"><em>b</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">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00063">63</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8a100e16ebbae848f9ef51892bc41cdb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a>&lt; key_type, data_type, key_comparison_func &gt; &amp; <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a>&lt; key_type, data_type, key_comparison_func &gt; &amp;&#160;</td>
<td class="paramname"><em>original_copy</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00123">123</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00096">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::lastSearchIndex</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00098">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::lastSearchIndexValid</a>, <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00097">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::lastSearchKey</a>, and <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00091">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::mapNodeList</a>.</p>
</div>
</div>
<a class="anchor" id="a18776c79d20486b7bd48e2e90b9c8005"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">data_type &amp; <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::operator[] </td>
<td>(</td>
<td class="paramtype">const unsigned int&#160;</td>
<td class="paramname"><em>position</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00289">289</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a59bf633e857535b30db9bc81531bd5c3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">data_type <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::Pop </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00171">171</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="ab746756b18b120eed088420d9e289c0e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::RemoveAtIndex </td>
<td>(</td>
<td class="paramtype">const unsigned&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00164">164</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5b781a91324274f597aaabde5b3d6c51"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::SaveLastSearch </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</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>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00307">307</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a835a751752d457c333853bfecd30e9b0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::Set </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const data_type &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00189">189</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00398">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GenerateDisjktraMatrix()</a>, <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00337">SLNet::StringCompressor::GenerateTreeFromStrings()</a>, and <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00327">SLNet::StringCompressor::StringCompressor()</a>.</p>
</div>
</div>
<a class="anchor" id="ac1af66c855c322746bca61e7b9b26e8d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::SetExisting </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const data_type &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00214">214</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="a101bf20cd6e9a46ed582618a48a1cfb4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::SetNew </td>
<td>(</td>
<td class="paramtype">const key_type &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const data_type &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00234">234</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, and <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>.</p>
</div>
</div>
<a class="anchor" id="ad33475fbf642a7df45a48d9f453c3566"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type , class data_type , int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func&gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::Size </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00301">301</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00398">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GenerateDisjktraMatrix()</a>, <a class="el" href="../../d8/deb/_d_s___weighted_graph_8h_source.xhtml#l00332">DataStructures::WeightedGraph&lt; node_type, weight_type, allow_unlinkedNodes &gt;::GetSpanningTree()</a>, and <a class="el" href="../../d5/df6/_string_compressor_8cpp_source.xhtml#l00365">SLNet::StringCompressor::~StringCompressor()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a56fa2a6d431b06152fb0cd9b9f7ae1e5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func = defaultMapKeyComparison&lt;key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::lastSearchIndex</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>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00096">96</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00114">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Map()</a>, and <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00123">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::operator=()</a>.</p>
</div>
</div>
<a class="anchor" id="acf98e8afa54e3a773569f719802bb47a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func = defaultMapKeyComparison&lt;key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::lastSearchIndexValid</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>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00098">98</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00114">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Map()</a>, and <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00123">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::operator=()</a>.</p>
</div>
</div>
<a class="anchor" id="aceac06eff85ef63c2e1e49e65e74f0f3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func = defaultMapKeyComparison&lt;key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">key_type <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::lastSearchKey</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>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00097">97</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00114">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Map()</a>, and <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00123">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::operator=()</a>.</p>
</div>
</div>
<a class="anchor" id="a6da1ceaa9a89aacf8469576a09e2bb33"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class key_type, class data_type, int(*)(const key_type &amp;, const key_type &amp;) key_comparison_func = defaultMapKeyComparison&lt;key_type&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList</a>&lt; key_type,<a class="el" href="../../df/d7b/struct_data_structures_1_1_map_1_1_map_node.xhtml">MapNode</a>,&amp;<a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml#a4737e24f5ae78118399dbeb80d2bd8a7">Map::NodeComparisonFunc</a> &gt; <a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map</a>&lt; key_type, data_type, key_comparison_func &gt;::mapNodeList</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>Definition at line <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00091">91</a> of file <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>.</p>
<p>Referenced by <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00114">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::Map()</a>, and <a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml#l00123">DataStructures::Map&lt; key_type, data_type, key_comparison_func &gt;::operator=()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></li><li class="navelem"><a class="el" href="../../dc/da9/class_data_structures_1_1_map.xhtml">Map</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,32 @@
var group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p =
[
[ "MessageFilter", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#d4/d96/class_s_l_net_1_1_message_filter", [
[ "MessageFilter", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a53fd8095dfb53af81a93da5f5ecc3fc3", null ],
[ "~MessageFilter", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a93733ea8636af18ca1a46890ca1b2bbf", null ],
[ "Clear", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a3bb569f869d265c8d93e28a70619d3c1", null ],
[ "DeallocateFilterSet", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#aebd244fe6469e2ea82506ff910faf2d5", null ],
[ "DeleteFilterSet", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a654c32fee3693ee896152fe9533f5cbb", null ],
[ "GetFilterSetByID", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a5fdd4a2e3c5c4d86f723694296e33740", null ],
[ "GetFilterSetCount", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#ab8582c945fd25ad7420ced2c10720aec", null ],
[ "GetFilterSetIDByIndex", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#ac301676761d903649683fb10dd758a35", null ],
[ "GetSystemCount", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#ae1dce1d5f6d10db38e6174867c4a5350", null ],
[ "GetSystemFilterSet", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a199bd9254b4e97e9bfc0eae3b2105400", null ],
[ "OnClosedConnection", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a38a8bbeb34d5ab41a1645cfb4dd430f8", null ],
[ "OnInvalidMessage", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a20593244e44856f783e72876de45e283", null ],
[ "OnNewConnection", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a5c3cea2733bad044aa261066af0e1283", null ],
[ "OnReceive", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a544b8d1810ddcf852bcab8ee63d114a6", null ],
[ "SetActionOnDisallowedMessage", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a9e37caab84d92c77668fe8ad593f0a90", null ],
[ "SetAllowMessageID", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a57df7903f2e46eecd56328d912284ff5", null ],
[ "SetAllowRPC4", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#ab760546073778b7a1f68d245aa9df854", null ],
[ "SetAutoAddNewConnectionsToFilter", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a9ac293be1138c5a199735470004fa61e", null ],
[ "SetDisallowedMessageCallback", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a6d2aec761d4f3cac6bee825df6e45e4c", null ],
[ "SetFilterMaxTime", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#af487cd736698189b045694554aec0633", null ],
[ "SetSystemFilterSet", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a9e39305b4a26052a1a9c711218855115", null ],
[ "SetTimeoutCallback", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a9546574effb628561c1cc21181858acd", null ],
[ "Update", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a6f09f1258b7eaaca99ea772e4e934668", null ],
[ "autoAddNewConnectionsToFilter", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#abdad214726dc103ce1ee4303dedcec61", null ],
[ "filterList", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a3b65f3f2faf2f79a73f52fbeeef7171b", null ],
[ "systemList", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#aa92fd69f4d6e665eee21aa16a6383bdd", null ],
[ "whenLastTimeoutCheck", "dc/dba/group___m_e_s_s_a_g_e_f_i_l_t_e_r___g_r_o_u_p.xhtml#a1a2e39a4812a6ce9b7a129ba5d9f8e18", null ]
] ]
];

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
var class_s_l_net_1_1_console_server =
[
[ "ConsoleServer", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a35ea189e5440de9adf7718e884a709b1", null ],
[ "~ConsoleServer", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#abfb752364018ae5b16eefb7ae468084d", null ],
[ "AddCommandParser", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#ab8693b4ab30edf0d588b79028f433777", null ],
[ "ListParsers", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#aa091718623c3ccfb07c4e637168f5213", null ],
[ "RemoveCommandParser", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a852036c6df3cd64aa348802812c429ea", null ],
[ "SetPrompt", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a096ef940c7b82f3f18516f77cb476fa3", null ],
[ "SetTransportProvider", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a99127cc5c9dcb7b71ba3c5c5a207eb2d", null ],
[ "ShowPrompt", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a4fa1c29255db032b4d2e8858994ee1da", null ],
[ "Update", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#aa1252e0250a4b4c46970f10d80badcfd", null ],
[ "commandParserList", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a927689d808bc1c59366adf149ac85330", null ],
[ "password", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#ab36cf7b6cf84726a402ebb09e618798f", null ],
[ "prompt", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a10c06f10673dea6832ff7a57aef873c3", null ],
[ "transport", "dc/dbe/class_s_l_net_1_1_console_server.xhtml#a4c0d97b8baa92178847fa971a9a337a0", null ]
];

View File

@ -0,0 +1,478 @@
<!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"/>
<title>SLikeNet: SLNet::ConsoleServer 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dbe/class_s_l_net_1_1_console_server.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../d2/d66/class_s_l_net_1_1_console_server-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::ConsoleServer Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The main entry point for the server portion of your remote console application support.
<a href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../df/d1c/_console_server_8h_source.xhtml">slikenet/ConsoleServer.h</a>&gt;</code></p>
<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:a35ea189e5440de9adf7718e884a709b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a35ea189e5440de9adf7718e884a709b1">ConsoleServer</a> ()</td></tr>
<tr class="separator:a35ea189e5440de9adf7718e884a709b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfb752364018ae5b16eefb7ae468084d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#abfb752364018ae5b16eefb7ae468084d">~ConsoleServer</a> ()</td></tr>
<tr class="separator:abfb752364018ae5b16eefb7ae468084d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99127cc5c9dcb7b71ba3c5c5a207eb2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a99127cc5c9dcb7b71ba3c5c5a207eb2d">SetTransportProvider</a> (<a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml">TransportInterface</a> *transportInterface, unsigned short port)</td></tr>
<tr class="memdesc:a99127cc5c9dcb7b71ba3c5c5a207eb2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call this with a derivation of <a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> so that the console server can send and receive commands. <a href="#a99127cc5c9dcb7b71ba3c5c5a207eb2d"></a><br/></td></tr>
<tr class="separator:a99127cc5c9dcb7b71ba3c5c5a207eb2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8693b4ab30edf0d588b79028f433777"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#ab8693b4ab30edf0d588b79028f433777">AddCommandParser</a> (<a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">CommandParserInterface</a> *commandParserInterface)</td></tr>
<tr class="memdesc:ab8693b4ab30edf0d588b79028f433777"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an implementation of <a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" title="The interface used by command parsers.">CommandParserInterface</a> to the list of command parsers. <a href="#ab8693b4ab30edf0d588b79028f433777"></a><br/></td></tr>
<tr class="separator:ab8693b4ab30edf0d588b79028f433777"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a852036c6df3cd64aa348802812c429ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a852036c6df3cd64aa348802812c429ea">RemoveCommandParser</a> (<a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">CommandParserInterface</a> *commandParserInterface)</td></tr>
<tr class="memdesc:a852036c6df3cd64aa348802812c429ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an implementation of <a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" title="The interface used by command parsers.">CommandParserInterface</a> previously added with <a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#ab8693b4ab30edf0d588b79028f433777" title="Add an implementation of CommandParserInterface to the list of command parsers.">AddCommandParser()</a>. <a href="#a852036c6df3cd64aa348802812c429ea"></a><br/></td></tr>
<tr class="separator:a852036c6df3cd64aa348802812c429ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1252e0250a4b4c46970f10d80badcfd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#aa1252e0250a4b4c46970f10d80badcfd">Update</a> (void)</td></tr>
<tr class="memdesc:aa1252e0250a4b4c46970f10d80badcfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call update to read packet sent from your <a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a>. You should do this fairly frequently. <a href="#aa1252e0250a4b4c46970f10d80badcfd"></a><br/></td></tr>
<tr class="separator:aa1252e0250a4b4c46970f10d80badcfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a096ef940c7b82f3f18516f77cb476fa3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a096ef940c7b82f3f18516f77cb476fa3">SetPrompt</a> (const char *_prompt)</td></tr>
<tr class="memdesc:a096ef940c7b82f3f18516f77cb476fa3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a prompt to show when waiting for user input. <a href="#a096ef940c7b82f3f18516f77cb476fa3"></a><br/></td></tr>
<tr class="separator:a096ef940c7b82f3f18516f77cb476fa3"><td class="memSeparator" colspan="2">&#160;</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:aa091718623c3ccfb07c4e637168f5213"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#aa091718623c3ccfb07c4e637168f5213">ListParsers</a> (<a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> systemAddress)</td></tr>
<tr class="separator:aa091718623c3ccfb07c4e637168f5213"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fa1c29255db032b4d2e8858994ee1da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a4fa1c29255db032b4d2e8858994ee1da">ShowPrompt</a> (<a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> systemAddress)</td></tr>
<tr class="separator:a4fa1c29255db032b4d2e8858994ee1da"><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:a4c0d97b8baa92178847fa971a9a337a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml">TransportInterface</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a4c0d97b8baa92178847fa971a9a337a0">transport</a></td></tr>
<tr class="separator:a4c0d97b8baa92178847fa971a9a337a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a927689d808bc1c59366adf149ac85330"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a><br class="typebreak"/>
&lt; <a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">CommandParserInterface</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a927689d808bc1c59366adf149ac85330">commandParserList</a></td></tr>
<tr class="separator:a927689d808bc1c59366adf149ac85330"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab36cf7b6cf84726a402ebb09e618798f"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#ab36cf7b6cf84726a402ebb09e618798f">password</a> [256]</td></tr>
<tr class="separator:ab36cf7b6cf84726a402ebb09e618798f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10c06f10673dea6832ff7a57aef873c3"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#a10c06f10673dea6832ff7a57aef873c3">prompt</a></td></tr>
<tr class="separator:a10c06f10673dea6832ff7a57aef873c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The main entry point for the server portion of your remote console application support. </p>
<p><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml" title="The main entry point for the server portion of your remote console application support.">ConsoleServer</a> takes one <a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> and one or more <a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" title="The interface used by command parsers.">CommandParserInterface</a> (s) The <a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> will be used to send data between the server and the client. The connecting client must support the protocol used by your derivation of <a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> . <a class="el" href="../../d3/d41/class_s_l_net_1_1_telnet_transport.xhtml" title="Use TelnetTransport to easily allow windows telnet to connect to your ConsoleServer.">TelnetTransport</a> and RakNetTransport are two such derivations . When a command is sent by a remote console, it will be processed by your implementations of <a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" title="The interface used by command parsers.">CommandParserInterface</a> </p>
<p>Definition at line <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml#l00044">44</a> of file <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml">ConsoleServer.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a35ea189e5440de9adf7718e884a709b1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SLNet::ConsoleServer::ConsoleServer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abfb752364018ae5b16eefb7ae468084d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SLNet::ConsoleServer::~ConsoleServer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab8693b4ab30edf0d588b79028f433777"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::ConsoleServer::AddCommandParser </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">CommandParserInterface</a> *&#160;</td>
<td class="paramname"><em>commandParserInterface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add an implementation of <a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" title="The interface used by command parsers.">CommandParserInterface</a> to the list of command parsers. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">commandParserInterface</td><td>The command parser referred to </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa091718623c3ccfb07c4e637168f5213"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SLNet::ConsoleServer::ListParsers </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a>&#160;</td>
<td class="paramname"><em>systemAddress</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a852036c6df3cd64aa348802812c429ea"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::ConsoleServer::RemoveCommandParser </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">CommandParserInterface</a> *&#160;</td>
<td class="paramname"><em>commandParserInterface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove an implementation of <a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml" title="The interface used by command parsers.">CommandParserInterface</a> previously added with <a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml#ab8693b4ab30edf0d588b79028f433777" title="Add an implementation of CommandParserInterface to the list of command parsers.">AddCommandParser()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">commandParserInterface</td><td>The command parser referred to </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a096ef940c7b82f3f18516f77cb476fa3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::ConsoleServer::SetPrompt </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>_prompt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a prompt to show when waiting for user input. </p>
<p>Pass an empty string to clear the prompt Defaults to no prompt </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">_prompt</td><td>Null-terminated string of the prompt to use. If you want a newline, be sure to use /r/n </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a99127cc5c9dcb7b71ba3c5c5a207eb2d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::ConsoleServer::SetTransportProvider </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml">TransportInterface</a> *&#160;</td>
<td class="paramname"><em>transportInterface</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Call this with a derivation of <a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a> so that the console server can send and receive commands. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">transportInterface</td><td>Your interface to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port to host on. Telnet uses port 23 by default. RakNet can use whatever you want. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a4fa1c29255db032b4d2e8858994ee1da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SLNet::ConsoleServer::ShowPrompt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a>&#160;</td>
<td class="paramname"><em>systemAddress</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa1252e0250a4b4c46970f10d80badcfd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SLNet::ConsoleServer::Update </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Call update to read packet sent from your <a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml" title="Defines an interface that is used to send and receive null-terminated strings.">TransportInterface</a>. You should do this fairly frequently. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a927689d808bc1c59366adf149ac85330"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List</a>&lt;<a class="el" href="../../d5/d9a/class_s_l_net_1_1_command_parser_interface.xhtml">CommandParserInterface</a> *&gt; SLNet::ConsoleServer::commandParserList</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>Definition at line <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml#l00080">80</a> of file <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml">ConsoleServer.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab36cf7b6cf84726a402ebb09e618798f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">char* SLNet::ConsoleServer::password[256]</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>Definition at line <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml#l00081">81</a> of file <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml">ConsoleServer.h</a>.</p>
</div>
</div>
<a class="anchor" id="a10c06f10673dea6832ff7a57aef873c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">char* SLNet::ConsoleServer::prompt</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>Definition at line <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml#l00082">82</a> of file <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml">ConsoleServer.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4c0d97b8baa92178847fa971a9a337a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4e/class_s_l_net_1_1_transport_interface.xhtml">TransportInterface</a>* SLNet::ConsoleServer::transport</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>Definition at line <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml#l00079">79</a> of file <a class="el" href="../../df/d1c/_console_server_8h_source.xhtml">ConsoleServer.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../df/d1c/_console_server_8h_source.xhtml">ConsoleServer.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../dc/dbe/class_s_l_net_1_1_console_server.xhtml">ConsoleServer</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var _bit_stream_8cpp =
[
[ "_copysign", "dc/dc5/_bit_stream_8cpp.xhtml#a64e69a4a3800bf006de7f15006ebde5c", null ]
];

View File

@ -0,0 +1,158 @@
<!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"/>
<title>SLikeNet: Source/src/BitStream.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dc5/_bit_stream_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">BitStream.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml">slikenet/BitStream.h</a>&quot;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">slikenet/SocketIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d8/db0/defines_8h_source.xhtml">slikenet/defines.h</a>&quot;</code><br/>
<code>#include &lt;arpa/inet.h&gt;</code><br/>
<code>#include &lt;memory.h&gt;</code><br/>
<code>#include &lt;cmath&gt;</code><br/>
<code>#include &lt;float.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/db2/linux__adapter_8h_source.xhtml">slikenet/linux_adapter.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/dff/osx__adapter_8h_source.xhtml">slikenet/osx_adapter.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/dc5/_bit_stream_8cpp_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a64e69a4a3800bf006de7f15006ebde5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dc5/_bit_stream_8cpp.xhtml#a64e69a4a3800bf006de7f15006ebde5c">_copysign</a>&#160;&#160;&#160;copysign</td></tr>
<tr class="separator:a64e69a4a3800bf006de7f15006ebde5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a64e69a4a3800bf006de7f15006ebde5c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _copysign&#160;&#160;&#160;copysign</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml#l00053">53</a> of file <a class="el" href="../../dc/dc5/_bit_stream_8cpp_source.xhtml">BitStream.cpp</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/dc5/_bit_stream_8cpp.xhtml">BitStream.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,307 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('df/d75/class_s_l_net_1_1_bit_stream.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SLNet::BitStream Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a823fec57a5ca6638d88aafdc199cb770">AddBitsAndReallocate</a>(const BitSize_t numberOfBitsToWrite)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af64b3663a865840e013f5aef490d891e">AlignReadToByteBoundary</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a1083ab999b52c839709eab5cff65a68d">AlignWriteToByteBoundary</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ab1a8071ceb18c40f5cabb71baeb06cab">AssertCopyData</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8356257038e2f62d42c5f8a7a828e423">AssertStreamEmpty</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af1db2867532d571330d4676cf7a34093">BitStream</a>()</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a21b91524d379f7967a9927309a91d1b8">BitStream</a>(const unsigned int initialBytesToAllocate)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad8b1dab63cf5be0d8b0fe7e3785ac5f3">BitStream</a>(unsigned char *_data, const unsigned int lengthInBytes, bool _copyData)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a382ada68f7a9073ea57e4403d478d391">CopyData</a>(unsigned char **_data) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adc5a85144836608947830e902cca005f">DoEndianSwap</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a758cee77f4ab3a281f62ab11d7270788">EndianSwapBytes</a>(int byteOffset, int length)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7b4099386f6f116f0978b00ead160a0d">GetData</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a757cf284665353e8d3e1bcf5f739f1b2">GetNumberOfBitsAllocated</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a0efe4cd010ac7ccc0a7aa8868e0c54c8">GetNumberOfBitsUsed</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a48740002683b46b00cbb97b8f7d0710e">GetNumberOfBytesUsed</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a89838c39f170290405c95d78b0553e51">GetNumberOfUnreadBits</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a1bbe42adf8f779256b04d5becdafe342">GetReadOffset</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8e2fb36a0d43673e19ea6386e0637f86">GetWriteOffset</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ab527c7971fb48bd480842166736e1fa9">IgnoreBits</a>(const BitSize_t numberOfBits)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a89b340505c7f78ffe59c414f2e761df5">IgnoreBytes</a>(const unsigned int numberOfBytes)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af85ce50757f06bfbd6fc4a88dd24cdae">IsBigEndian</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ae15a547910af2c67bf6398ae1995cfb6">IsNetworkOrder</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac9c35e0d435935618e4297c747b519eb">IsNetworkOrderInternal</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3aefd36be73485fe931841734bc113c4">NumberOfLeadingZeroes</a>(uint8_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2a50366025162d367f6c77a3ee9049f1">NumberOfLeadingZeroes</a>(uint16_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a98e54d7767889411d2a2cd9ac47eb856">NumberOfLeadingZeroes</a>(uint32_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f3c4fef67c6b5c497770ebe06433a1">NumberOfLeadingZeroes</a>(uint64_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8118a578116f83e21003e0eb478ed9a7">NumberOfLeadingZeroes</a>(int8_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af17a8615c1a425a4007218a6a96b5886">NumberOfLeadingZeroes</a>(int16_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad58e8c1b47f406877e83bbc11e7a571b">NumberOfLeadingZeroes</a>(int32_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aaaf7b5288a2ffe1b23ba589cbb776eae">NumberOfLeadingZeroes</a>(int64_t x)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a76ea2ef937a428e9d907a7367fd92b12">PadWithZeroToByteLength</a>(unsigned int bytes)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a4d913e3b4b6dbb248232cff5f6c63373">PrintBits</a>(char *out) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a4b8e314a2333234cb22f19a7f4f8e396">PrintBits</a>(char *out, size_t outLength) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8b1c9bed1a2422958df70b85cba36e15">PrintBits</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a22c60dd2e995a6aa945bc07c26aab6a4">PrintHex</a>(char *out) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a5a2d5125221a47c202a990c4c0431b24">PrintHex</a>(char *out, size_t outLength) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa8d69ec9099a7c6b764d85c5b9dd0bd5">PrintHex</a>(void) const </td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db">Read</a>(templateType &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#afcb7a9e10cbf1f5066eb3bb06ce73bf1">Read</a>(wchar_t *&amp;varString)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a600ecddd3fd2c59947dbfe015748a37e">Read</a>(wchar_t *&amp;varString, size_t varStringLength)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ae568e33ec319a8289adbdb6a6ebc4252">Read</a>(BitStream *bitStream, BitSize_t numberOfBits)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a043431378c29eb8c0416f09c4a8bd5e0">Read</a>(BitStream *bitStream)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a0bc891ac76aa6daf80eeefd19233bb91">Read</a>(BitStream &amp;bitStream, BitSize_t numberOfBits)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2cd5ca3a2fa3184fc4a41628cda502e8">Read</a>(BitStream &amp;bitStream)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac4b75897143fcb32e0c6aa1aede92d75">Read</a>(char *output, const unsigned int numberOfBytes)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7320a2c9aeeb6f24864117d4f2c2fc66">Read</a>(char *varString)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad48af6564699b5cc2716803553734cb6">Read</a>(unsigned char *varString)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3be8fefec92fbe9157069d8be6123a59">Read</a>(bool &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a948cb0ecbfbe927b859fc36b534aa39c">Read</a>(SystemAddress &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#abbedcfef322eae8accfafff707a7395f">Read</a>(uint24_t &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa65e0b4ad1d3f70faa20d22a247c9484">Read</a>(RakNetGUID &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa16880b2d0a00e57f1fb51faef460d6c">Read</a>(RakString &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a73e599a00905d0cf5f7421584fafe1b9">Read</a>(RakWString &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a402aa10d544046397be3912d5c617298">Read</a>(char *&amp;varString)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a562726fbe919605b443ba883ef3cb2d1">Read</a>(unsigned char *&amp;varString)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8770a882b3b97c3ce51d5b0b1a0315e0">ReadAlignedBytes</a>(unsigned char *inOutByteArray, const unsigned int numberOfBytesToRead)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ace8f019740123ef38d358fc824a7e917">ReadAlignedBytesSafe</a>(char *inOutByteArray, int &amp;inputLength, const int maxBytesToRead)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a199b0f44f84b486989b387cba5de2194">ReadAlignedBytesSafe</a>(char *inOutByteArray, unsigned int &amp;inputLength, const unsigned int maxBytesToRead)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac0de4d120c23b53f15b786d2b86d202d">ReadAlignedBytesSafeAlloc</a>(char **outByteArray, int &amp;inputLength, const unsigned int maxBytesToRead)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a55c128fac4d60aceb187058356869e33">ReadAlignedBytesSafeAlloc</a>(char **outByteArray, unsigned int &amp;inputLength, const unsigned int maxBytesToRead)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7d2337062c1c9bd85b5e0344c6b19893">ReadAlignedVar16</a>(char *inOutByteArray)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#abeed6358066f78da4346900c0cea1143">ReadAlignedVar32</a>(char *inOutByteArray)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8e9a550e276c5e5c7cdd94c6090f16c8">ReadAlignedVar8</a>(char *inOutByteArray)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a713747c97050062797ef5d211f583cea">ReadBit</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8b621ad8c094410bc4cb44b24720320f">ReadBits</a>(unsigned char *inOutByteArray, BitSize_t numberOfBitsToRead, const bool alignBitsToRight=true)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#abad130ab2cb67adadf2001496501a2aa">ReadBitsFromIntegerRange</a>(templateType &amp;value, const templateType minimum, const templateType maximum, bool allowOutsideRange=false)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#acb457a394ffdff34693b8ced1d7367ed">ReadBitsFromIntegerRange</a>(templateType &amp;value, const templateType minimum, const templateType maximum, const int requiredBits, bool allowOutsideRange=false)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a544430a7ba9f9dd8b7f49ece417dbc68">ReadCasted</a>(sourceType &amp;value)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac7fcbda7a05b5c7bd7018205cb1bb7b0">ReadCompressed</a>(templateType &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#affbfe9ef2322a2aef7a8ed0e5e67eecb">ReadCompressed</a>(wchar_t *&amp;varString)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7ca3f5ce31cd6cd573b3ce320e60925c">ReadCompressed</a>(wchar_t *&amp;varString, size_t varStringLength)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a76108518241879abbd1bd80536126644">ReadCompressed</a>(SystemAddress &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8b97142b3f7076cd73a4f3ad5ff1c06b">ReadCompressed</a>(uint24_t &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a1c6f9a17d4c6d3c986cdff1ee973338c">ReadCompressed</a>(RakNetGUID &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7bf4fbecb41176a7df50d6598b12e240">ReadCompressed</a>(bool &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad61175b975fe96aeaadf61e374027e40">ReadCompressed</a>(float &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad5aae3bd7fd8d950e9d90a29a690b6ae">ReadCompressed</a>(double &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a113336a763312313a1366dc36a1b8fce">ReadCompressed</a>(RakString &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#acbbc3126508fa871c3a18a3b1cf672cc">ReadCompressed</a>(RakWString &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a27b318b61ec54a3b70904f05e317ae39">ReadCompressed</a>(char *&amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a95118fe34fe80171975dd5948eeae61a">ReadCompressed</a>(unsigned char *&amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a644710042a38cf4ff181a2abd8a05457">ReadCompressedDelta</a>(templateType &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a349befece0da0c0c7e82da687ca643f1">ReadCompressedDelta</a>(bool &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a92289c0daf93d018afcdfd3b3dc6d237">ReadDelta</a>(templateType &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aceff050878ca3f53433cf808cc203e2a">ReadDelta</a>(bool &amp;outTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a1843797ddff3ba9805a29c28c0601a6e">ReadFloat16</a>(float &amp;outFloat, float floatMin, float floatMax)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adcdd659cc173627bb2fa9f899b2bfd4f">ReadNormQuat</a>(templateType &amp;w, templateType &amp;x, templateType &amp;y, templateType &amp;z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac88d7df22922c0702bdc5c9e2e5086c5">ReadNormVector</a>(templateType &amp;x, templateType &amp;y, templateType &amp;z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af70e3f0d833380a92cd52b6cb79f7112">ReadOrthMatrix</a>(templateType &amp;m00, templateType &amp;m01, templateType &amp;m02, templateType &amp;m10, templateType &amp;m11, templateType &amp;m12, templateType &amp;m20, templateType &amp;m21, templateType &amp;m22)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#abbca46ec9d00b68915a2828825307dce">ReadVector</a>(templateType &amp;x, templateType &amp;y, templateType &amp;z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aab4381d8b4a48dbc8e2975dba894f350">Reset</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a4868f40943c8e349500ec6de3a69df20">ResetReadPointer</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a62b03848992c3afd7131751d8fe62b6c">ResetWritePointer</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#add30bae01b699057803b6d04f4af9a01">ReverseBytes</a>(unsigned char *inByteArray, unsigned char *inOutByteArray, const unsigned int length)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3ba4c1a60776e63dcf17396b536d3fe8">ReverseBytesInPlace</a>(unsigned char *inOutData, const unsigned int length)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa6910541ec501aa4fdc0124448475a54">Serialize</a>(bool writeToBitstream, templateType &amp;inOutTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adb8b59b685fab9d164cf9f79d1926c35">Serialize</a>(bool writeToBitstream, char *inOutByteArray, const unsigned int numberOfBytes)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#afffb2bf1353499090b556cb91cff25f7">SerializeBits</a>(bool writeToBitstream, unsigned char *inOutByteArray, const BitSize_t numberOfBitsToSerialize, const bool rightAlignedBits=true)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a09cbff385577e6e05df5b61d49bad446">SerializeBitsFromIntegerRange</a>(bool writeToBitstream, templateType &amp;value, const templateType minimum, const templateType maximum, bool allowOutsideRange=false)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a409805d8c9cfee90827ef6e2f2aa5322">SerializeBitsFromIntegerRange</a>(bool writeToBitstream, templateType &amp;value, const templateType minimum, const templateType maximum, const int requiredBits, bool allowOutsideRange=false)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a38ca97cb05be40fb1826ad9701e9fdf5">SerializeCasted</a>(bool writeToBitstream, sourceType &amp;value)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8ea9768600e8abaa0722c9d491997bc3">SerializeCompressed</a>(bool writeToBitstream, templateType &amp;inOutTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a600b752633117fbf715bd199d8118942">SerializeCompressedDelta</a>(bool writeToBitstream, templateType &amp;inOutCurrentValue, const templateType &amp;lastValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a00f168a0df019be64315646615059a5a">SerializeCompressedDelta</a>(bool writeToBitstream, templateType &amp;inOutTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a23445a55c57cb0b56c0e5edeaf6bbfb5">SerializeDelta</a>(bool writeToBitstream, templateType &amp;inOutCurrentValue, const templateType &amp;lastValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adc841e477fd8e65f7e84aaf7d6d8bdee">SerializeDelta</a>(bool writeToBitstream, templateType &amp;inOutCurrentValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a32cca7cd3fc08b8ce8fb8c91774674b5">SerializeFloat16</a>(bool writeToBitstream, float &amp;inOutFloat, float floatMin, float floatMax)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3db80f305f1fe2cbe0a16f89541e505b">SerializeNormQuat</a>(bool writeToBitstream, templateType &amp;w, templateType &amp;x, templateType &amp;y, templateType &amp;z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa136a9299131b1eca1945ae3865b280f">SerializeNormVector</a>(bool writeToBitstream, templateType &amp;x, templateType &amp;y, templateType &amp;z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8745666cfade172e8f1f2bec554ba00b">SerializeOrthMatrix</a>(bool writeToBitstream, templateType &amp;m00, templateType &amp;m01, templateType &amp;m02, templateType &amp;m10, templateType &amp;m11, templateType &amp;m12, templateType &amp;m20, templateType &amp;m21, templateType &amp;m22)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a20e66c7208e56a307472ca0b58ded78e">SerializeVector</a>(bool writeToBitstream, templateType &amp;x, templateType &amp;y, templateType &amp;z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a27a6cd95f4e69e30a4404f044359399e">SetData</a>(unsigned char *inByteArray)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a980c2ec77c1d6ab7cb34d2a1d0b1d308">SetNumberOfBitsAllocated</a>(const BitSize_t lengthInBits)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8715199c63a057205ef5bd27f6b068d4">SetReadOffset</a>(const BitSize_t newReadOffset)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a751b4600c1e9ea4419a9358a77a6ee50">SetWriteOffset</a>(const BitSize_t offset)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201">Write</a>(const templateType &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8de29ebe8bae61200ecec539738a54ac">Write</a>(const char *inputByteArray, const unsigned int numberOfBytes)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a687a35acdae43f2d289ff299d55cad53">Write</a>(BitStream *bitStream, BitSize_t numberOfBits)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ac664d5a8f8f0688dfc10bcef8da02d0e">Write</a>(BitStream *bitStream)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#abc0bfd441ef5edf06cc372fa029863f8">Write</a>(BitStream &amp;bitStream, BitSize_t numberOfBits)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad861d82b80824875b177d2cfdc862db9">Write</a>(BitStream &amp;bitStream)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#afc34a30fbd308effc85c522ba0676315">Write</a>(const char *const inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a4e66f045792b0783e5a20aa0ebc4eede">Write</a>(const wchar_t *const inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a5f33cf08fe7aeef45ab26fdd69b2cca5">Write</a>(const unsigned char *const inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a35e3542e5071900e9a9e15566bf103c1">Write</a>(char *const inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa77a60e83d3b6d4d380d0120916ff018">Write</a>(unsigned char *const inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a17db358b09a207c7dd730a2a06fcc6a5">Write</a>(const bool &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ab17cf888cee7d6fa1f1df1a6a2adaac1">Write</a>(const SystemAddress &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a04994a895a2554547fa7fa3610184c49">Write</a>(const uint24_t &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a69b6fe2a47eec0552f33e2f2d1a95d39">Write</a>(const RakNetGUID &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a09b3fd092512ac707256316febfe45f1">Write</a>(const RakString &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a38a6b75ab9ddb36aac2624009b80b572">Write</a>(const RakWString &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ab77133d4e9996ad6de5d0816c23f6eb2">Write</a>(const char *const &amp;inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ab6314bcce863b869438435f1ab0df7b1">Write</a>(const wchar_t *const &amp;inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ab844ab07e09670d7e73216770151a2b9">Write</a>(const unsigned char *const &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a144a7fc4013f9e60465e23ca6675c37c">Write</a>(char *const &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ae0dfba5004068ea2d7b6b3c5e4bd5daf">Write</a>(unsigned char *const &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a6ab8d1f78d5d37de6db82f4b8002c218">Write0</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2060f594db2a6182038259c9db7eeb31">Write1</a>(void)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af777083a659116082f109ccd9c8639f5">WriteAlignedBytes</a>(const unsigned char *inByteArray, const unsigned int numberOfBytesToWrite)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a04d3ec5e1e1cccf01a4b058f80d41c9b">WriteAlignedBytesSafe</a>(const char *inByteArray, const unsigned int inputLength, const unsigned int maxBytesToWrite)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8e5684a529734bdb62349ed60c2bab30">WriteAlignedVar16</a>(const char *inByteArray)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a03d2df12a3cc011fe7c3044174d8d05f">WriteAlignedVar32</a>(const char *inByteArray)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af094784f8d431c8bfe433a63a6721d3a">WriteAlignedVar8</a>(const char *inByteArray)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a8bf3d5d6926d80a9dba19dea5eecb7d2">WriteBits</a>(const unsigned char *inByteArray, BitSize_t numberOfBitsToWrite, const bool rightAlignedBits=true)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a090f1303f8ec22dd12ce75038dc2d81f">WriteBitsFromIntegerRange</a>(const templateType value, const templateType minimum, const templateType maximum, bool allowOutsideRange=false)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a774d6e5f9f9ea8bec1da788b63e61775">WriteBitsFromIntegerRange</a>(const templateType value, const templateType minimum, const templateType maximum, const int requiredBits, bool allowOutsideRange=false)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a389b1cb2d6ab054a9949efe7f1748374">WriteCasted</a>(const sourceType &amp;value)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a24121050ec7d63a6eba5d1b243b4922b">WriteCompressed</a>(const templateType &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aad7b05bdb2fb348e2c3729c2e27765bb">WriteCompressed</a>(const char *const inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3b9087c0bedeb27099c150c7a026207d">WriteCompressed</a>(const wchar_t *const inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3d5efc21092d3b5f6a523585d507e39c">WriteCompressed</a>(const unsigned char *const inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad7383df8e2a706bff7582a344ed80df6">WriteCompressed</a>(char *const inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a6aaa710551c5f1fd34999eacf1d8192d">WriteCompressed</a>(unsigned char *const inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#abc7bf145c6366bef86450bcd25ce027f">WriteCompressed</a>(const SystemAddress &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a9d9077703b30be7dfb0c85ebe707f832">WriteCompressed</a>(const RakNetGUID &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa41d1a795129d02e9e979d16f6c5a18c">WriteCompressed</a>(const uint24_t &amp;var)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad134a12b137d1706a4e135ef422ce97f">WriteCompressed</a>(const bool &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#aa2d1009dd9d5d2f8efc2b24f419d3800">WriteCompressed</a>(const float &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a650b913a3491b2035d99474b2ce22ff1">WriteCompressed</a>(const double &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#adb431b7a22e43503a7f2392d8ab04c72">WriteCompressed</a>(const RakString &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#afeba3e8d4d6e9fb45a7b6f8e084971a8">WriteCompressed</a>(const RakWString &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3045a2fba93ccbe320ab1c43e2608d24">WriteCompressed</a>(const char *const &amp;inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad7412140debdc31eb02176b7663fa6d3">WriteCompressed</a>(const wchar_t *const &amp;inStringVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a3497ff9d098670c507b776016dab18d9">WriteCompressed</a>(const unsigned char *const &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a7a2e58e7ab16fbbfc7b24d6bb5a0d803">WriteCompressed</a>(char *const &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af9f2dfd81c1d2a57a2b067d05d5c4bc0">WriteCompressed</a>(unsigned char *const &amp;inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a42a0d2b1bcdb13f19996f73d5aecf73e">WriteCompressedDelta</a>(const templateType &amp;currentValue, const templateType &amp;lastValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a32bb314e085d6793481386cb13bd6976">WriteCompressedDelta</a>(const templateType &amp;currentValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#af5b85dddc11e784bccb31a46af2bf948">WriteCompressedDelta</a>(const bool &amp;currentValue, const bool &amp;lastValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a4639a7b9b8ff0739963c76fa07154bab">WriteCompressedDelta</a>(const bool &amp;currentValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a11078d27535f5cf4c1822bca0672d2fe">WriteDelta</a>(const templateType &amp;currentValue, const templateType &amp;lastValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ae977f9207c42ce4b10ef8b3d9b0ceba3">WriteDelta</a>(const templateType &amp;currentValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a720b28dc011b7ffd4d15efa4da70afdc">WriteDelta</a>(const bool &amp;currentValue, const bool &amp;lastValue)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#affbc2f1d2416053fe320e834bdecb8a7">WriteFloat16</a>(float x, float floatMin, float floatMax)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad5d87e34c452f1bc1e51ce3fa0ab6ecf">WriteNormQuat</a>(templateType w, templateType x, templateType y, templateType z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a03e238407281a89dc845bcc185f19e34">WriteNormVector</a>(templateType x, templateType y, templateType z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a095eb8e8065bc8f87d2c467eaf648771">WriteOrthMatrix</a>(templateType m00, templateType m01, templateType m02, templateType m10, templateType m11, templateType m12, templateType m20, templateType m21, templateType m22)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a9b31fc2f422dd8fc1b4f6c78dd2a3a0d">WritePtr</a>(templateType *inTemplateVar)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#ad1fa20760282a80581e24d039d16ab94">WriteVector</a>(templateType x, templateType y, templateType z)</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a63cf0f27c7519417a7984c476a32c9c9">~BitStream</a>()</td><td class="entry"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,8 @@
var _kbhit_8h =
[
[ "_getch", "dc/dd0/_kbhit_8h.xhtml#a69d93081d75c65e3e355d1dbedf7ec0e", null ],
[ "_kbhit", "dc/dd0/_kbhit_8h.xhtml#ae18f1497359ac3d85268e196eb67a77b", null ],
[ "cooked", "dc/dd0/_kbhit_8h.xhtml#ab6a0eb9d27a9bae96d5e488bcb77b5ed", null ],
[ "raw", "dc/dd0/_kbhit_8h.xhtml#a91dd97230ebe40e2387a9f9b1eee7258", null ],
[ "g_old_kbd_mode", "dc/dd0/_kbhit_8h.xhtml#a9cb11cfdb0ccedf4d1100363933eaf1a", null ]
];

View File

@ -0,0 +1,291 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/Kbhit.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd0/_kbhit_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">Kbhit.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;sys/time.h&gt;</code><br/>
<code>#include &lt;termios.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&gt;</code><br/>
</div>
<p><a href="../../dc/dd0/_kbhit_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab6a0eb9d27a9bae96d5e488bcb77b5ed"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd0/_kbhit_8h.xhtml#ab6a0eb9d27a9bae96d5e488bcb77b5ed">cooked</a> (void)</td></tr>
<tr class="separator:ab6a0eb9d27a9bae96d5e488bcb77b5ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91dd97230ebe40e2387a9f9b1eee7258"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd0/_kbhit_8h.xhtml#a91dd97230ebe40e2387a9f9b1eee7258">raw</a> (void)</td></tr>
<tr class="separator:a91dd97230ebe40e2387a9f9b1eee7258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae18f1497359ac3d85268e196eb67a77b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd0/_kbhit_8h.xhtml#ae18f1497359ac3d85268e196eb67a77b">_kbhit</a> (void)</td></tr>
<tr class="separator:ae18f1497359ac3d85268e196eb67a77b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d93081d75c65e3e355d1dbedf7ec0e"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd0/_kbhit_8h.xhtml#a69d93081d75c65e3e355d1dbedf7ec0e">_getch</a> (void)</td></tr>
<tr class="separator:a69d93081d75c65e3e355d1dbedf7ec0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a9cb11cfdb0ccedf4d1100363933eaf1a"><td class="memItemLeft" align="right" valign="top">static struct termios&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd0/_kbhit_8h.xhtml#a9cb11cfdb0ccedf4d1100363933eaf1a">g_old_kbd_mode</a></td></tr>
<tr class="separator:a9cb11cfdb0ccedf4d1100363933eaf1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a69d93081d75c65e3e355d1dbedf7ec0e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int _getch </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00080">80</a> of file <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml">Kbhit.h</a>.</p>
<p>References <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00037">raw()</a>.</p>
</div>
</div>
<a class="anchor" id="ae18f1497359ac3d85268e196eb67a77b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int _kbhit </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00059">59</a> of file <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml">Kbhit.h</a>.</p>
<p>References <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00037">raw()</a>.</p>
</div>
</div>
<a class="anchor" id="ab6a0eb9d27a9bae96d5e488bcb77b5ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void cooked </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00031">31</a> of file <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml">Kbhit.h</a>.</p>
<p>References <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00028">g_old_kbd_mode</a>.</p>
<p>Referenced by <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00037">raw()</a>.</p>
</div>
</div>
<a class="anchor" id="a91dd97230ebe40e2387a9f9b1eee7258"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void raw </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00037">37</a> of file <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml">Kbhit.h</a>.</p>
<p>References <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00031">cooked()</a>, and <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00028">g_old_kbd_mode</a>.</p>
<p>Referenced by <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00080">_getch()</a>, and <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00059">_kbhit()</a>.</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a9cb11cfdb0ccedf4d1100363933eaf1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">struct termios g_old_kbd_mode</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00028">28</a> of file <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml">Kbhit.h</a>.</p>
<p>Referenced by <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00031">cooked()</a>, and <a class="el" href="../../dc/dd0/_kbhit_8h_source.xhtml#l00037">raw()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/dd0/_kbhit_8h.xhtml">Kbhit.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,213 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/Kbhit.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd0/_kbhit_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Kbhit.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/dd0/_kbhit_8h.xhtml">Go to the documentation of this file.</a><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">_kbhit() and _getch() for Linux/UNIX</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">Chris Giese &lt;geezer@execpc.com&gt; http://my.execpc.com/~geezer</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">Release date: ?</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">This code is public domain (no copyright).</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">You can do whatever you want with it.</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">*****************************************************************************/</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"> * Modified work: Copyright (c) 2016, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications in this file are put under the public domain.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * Alternatively you are permitted to license the modifications under the MIT license, if you so desire. The</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license can be found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#if defined(_WIN32)</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;conio.h&gt;</span> <span class="comment">/* _kbhit(), _getch() */</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">#else</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/time.h&gt;</span> <span class="comment">/* struct timeval, select() */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">/* ICANON, ECHO, TCSANOW, struct termios */</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &lt;termios.h&gt;</span> <span class="comment">/* tcgetattr(), tcsetattr() */</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* atexit(), exit() */</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* read() */</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* printf() */</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&gt;</span> <span class="comment">/* memcpy */</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a9cb11cfdb0ccedf4d1100363933eaf1a"> 28</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span>termios <a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a9cb11cfdb0ccedf4d1100363933eaf1a">g_old_kbd_mode</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">/*****************************************************************************</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">*****************************************************************************/</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#ab6a0eb9d27a9bae96d5e488bcb77b5ed"> 31</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#ab6a0eb9d27a9bae96d5e488bcb77b5ed">cooked</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; tcsetattr(0, TCSANOW, &amp;<a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a9cb11cfdb0ccedf4d1100363933eaf1a">g_old_kbd_mode</a>);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;}</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">/*****************************************************************************</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">*****************************************************************************/</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a91dd97230ebe40e2387a9f9b1eee7258"> 37</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a91dd97230ebe40e2387a9f9b1eee7258">raw</a>(<span class="keywordtype">void</span>)</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">static</span> <span class="keywordtype">char</span> init;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">struct </span>termios new_kbd_mode;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">if</span>(init)</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment">/* put keyboard (stdin, actually) in raw, unbuffered mode */</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; tcgetattr(0, &amp;<a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a9cb11cfdb0ccedf4d1100363933eaf1a">g_old_kbd_mode</a>);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; memcpy(&amp;new_kbd_mode, &amp;<a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a9cb11cfdb0ccedf4d1100363933eaf1a">g_old_kbd_mode</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> termios));</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; new_kbd_mode.c_lflag &amp;= ~(ICANON <span class="comment">/*| ECHO */</span> );</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; new_kbd_mode.c_cc[VTIME] = 0;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; new_kbd_mode.c_cc[VMIN] = 1;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; tcsetattr(0, TCSANOW, &amp;new_kbd_mode);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">/* when we exit, go back to normal, &quot;cooked&quot; mode */</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; atexit(<a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#ab6a0eb9d27a9bae96d5e488bcb77b5ed">cooked</a>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; init = 1;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment">/*****************************************************************************</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment">*****************************************************************************/</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#ae18f1497359ac3d85268e196eb67a77b"> 59</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#ae18f1497359ac3d85268e196eb67a77b">_kbhit</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">struct </span>timeval timeout;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; fd_set read_handles;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">int</span> status;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a91dd97230ebe40e2387a9f9b1eee7258">raw</a>();</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">/* check stdin (fd 0) for activity */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; FD_ZERO(&amp;read_handles);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; FD_SET(0, &amp;read_handles);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; timeout.tv_sec = timeout.tv_usec = 0;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; status = select(0 + 1, &amp;read_handles, NULL, NULL, &amp;timeout);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span>(status &lt; 0)</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; printf(<span class="stringliteral">&quot;select() failed in _kbhit()\n&quot;</span>);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; exit(1);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">/*****************************************************************************</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment">*****************************************************************************/</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a69d93081d75c65e3e355d1dbedf7ec0e"> 80</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a69d93081d75c65e3e355d1dbedf7ec0e">_getch</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;{</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> temp;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="../../dc/dd0/_kbhit_8h.xhtml#a91dd97230ebe40e2387a9f9b1eee7258">raw</a>();</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment">/* stdin = fd 0 */</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span>(read(0, &amp;temp, 1) != 1)</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> temp;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/dd0/_kbhit_8h.xhtml">Kbhit.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/DS_QueueLinkedList.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd6/_d_s___queue_linked_list_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">DS_QueueLinkedList.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d1/dc2/_d_s___linked_list_8h_source.xhtml">DS_LinkedList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/dd6/_d_s___queue_linked_list_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml">DataStructures::QueueLinkedList&lt; QueueType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A queue implemented using a linked list. Rarely used. <a href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:da/d80/namespace_data_structures"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d80/namespace_data_structures.xhtml">DataStructures</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/dd6/_d_s___queue_linked_list_8h.xhtml">DS_QueueLinkedList.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,229 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/DS_QueueLinkedList.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd6/_d_s___queue_linked_list_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">DS_QueueLinkedList.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/dd6/_d_s___queue_linked_list_8h.xhtml">Go to the documentation of this file.</a><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) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</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">#ifndef __QUEUE_LINKED_LIST_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __QUEUE_LINKED_LIST_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d1/dc2/_d_s___linked_list_8h.xhtml">DS_LinkedList.h</a>&quot;</span> </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword">namespace </span>DataStructures</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml"> 35</a></span>&#160; <span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml" title="A queue implemented using a linked list. Rarely used.">QueueLinkedList</a></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; {</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; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml" title="A queue implemented using a linked list. Rarely used.">QueueLinkedList</a>();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml" title="A queue implemented using a linked list. Rarely used.">QueueLinkedList</a>( <span class="keyword">const</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml" title="A queue implemented using a linked list. Rarely used.">QueueLinkedList</a>&amp; original_copy );</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">bool</span> operator= ( <span class="keyword">const</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml" title="A queue implemented using a linked list. Rarely used.">QueueLinkedList</a>&amp; original_copy );</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; QueueType Pop( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; QueueType&amp; Peek( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; QueueType&amp; EndPeek( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">void</span> Push( <span class="keyword">const</span> QueueType&amp; input );</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Size( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordtype">void</span> Clear( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordtype">void</span> Compress( <span class="keywordtype">void</span> );</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="../../dd/d55/class_data_structures_1_1_linked_list.xhtml">LinkedList&lt;QueueType&gt;</a> data;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; };</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a0ba3f6caf61976d94e0f46b70a745b82"> 55</a></span>&#160; <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a0ba3f6caf61976d94e0f46b70a745b82">QueueLinkedList&lt;QueueType&gt;::QueueLinkedList</a>()</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#aec526a5e119d48da14bacbda3d8985e8"> 60</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#aec526a5e119d48da14bacbda3d8985e8">QueueLinkedList&lt;QueueType&gt;::Size</a>()</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> data.Size();</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a05fc69bc1b49a61ec0c951a345aa41a5"> 66</a></span>&#160; <span class="keyword">inline</span> QueueType <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a05fc69bc1b49a61ec0c951a345aa41a5">QueueLinkedList&lt;QueueType&gt;::Pop</a>( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; data.Beginning();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> ( QueueType ) data.Pop();</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a62fc0fb8ee556ac58e6c28f3bae7c361"> 73</a></span>&#160; <span class="keyword">inline</span> QueueType&amp; <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a62fc0fb8ee556ac58e6c28f3bae7c361">QueueLinkedList&lt;QueueType&gt;::Peek</a>( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; data.Beginning();</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> ( QueueType ) data.Peek();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a066645e330dd7291067f2992206b6f68"> 80</a></span>&#160; <span class="keyword">inline</span> QueueType&amp; <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a066645e330dd7291067f2992206b6f68">QueueLinkedList&lt;QueueType&gt;::EndPeek</a>( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; data.End();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> ( QueueType ) data.Peek();</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a241c60f0e573fbc64540de9cda52a8f0"> 87</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a241c60f0e573fbc64540de9cda52a8f0">QueueLinkedList&lt;QueueType&gt;::Push</a>( <span class="keyword">const</span> QueueType&amp; input )</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; data.End();</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; data.Add( input );</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a7dc481de74ba21884e1d7a724ecf226d"> 94</a></span>&#160; <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a0ba3f6caf61976d94e0f46b70a745b82">QueueLinkedList&lt;QueueType&gt;::QueueLinkedList</a>( <span class="keyword">const</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml" title="A queue implemented using a linked list. Rarely used.">QueueLinkedList</a>&amp; original_copy )</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; data = original_copy.data;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a27766d956d3b153763e66d2db6898d92"> 100</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a27766d956d3b153763e66d2db6898d92">QueueLinkedList&lt;QueueType&gt;::operator= </a>( <span class="keyword">const</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml" title="A queue implemented using a linked list. Rarely used.">QueueLinkedList</a>&amp; original_copy )</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> ( ( &amp;original_copy ) == <span class="keyword">this</span> )</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; data = original_copy.data;</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; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> QueueType&gt;</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a916b56766506ebc43ffa7a01d1ccc22b"> 109</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../da/d6e/class_data_structures_1_1_queue_linked_list.xhtml#a916b56766506ebc43ffa7a01d1ccc22b">QueueLinkedList&lt;QueueType&gt;::Clear</a> ( <span class="keywordtype">void</span> )</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; data.Clear();</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;} <span class="comment">// End namespace</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/dd6/_d_s___queue_linked_list_8h.xhtml">DS_QueueLinkedList.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,164 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/NatPunchthroughServer.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd7/_nat_punchthrough_server_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">NatPunchthroughServer.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Contains the NAT-punchthrough plugin for the server.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">SocketIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d6/d4d/_d_s___ordered_list_8h_source.xhtml">DS_OrderedList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d66/string_8h_source.xhtml">string.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/dd7/_nat_punchthrough_server_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface">SLNet::NatPunchthroughServerDebugInterface</a></td></tr>
<tr class="separator:d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d4/d59/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___printf"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/d59/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___printf">SLNet::NatPunchthroughServerDebugInterface_Printf</a></td></tr>
<tr class="separator:d4/d59/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___printf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d4/dd5/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___packet_logger"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/dd5/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___packet_logger">SLNet::NatPunchthroughServerDebugInterface_PacketLogger</a></td></tr>
<tr class="separator:d4/dd5/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___packet_logger"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d1/dc6/class_s_l_net_1_1_nat_punchthrough_server"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d1/dc6/class_s_l_net_1_1_nat_punchthrough_server">SLNet::NatPunchthroughServer</a></td></tr>
<tr class="memdesc:d1/dc6/class_s_l_net_1_1_nat_punchthrough_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Server code for NATPunchthrough. <a href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d1/dc6/class_s_l_net_1_1_nat_punchthrough_server">More...</a><br/></td></tr>
<tr class="separator:d1/dc6/class_s_l_net_1_1_nat_punchthrough_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:df/d23/struct_s_l_net_1_1_nat_punchthrough_server_1_1_connection_attempt"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d23/struct_s_l_net_1_1_nat_punchthrough_server_1_1_connection_attempt">SLNet::NatPunchthroughServer::ConnectionAttempt</a></td></tr>
<tr class="separator:df/d23/struct_s_l_net_1_1_nat_punchthrough_server_1_1_connection_attempt"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user">SLNet::NatPunchthroughServer::User</a></td></tr>
<tr class="separator:df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Contains the NAT-punchthrough plugin for the server. </p>
<p>Definition in file <a class="el" href="../../dc/dd7/_nat_punchthrough_server_8h_source.xhtml">NatPunchthroughServer.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/dd7/_nat_punchthrough_server_8h.xhtml">NatPunchthroughServer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,260 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/NatPunchthroughServer.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd7/_nat_punchthrough_server_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">NatPunchthroughServer.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/dd7/_nat_punchthrough_server_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_NatPunchthroughServer==1</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifndef __NAT_PUNCHTHROUGH_SERVER_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __NAT_PUNCHTHROUGH_SERVER_H</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_plugin_interface2_8h.xhtml" title="RakNet&#39;s plugin functionality system, version 2. You can derive from this to create your own plugins...">PluginInterface2.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml" title="This file contains enumerations for packet priority and reliability enumerations.">PacketPriority.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml">SocketIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/d4d/_d_s___ordered_list_8h.xhtml">DS_OrderedList.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">class </span>RakPeerInterface;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">struct </span>Packet;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_PacketLogger==1</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"></span><span class="keyword">class </span>PacketLogger;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml"> 50</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface">NatPunchthroughServerDebugInterface</a></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a8bb55d6e6b5a067419aa21a282506af8"> 52</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a8bb55d6e6b5a067419aa21a282506af8">NatPunchthroughServerDebugInterface</a>() {}</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#aaed1a529e88be7cf33ee0f71f228eae0"> 53</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#aaed1a529e88be7cf33ee0f71f228eae0">~NatPunchthroughServerDebugInterface</a>() {}</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnServerMessage(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg)=0;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;};</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml"> 58</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/d59/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___printf">NatPunchthroughServerDebugInterface_Printf</a> : <span class="keyword">public</span> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface">NatPunchthroughServerDebugInterface</a></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnServerMessage(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_PacketLogger==1</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml"> 65</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/dd5/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface___packet_logger">NatPunchthroughServerDebugInterface_PacketLogger</a> : <span class="keyword">public</span> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface">NatPunchthroughServerDebugInterface</a></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Set to non-zero to write to the packetlogger!</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a63ed284c9a24d473e503da42c1cc5640"> 68</a></span>&#160; <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#d9/d2e/class_s_l_net_1_1_packet_logger" title="Writes incoming and outgoing messages to the screen. This will write all incoming and outgoing messag...">PacketLogger</a> *<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a63ed284c9a24d473e503da42c1cc5640">pl</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#adf4e3676a0678c28dee871c2f0e94202"> 70</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#adf4e3676a0678c28dee871c2f0e94202">NatPunchthroughServerDebugInterface_PacketLogger</a>() {pl=0;}</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ab15821dbb2755c2b48754ff1f0b8d219"> 71</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ab15821dbb2755c2b48754ff1f0b8d219">~NatPunchthroughServerDebugInterface_PacketLogger</a>() {}</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnServerMessage(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;};</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml"> 83</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d1/dc6/class_s_l_net_1_1_nat_punchthrough_server" title="Server code for NATPunchthrough.">NatPunchthroughServer</a> : <span class="keyword">public</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d1/dc6/class_s_l_net_1_1_nat_punchthrough_server" title="Server code for NATPunchthrough.">NatPunchthroughServer</a>)</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// Constructor</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d1/dc6/class_s_l_net_1_1_nat_punchthrough_server" title="Server code for NATPunchthrough.">NatPunchthroughServer</a>();</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// Destructor</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d1/dc6/class_s_l_net_1_1_nat_punchthrough_server" title="Server code for NATPunchthrough.">NatPunchthroughServer</a>();</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordtype">void</span> SetDebugInterface(<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface">NatPunchthroughServerDebugInterface</a> *i);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Update(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> OnReceive(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnClosedConnection(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a> lostConnectionReason );</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnNewConnection(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <span class="keywordtype">bool</span> isIncoming);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// Each connected user has a ready state. Ready means ready for nat punchthrough.</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keyword">struct </span><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user">User</a>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml"> 111</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d23/struct_s_l_net_1_1_nat_punchthrough_server_1_1_connection_attempt">ConnectionAttempt</a></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a7fa14422af622c5121f846a6adb1e360"> 113</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a7fa14422af622c5121f846a6adb1e360">ConnectionAttempt</a>() {sender=0; recipient=0; startTime=0; attemptPhase=NAT_ATTEMPT_PHASE_NOT_STARTED;}</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a3358fd965173cc731941667819a3eebe"> 114</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user">User</a> *<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a3358fd965173cc731941667819a3eebe">sender</a>, *recipient;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ab8444bbb02b3645feee4209f6aa8a7e9"> 115</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ab8444bbb02b3645feee4209f6aa8a7e9">sessionId</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a9d81d3dd954d0a0cf952fb45b6d0dccc"> 116</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">SLNet::Time</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a9d81d3dd954d0a0cf952fb45b6d0dccc">startTime</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">enum</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#aff86976af401867ed4d46d7acd65f6d5ab8ba21cfdde1a3c54ad521d69fcf3c85"> 119</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#aff86976af401867ed4d46d7acd65f6d5ab8ba21cfdde1a3c54ad521d69fcf3c85">NAT_ATTEMPT_PHASE_NOT_STARTED</a>,</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#aff86976af401867ed4d46d7acd65f6d5a5a01227075446c3b8b517fb1c0248102"> 120</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#aff86976af401867ed4d46d7acd65f6d5a5a01227075446c3b8b517fb1c0248102">NAT_ATTEMPT_PHASE_GETTING_RECENT_PORTS</a>,</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; } attemptPhase;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; };</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml"> 123</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user">User</a></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a7a8800ba2b7d7746f22c55a28bb3611e"> 125</a></span>&#160; <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a7a8800ba2b7d7746f22c55a28bb3611e">guid</a>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a17f941fb4700ac4809602e82cfcf4d2c"> 126</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a17f941fb4700ac4809602e82cfcf4d2c">systemAddress</a>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a474635bfaeef18e03fded53780e1ad32"> 127</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a474635bfaeef18e03fded53780e1ad32">mostRecentPort</a>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#af54e159de2bfbc50a8f8f2c7329c16f0"> 128</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#af54e159de2bfbc50a8f8f2c7329c16f0">isReady</a>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a74cde578be4021f3315f558f358fbb7b"> 129</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID,RakNetGUID&gt;</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a74cde578be4021f3315f558f358fbb7b">groupPunchthroughRequests</a>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a757edca63526795f3bffc0cf5f73ea03"> 131</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;ConnectionAttempt *&gt;</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a757edca63526795f3bffc0cf5f73ea03">connectionAttempts</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">bool</span> HasConnectionAttemptToUser(<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user">User</a> *user);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">void</span> DerefConnectionAttempt(<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d23/struct_s_l_net_1_1_nat_punchthrough_server_1_1_connection_attempt">ConnectionAttempt</a> *ca);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">void</span> DeleteConnectionAttempt(<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d23/struct_s_l_net_1_1_nat_punchthrough_server_1_1_connection_attempt">ConnectionAttempt</a> *ca);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">void</span> LogConnectionAttempts(<a class="code" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml" title="String class.">SLNet::RakString</a> &amp;rs);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; };</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ac5a417f74afb60a79548c55d7e264c6d"> 137</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a7223b62c1b67121db1d975f2ab9b74c7">SLNet::Time</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ac5a417f74afb60a79548c55d7e264c6d">lastUpdate</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">static</span> <span class="keywordtype">int</span> NatPunchthroughUserComp( <span class="keyword">const</span> <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> &amp;key, <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user">User</a> * <span class="keyword">const</span> &amp;data );</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordtype">void</span> OnNATPunchthroughRequest(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a04eba32c62dafa92f1f740b87003876f"> 141</a></span>&#160; <a class="code" href="../../da/dfc/class_data_structures_1_1_ordered_list.xhtml">DataStructures::OrderedList&lt;RakNetGUID, User*, NatPunchthroughServer::NatPunchthroughUserComp&gt;</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a04eba32c62dafa92f1f740b87003876f">users</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordtype">void</span> OnGetMostRecentPort(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">void</span> OnClientReady(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">void</span> SendTimestamps(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordtype">void</span> StartPendingPunchthrough(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordtype">void</span> StartPunchthroughForUser(<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#df/d9b/struct_s_l_net_1_1_nat_punchthrough_server_1_1_user">User</a>*user);</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a67f3444e4bd7ecdeabcc09dc3222e758"> 149</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a273cf69d639a59973b6019625df33e30">uint16_t</a> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a67f3444e4bd7ecdeabcc09dc3222e758">sessionId</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a28dc7d8afe7644f11f4950ae3bf02358"> 150</a></span>&#160; <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#d4/da9/struct_s_l_net_1_1_nat_punchthrough_server_debug_interface">NatPunchthroughServerDebugInterface</a> *<a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a28dc7d8afe7644f11f4950ae3bf02358">natPunchthroughServerDebugInterface</a>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#a9278bf1a7551ced21e864981e7fc8008"> 152</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> boundAddresses[<a class="code" href="../../d8/db0/defines_8h.xhtml#aaac58d0b7314b7f900c0045e0c303b80">MAXIMUM_NUMBER_OF_INTERNAL_IDS</a>];</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ad8ebeb64e2b010f3a44b2e6f11afb9ff"> 153</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="../../db/d81/group___n_a_t___p_u_n_c_h_t_h_r_o_u_g_h___g_r_o_u_p.xhtml#ad8ebeb64e2b010f3a44b2e6f11afb9ff">boundAddressCount</a>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;};</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/dd7/_nat_punchthrough_server_8h.xhtml">NatPunchthroughServer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,126 @@
<!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"/>
<title>SLikeNet: Source/src/RakNetSocket2_Berkley_NativeClient.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd7/_rak_net_socket2___berkley___native_client_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">RakNetSocket2_Berkley_NativeClient.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/d5b/_empty_header_8h_source.xhtml">slikenet/EmptyHeader.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../de/d3e/_itoa_8h_source.xhtml">slikenet/Itoa.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../da/d7e/_w_s_a_startup_singleton_8h_source.xhtml">slikenet/WSAStartupSingleton.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/dd7/_rak_net_socket2___berkley___native_client_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/dd7/_rak_net_socket2___berkley___native_client_8cpp.xhtml">RakNetSocket2_Berkley_NativeClient.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,251 @@
<!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"/>
<title>SLikeNet: Source/src/RakNetSocket2_Berkley_NativeClient.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dd7/_rak_net_socket2___berkley___native_client_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">RakNetSocket2_Berkley_NativeClient.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/dd7/_rak_net_socket2___berkley___native_client_8cpp.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d5b/_empty_header_8h.xhtml">slikenet/EmptyHeader.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef RAKNETSOCKET2_BERKLEY_NATIVE_CLIENT_CPP</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define RAKNETSOCKET2_BERKLEY_NATIVE_CLIENT_CPP</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// Every platform except windows store 8 and native client supports Berkley sockets</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#if !defined(WINDOWS_STORE_RT)</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/d3e/_itoa_8h.xhtml">slikenet/Itoa.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/d7e/_w_s_a_startup_singleton_8h.xhtml">slikenet/WSAStartupSingleton.h</a>&quot;</span> <span class="comment">// used for WSAStartupSingleton</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// Shared on most platforms, but excluded from the listed</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// #low - maybe change to char (&amp;ip)[65] - then we can also use sizeof again</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keywordtype">void</span> DomainNameToIP_Berkley_IPV4And6( <span class="keyword">const</span> <span class="keywordtype">char</span> *domainName, <span class="keywordtype">char</span> ip[65] )</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span> <span class="keyword">struct </span>addrinfo hints, *res, *p;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordtype">int</span> status;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; memset(&amp;hints, 0, <span class="keyword">sizeof</span> hints);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; hints.ai_family = AF_UNSPEC; <span class="comment">// AF_INET or AF_INET6 to force version</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; hints.ai_socktype = SOCK_DGRAM;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">if</span> ((status = getaddrinfo(domainName, NULL, &amp;hints, &amp;res)) != 0) {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// #high - review/update callers - some unnecessarily initialize ip unnecessarily</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; ip[0] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; }</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; p=res;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment">// for(p = res;p != NULL; p = p-&gt;ai_next) {</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">void</span> *addr;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment">// char *ipver;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// get the pointer to the address itself,</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// different fields in IPv4 and IPv6:</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span> (p-&gt;ai_family == AF_INET)</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">struct </span>sockaddr_in *ipv4 = (<span class="keyword">struct </span>sockaddr_in *)p-&gt;ai_addr;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; addr = &amp;(ipv4-&gt;sin_addr);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; inet_ntop(AF_INET, &amp;ipv4-&gt;sin_addr, ip, 65);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; } </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// TODO - test</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">struct </span>sockaddr_in6 *ipv6 = (<span class="keyword">struct </span>sockaddr_in6 *)p-&gt;ai_addr;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; addr = &amp;(ipv6-&gt;sin6_addr);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// inet_ntop function does not exist on windows</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// http://www.mail-archive.com/users@ipv6.org/msg02107.html</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; getnameinfo((<span class="keyword">struct</span> sockaddr *)ipv6, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> sockaddr_in6), ip, 1, NULL, 0, NI_NUMERICHOST);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; freeaddrinfo(res); <span class="comment">// free the linked list</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment">// }</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor"></span> (void) domainName;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; (void) ip;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#endif // #if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> DomainNameToIP_Berkley_IPV4( <span class="keyword">const</span> <span class="keywordtype">char</span> *domainName, <span class="keywordtype">char</span> ip[65] )</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// Use inet_addr instead? What is the difference?</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">struct </span>addrinfo *addressinfo = NULL;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// needed for getaddrinfo</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#aec8c21ef29199bcf9be7f3568c8afadf">WSAStartupSingleton::AddRef</a>();</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordtype">int</span> error = getaddrinfo(domainName, NULL, NULL, &amp;addressinfo);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="../../d4/dcb/class_w_s_a_startup_singleton.xhtml#ad33efe86b5377555e3062058b5a4be01">WSAStartupSingleton::Deref</a>();</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> ( error != 0 || addressinfo == 0 )</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">//cerr &lt;&lt; &quot;Yow! Bad host lookup.&quot; &lt;&lt; endl;</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// #high - review/update callers - some unnecessarily initialize ip unnecessarily</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; ip[0] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// get the (first) IPv4 address</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">while</span> (addressinfo != NULL) {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span> (addressinfo-&gt;ai_family == AF_INET) {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">break</span>; <span class="comment">// found an IPv4 address</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; addressinfo = addressinfo-&gt;ai_next;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (addressinfo == NULL) {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</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="keyword">struct </span>sockaddr_in *sockaddr_ipv4 = (<span class="keyword">struct </span>sockaddr_in *) addressinfo-&gt;ai_addr;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; inet_ntop(AF_INET, &amp;sockaddr_ipv4-&gt;sin_addr, ip, 65);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keywordtype">void</span> DomainNameToIP_Berkley( <span class="keyword">const</span> <span class="keywordtype">char</span> *domainName, <span class="keywordtype">char</span> ip[65] )</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;{</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor">#if RAKNET_SUPPORT_IPV6==1</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> DomainNameToIP_Berkley_IPV4And6(domainName, ip);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">return</span> DomainNameToIP_Berkley_IPV4(domainName, ip);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="preprocessor">#endif // !defined(WINDOWS_STORE_RT) &amp;&amp; !defined(__native_client__)</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor">#endif // file header</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor">#endif // #ifdef RAKNET_SOCKET_2_INLINE_FUNCTIONS</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/dd7/_rak_net_socket2___berkley___native_client_8cpp.xhtml">RakNetSocket2_Berkley_NativeClient.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:47 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,172 @@
<!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"/>
<title>SLikeNet: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d1/dbc/struct_thread_pool.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ThreadPool&lt; InputType, OutputType &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a5f64a8c4a4400106a2d7d03f7f9de132">AddInput</a>(OutputType(*workerThreadCallback)(InputType, bool *returnOutput, void *perThreadData), InputType inputData)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a833f8cc619dbf051c525c2ecd7ce78a0">AddOutput</a>(OutputType outputData)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#af1e0cc5c3c8786fc49f60aef34160cbd">Clear</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a568d636d8a27645c6641d3b4cc7308f6">ClearInput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a8d8d2d173ca5ddb99614ed5b9df1fb85">ClearOutput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a09194411e4f4d87804111459fad24522">GetInputAtIndex</a>(unsigned index)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a568e3e2035977a38ad35aeee74ed7388">GetOutput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ade45848613e8230e5324edabe40fcde9">GetOutputAtIndex</a>(unsigned index)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aac1ae43b7b3581b5ae9803c7cae7b724">HasInput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#adde82517b452d9a74e91114a3783ce02">HasInputFast</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a925d6c332e4c48bc99dc5750dfd5fcdd">HasOutput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a5d517170f4b61211325ac5c9717e32e1">HasOutputFast</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aba1210d4a8738dbb73fd4aba224a5437">inputFunctionQueue</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ac808a3f10661465e2d83a4e7579dc880">inputQueue</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a207a7b9f54818a3168d81b013c765d56">inputQueueMutex</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a0c7631f35a83c4f992b881174b6c8eff">InputSize</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a90b37c13ba8b9f67db4bd99ee4a5d811">IsWorking</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a024e2da38f846fc76d1fb16cf13c1b90">LockInput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a384ba5c62d60ac2e12e3f8aeea30d8bc">LockOutput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#afa44d9d22aaa0b45008a146d3d99dd22">numThreadsRunning</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6b2a6ffe4c4a62c3da27b6f1c99377e5">numThreadsRunningMutex</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aad431a8d3f28af0ae5249c7e3b819307">NumThreadsWorking</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a31406cbf875ff36d9d0c5ba6207382c3">numThreadsWorking</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6b76ae04819bd8b15bae573217b15735">outputQueue</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a89540985de3cb90dccccbd837ef80385">outputQueueMutex</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ac2ebae170e7dbdbad6034ba69271f86f">OutputSize</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a870e8e68979a7b0f1cc5b0fda7044a49">Pause</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ac2f69d2ba866370e2899980a06d29df4">perThreadDataDestructor</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aacf9c53af2e2bae9560f1520ad63a1e9">perThreadDataFactory</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a04ce603e15a77377eec89c468f35e8a1">quitAndIncomingDataEvents</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6f77f4d6ec9d6f207f16fdb79b54fe2a">RAK_THREAD_DECLARATION</a>(WorkerThread)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a7e41bfe6660b1a55cbf14b99b77defac">RemoveInputAtIndex</a>(unsigned index)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#afb4958a8df475d6060bede0fa4af7faa">RemoveOutputAtIndex</a>(unsigned index)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a16261d79beca0692cc4aa97ec204fd6d">Resume</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a6d53166bc98ac94b11d2f9346f8d61b2">runThreads</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a4de670b464cb1afd303812571819aa0e">runThreadsMutex</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ad2bca8ada8b0f6c30ee3c49b90a1d31e">SetThreadDataInterface</a>(ThreadDataInterface *tdi, void *context)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a09fde0ca678340723840fae1dcda51a2">StartThreads</a>(int numThreads, int stackSize, void *(*_perThreadInit)()=0, void(*_perThreadDeinit)(void *)=0)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#ad93b8ba41d96c5f0f814ae0acabfcdfc">StopThreads</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a5e346620f540fa4791d9916e51513b1d">tdiContext</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#af5e51a5c831a7dc16b0dad34203790b0">threadDataInterface</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a785b0bc4ecfd1ad640fb9d5ec5423bc6">ThreadPool</a>()</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a710a554919e550501f9f06ab61e1d911">UnlockInput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#af6e5208df0686a4a76ecb3bbcc6ffcb2">UnlockOutput</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a531920221fd17dce38b5da74b56f2eff">WasStarted</a>(void)</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#aed1cb4abb580c8688236782c2d6bff49">workingThreadCountMutex</a></td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml#a156388a0aae28b9b9202ad0fd55275c5">~ThreadPool</a>()</td><td class="entry"><a class="el" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt; InputType, OutputType &gt;</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
var struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node =
[
[ "VariableLastValueNode", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a24efff925fafe3edfe95f240ad2f4ace", null ],
[ "VariableLastValueNode", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a8f95b553f2879193205b6ae7ea560eb8", null ],
[ "~VariableLastValueNode", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a3f5c842507ee91dde91238fc0828c066", null ],
[ "byteLength", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a9b66198dbf3c1a71bb778fff79eccc92", null ],
[ "isDirty", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a2dca48c9921133bb8b4c2b5ca3944fdf", null ],
[ "lastData", "dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#ab71358a633ed93815f68344dd026b122", null ]
];

View File

@ -0,0 +1,267 @@
<!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"/>
<title>SLikeNet: SLNet::VariableListDeltaTracker::VariableLastValueNode Struct 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d1/d5e/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::VariableListDeltaTracker::VariableLastValueNode Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">slikenet/VariableListDeltaTracker.h</a>&gt;</code></p>
<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:a24efff925fafe3edfe95f240ad2f4ace"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a24efff925fafe3edfe95f240ad2f4ace">VariableLastValueNode</a> ()</td></tr>
<tr class="separator:a24efff925fafe3edfe95f240ad2f4ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f95b553f2879193205b6ae7ea560eb8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a8f95b553f2879193205b6ae7ea560eb8">VariableLastValueNode</a> (const unsigned char *data, int _byteLength)</td></tr>
<tr class="separator:a8f95b553f2879193205b6ae7ea560eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f5c842507ee91dde91238fc0828c066"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a3f5c842507ee91dde91238fc0828c066">~VariableLastValueNode</a> ()</td></tr>
<tr class="separator:a3f5c842507ee91dde91238fc0828c066"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ab71358a633ed93815f68344dd026b122"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#ab71358a633ed93815f68344dd026b122">lastData</a></td></tr>
<tr class="separator:ab71358a633ed93815f68344dd026b122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b66198dbf3c1a71bb778fff79eccc92"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a9b66198dbf3c1a71bb778fff79eccc92">byteLength</a></td></tr>
<tr class="separator:a9b66198dbf3c1a71bb778fff79eccc92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dca48c9921133bb8b4c2b5ca3944fdf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml#a2dca48c9921133bb8b4c2b5ca3944fdf">isDirty</a></td></tr>
<tr class="separator:a2dca48c9921133bb8b4c2b5ca3944fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00131">131</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a24efff925fafe3edfe95f240ad2f4ace"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VariableListDeltaTracker::VariableLastValueNode::VariableLastValueNode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00042">42</a> of file <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00136">lastData</a>.</p>
</div>
</div>
<a class="anchor" id="a8f95b553f2879193205b6ae7ea560eb8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VariableListDeltaTracker::VariableLastValueNode::VariableLastValueNode </td>
<td>(</td>
<td class="paramtype">const unsigned char *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>_byteLength</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00046">46</a> of file <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00047">_FILE_AND_LINE_</a>, and <a class="el" href="../../d9/d4c/_rak_memory_override_8cpp_source.xhtml#l00062">rakMalloc_Ex</a>.</p>
</div>
</div>
<a class="anchor" id="a3f5c842507ee91dde91238fc0828c066"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VariableListDeltaTracker::VariableLastValueNode::~VariableLastValueNode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00053">53</a> of file <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a9b66198dbf3c1a71bb778fff79eccc92"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int SLNet::VariableListDeltaTracker::VariableLastValueNode::byteLength</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00137">137</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2dca48c9921133bb8b4c2b5ca3944fdf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SLNet::VariableListDeltaTracker::VariableLastValueNode::isDirty</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00138">138</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab71358a633ed93815f68344dd026b122"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* SLNet::VariableListDeltaTracker::VariableLastValueNode::lastData</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml#l00136">136</a> of file <a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a>.</p>
<p>Referenced by <a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml#l00042">VariableLastValueNode()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d8/d00/_variable_list_delta_tracker_8h_source.xhtml">VariableListDeltaTracker.h</a></li>
<li>Source/src/<a class="el" href="../../d4/d61/_variable_list_delta_tracker_8cpp_source.xhtml">VariableListDeltaTracker.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../d9/d15/class_s_l_net_1_1_variable_list_delta_tracker.xhtml">VariableListDeltaTracker</a></li><li class="navelem"><a class="el" href="../../dc/dea/struct_s_l_net_1_1_variable_list_delta_tracker_1_1_variable_last_value_node.xhtml">VariableLastValueNode</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!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"/>
<title>SLikeNet: Source/src/ThreadsafePacketLogger.cpp File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df2/_threadsafe_packet_logger_8cpp.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ThreadsafePacketLogger.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/df2/_threadsafe_packet_logger_8cpp_source.xhtml">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/df2/_threadsafe_packet_logger_8cpp.xhtml">ThreadsafePacketLogger.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,176 @@
<!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"/>
<title>SLikeNet: Source/src/ThreadsafePacketLogger.cpp Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df2/_threadsafe_packet_logger_8cpp_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ThreadsafePacketLogger.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/df2/_threadsafe_packet_logger_8cpp.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">slikenet/NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_PacketLogger==1</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/d1d/_threadsafe_packet_logger_8h.xhtml" title="Derivation of the packet logger to defer the call to WriteLog until the user thread.">slikenet/ThreadsafePacketLogger.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../da/d66/string_8h.xhtml">string.h</a>&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/db2/linux__adapter_8h.xhtml">slikenet/linux_adapter.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../da/dff/osx__adapter_8h.xhtml">slikenet/osx_adapter.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">using namespace </span>SLNet;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a0bb6f55ecfa6fa73ec83fbc97490eaad">ThreadsafePacketLogger::ThreadsafePacketLogger</a>()</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;{</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;}</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a37967076b1f806912c6a97af8e648752">ThreadsafePacketLogger::~ThreadsafePacketLogger</a>()</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordtype">char</span> **msg;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">while</span> ((msg = <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a69b1336e2a650af96c1c7ed381662184">logMessages</a>.<a class="code" href="../../d0/d72/class_data_structures_1_1_single_producer_consumer.xhtml#a114026663fff4b0b5dac65f7b6b742c8">ReadLock</a>()) != 0)</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>((*msg), <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; }</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;<span class="keywordtype">void</span> <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#ac520867053759ce6006a36ba02b9db2a" title="Update is called every time a packet is checked for .">ThreadsafePacketLogger::Update</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">char</span> **msg;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">while</span> ((msg = <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a69b1336e2a650af96c1c7ed381662184">logMessages</a>.<a class="code" href="../../d0/d72/class_data_structures_1_1_single_producer_consumer.xhtml#a114026663fff4b0b5dac65f7b6b742c8">ReadLock</a>()) != 0)</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#aec392f35521bbcc344bbc6e7a440dfbc" title="Override this to log strings to wherever. Log should be threadsafe.">WriteLog</a>(*msg);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#ab91fbe0570bf501cd97a53c6cffcef8f">rakFree_Ex</a>((*msg), <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; }</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a0624354c689f67a2145a606b112a6194">ThreadsafePacketLogger::AddToLog</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str)</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">char</span> **msg = <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a69b1336e2a650af96c1c7ed381662184">logMessages</a>.<a class="code" href="../../d0/d72/class_data_structures_1_1_single_producer_consumer.xhtml#a875f6c2177c1ab29106472162b75c038">WriteLock</a>();</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; *msg = (<span class="keywordtype">char</span>*) <a class="code" href="../../d9/d4c/_rak_memory_override_8cpp.xhtml#aebeb2e4754399ea3e2c7af3dd9bbe8c3">rakMalloc_Ex</a>( strlen(str)+1, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a> );</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; strcpy_s(*msg, strlen(str)+1, str);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="../../dc/d7d/group___p_a_c_k_e_t_l_o_g_g_e_r___g_r_o_u_p.xhtml#a69b1336e2a650af96c1c7ed381662184">logMessages</a>.<a class="code" href="../../d0/d72/class_data_structures_1_1_single_producer_consumer.xhtml#a2c5554a0297476b8f69e39b2721e1e23" title="Call when you are done writing to a block of memory returned by WriteLock()">WriteUnlock</a>();</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_d1eb22c2ecfd8b50f59e9cbaf8260105.xhtml">src</a></li><li class="navelem"><a class="el" href="../../dc/df2/_threadsafe_packet_logger_8cpp.xhtml">ThreadsafePacketLogger.cpp</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,163 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/FileListTransfer.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df4/_file_list_transfer_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">FileListTransfer.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A plugin to provide a simple way to compress and incrementally send the files in the FileList structure.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_plugin_interface2_8h_source.xhtml">PluginInterface2.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../de/dbe/_d_s___map_8h_source.xhtml">DS_Map.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/d03/_packet_priority_8h_source.xhtml">PacketPriority.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d0/dc4/_file_list_8h_source.xhtml">FileList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/d8d/_d_s___queue_8h_source.xhtml">DS_Queue.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d7/ddd/_simple_mutex_8h_source.xhtml">SimpleMutex.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../dc/d0b/_thread_pool_8h_source.xhtml">ThreadPool.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/df4/_file_list_transfer_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:dd/df6/class_s_l_net_1_1_file_list_transfer"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer">SLNet::FileListTransfer</a></td></tr>
<tr class="memdesc:dd/df6/class_s_l_net_1_1_file_list_transfer"><td class="mdescLeft">&#160;</td><td class="mdescRight">A plugin to provide a simple way to compress and incrementally send the files in the <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> structure. <a href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer">More...</a><br/></td></tr>
<tr class="separator:dd/df6/class_s_l_net_1_1_file_list_transfer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d0/d28/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d0/d28/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push">SLNet::FileListTransfer::FileToPush</a></td></tr>
<tr class="separator:d0/d28/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d8/d9a/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push_recipient"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d8/d9a/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push_recipient">SLNet::FileListTransfer::FileToPushRecipient</a></td></tr>
<tr class="separator:d8/d9a/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push_recipient"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d1/d90/struct_s_l_net_1_1_file_list_transfer_1_1_thread_data"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d1/d90/struct_s_l_net_1_1_file_list_transfer_1_1_thread_data">SLNet::FileListTransfer::ThreadData</a></td></tr>
<tr class="separator:d1/d90/struct_s_l_net_1_1_file_list_transfer_1_1_thread_data"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A plugin to provide a simple way to compress and incrementally send the files in the FileList structure. </p>
<p>Definition in file <a class="el" href="../../dc/df4/_file_list_transfer_8h_source.xhtml">FileListTransfer.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/df4/_file_list_transfer_8h.xhtml">FileListTransfer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,259 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/FileListTransfer.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df4/_file_list_transfer_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">FileListTransfer.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/df4/_file_list_transfer_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2016-2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_FileListTransfer==1 &amp;&amp; _RAKNET_SUPPORT_FileOperations==1</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifndef __FILE_LIST_TRANFER_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __FILE_LIST_TRANFER_H</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_plugin_interface2_8h.xhtml" title="RakNet&#39;s plugin functionality system, version 2. You can derive from this to create your own plugins...">PluginInterface2.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/dbe/_d_s___map_8h.xhtml">DS_Map.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/d03/_packet_priority_8h.xhtml" title="This file contains enumerations for packet priority and reliability enumerations.">PacketPriority.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d0/dc4/_file_list_8h.xhtml">FileList.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d8d/_d_s___queue_8h.xhtml">DS_Queue.h</a>&quot;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/ddd/_simple_mutex_8h.xhtml" title="[Internal] Encapsulates a mutex">SimpleMutex.h</a>&quot;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml">ThreadPool.h</a>&quot;</span></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">namespace </span>SLNet</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>IncrementalReadInterface;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">class </span>FileListTransferCBInterface;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">class </span>FileListProgress;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">struct </span>FileListReceiver;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml"> 62</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer" title="A plugin to provide a simple way to compress and incrementally send the files in the FileList structu...">FileListTransfer</a> : <span class="keyword">public</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#db/d5e/class_s_l_net_1_1_plugin_interface2">PluginInterface2</a></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// GetInstance() and DestroyInstance(instance*)</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#af3e49377f340027d211b2814949efc48">STATIC_FACTORY_DECLARATIONS</a>(<a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer" title="A plugin to provide a simple way to compress and incrementally send the files in the FileList structu...">FileListTransfer</a>)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer" title="A plugin to provide a simple way to compress and incrementally send the files in the FileList structu...">FileListTransfer</a>();</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer" title="A plugin to provide a simple way to compress and incrementally send the files in the FileList structu...">FileListTransfer</a>();</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">void</span> StartIncrementalReadThreads(<span class="keywordtype">int</span> numThreads, <span class="keywordtype">int</span> threadPriority=-99999);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> SetupReceive(<a class="code" href="../../d9/d93/class_s_l_net_1_1_file_list_transfer_c_b_interface.xhtml" title="Used by FileListTransfer plugin as a callback for when we get a file.">FileListTransferCBInterface</a> *handler, <span class="keywordtype">bool</span> deleteHandler, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> allowedSender);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">void</span> Send(<a class="code" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *fileList, <a class="code" href="../../da/d27/class_s_l_net_1_1_rak_peer_interface.xhtml" title="The main interface for network communications.">SLNet::RakPeerInterface</a> *rakPeer, <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> recipient, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> setID, <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> priority, <span class="keywordtype">char</span> orderingChannel, <a class="code" href="../../df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml">IncrementalReadInterface</a> *_incrementalReadInterface=0, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _chunkSize=262144*4*16);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetPendingFilesToAddress(<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> recipient);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">void</span> CancelReceive(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> inSetId);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordtype">void</span> RemoveReceiver(<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> systemAddress);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordtype">bool</span> IsHandlerActive(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> inSetId);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">void</span> AddCallback(<a class="code" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a> *cb);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">void</span> RemoveCallback(<a class="code" href="../../d5/d7b/class_s_l_net_1_1_file_list_progress.xhtml" title="Callback interface set with FileList::SetCallback() in case you want progress notifications when File...">FileListProgress</a> *cb);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">void</span> ClearCallbacks(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordtype">void</span> GetCallbacks(<a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;FileListProgress*&gt;</a> &amp;callbacks);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga5c8f613a7c294e0b96deccbdabc38f18">PluginReceiveResult</a> OnReceive(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRakPeerShutdown(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnClosedConnection(<span class="keyword">const</span> <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> &amp;systemAddress, <a class="code" href="../../dd/d3f/struct_s_l_net_1_1_rak_net_g_u_i_d.xhtml">RakNetGUID</a> rakNetGUID, <a class="code" href="../../de/d14/group___p_l_u_g_i_n___i_n_t_e_r_f_a_c_e___g_r_o_u_p.xhtml#ga4d3ac5ca8821fadad6d22d0267e06803">PI2_LostConnectionReason</a> lostConnectionReason );</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Update(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">bool</span> DecodeSetHeader(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">bool</span> DecodeFile(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <span class="keywordtype">bool</span> fullFile);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">void</span> Clear(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">void</span> OnReferencePush(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet, <span class="keywordtype">bool</span> fullFile);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">void</span> OnReferencePushAck(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d8/d23/struct_s_l_net_1_1_packet" title="This represents a user message from another system.">Packet</a> *packet);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordtype">void</span> SendIRIToAddress(<a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> systemAddress, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> inSetId);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#aa5a0eed6fae338827894d962a673c9d3"> 141</a></span>&#160; <a class="code" href="../../dc/da9/class_data_structures_1_1_map.xhtml">DataStructures::Map&lt;unsigned short, FileListReceiver*&gt;</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#aa5a0eed6fae338827894d962a673c9d3">fileListReceivers</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a89b77d584a560a7bedcd21ca4299c2d3"> 142</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a89b77d584a560a7bedcd21ca4299c2d3">setId</a>;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a27511a50bb6888fac8f5b8b038f7544a"> 143</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt;FileListProgress*&gt;</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a27511a50bb6888fac8f5b8b038f7544a">fileListProgressCallbacks</a>;</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"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml"> 145</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d0/d28/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push">FileToPush</a></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a7f99e58a95cf4a0214d1ac9b75cf296e"> 147</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#d6/dd8/struct_s_l_net_1_1_file_list_node" title="Represents once instance of a file.">FileListNode</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a7f99e58a95cf4a0214d1ac9b75cf296e">fileListNode</a>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a0551deb28a349f5cbcd0e28f36c4d6d6"> 148</a></span>&#160; <a class="code" href="../../d7/d03/_packet_priority_8h.xhtml#a659378374e516180f93640c79f59705c" title="These enumerations are used to describe when packets are delivered.">PacketPriority</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a0551deb28a349f5cbcd0e28f36c4d6d6">packetPriority</a>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ac99338e22d99f8d0108d051cc4dfbcde"> 149</a></span>&#160; <span class="keywordtype">char</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ac99338e22d99f8d0108d051cc4dfbcde">orderingChannel</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a641f057976fddd6be237ca04a5b20733"> 150</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a641f057976fddd6be237ca04a5b20733">currentOffset</a>;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae5a0fc03e233f2847b2ba630cee0f046"> 152</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae5a0fc03e233f2847b2ba630cee0f046">setIndex</a>;</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a999824ca605291b1f4164f608ae62329"> 153</a></span>&#160; <a class="code" href="../../df/d02/class_s_l_net_1_1_incremental_read_interface.xhtml">IncrementalReadInterface</a> *<a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a999824ca605291b1f4164f608ae62329">incrementalReadInterface</a>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a943fe2dba35078b156f6153d01252a07"> 154</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a943fe2dba35078b156f6153d01252a07">chunkSize</a>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; };</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml"> 156</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d8/d9a/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push_recipient">FileToPushRecipient</a></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae590b4d4cd158d315e0ff0bda99007b3"> 158</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae590b4d4cd158d315e0ff0bda99007b3">refCount</a>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a99ad84cca629bb4a3e90dfbf3c232a54"> 159</a></span>&#160; <a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SimpleMutex</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a99ad84cca629bb4a3e90dfbf3c232a54">refCountMutex</a>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">void</span> DeleteThis(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordtype">void</span> AddRef(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordtype">void</span> Deref(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a4a684841bb5d14c63cae91320e894d6b"> 164</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a4a684841bb5d14c63cae91320e894d6b">systemAddress</a>;</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a4885c6e3219c19bbce1ddf0ccc6a66be"> 165</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a4885c6e3219c19bbce1ddf0ccc6a66be">setId</a>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a50d89f8f7648dacc09f1c7892c7e079f"> 168</a></span>&#160; <a class="code" href="../../d3/d87/class_data_structures_1_1_queue.xhtml">DataStructures::Queue&lt;FileToPush*&gt;</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a50d89f8f7648dacc09f1c7892c7e079f">filesToPush</a>;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; };</div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a1f75355db5e74518b5601fb4923d36d0"> 170</a></span>&#160; <a class="code" href="../../d4/d78/class_data_structures_1_1_list.xhtml">DataStructures::List&lt; FileToPushRecipient* &gt;</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a1f75355db5e74518b5601fb4923d36d0">fileToPushRecipientList</a>;</div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a41924d5ed8838a792f283b6f16a37f85"> 171</a></span>&#160; <a class="code" href="../../d9/da8/class_s_l_net_1_1_simple_mutex.xhtml" title="An easy to use mutex.">SimpleMutex</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a41924d5ed8838a792f283b6f16a37f85">fileToPushRecipientListMutex</a>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">void</span> RemoveFromList(<a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d8/d9a/struct_s_l_net_1_1_file_list_transfer_1_1_file_to_push_recipient">FileToPushRecipient</a> *ftpr);</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"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml"> 174</a></span>&#160; <span class="keyword">struct </span><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d1/d90/struct_s_l_net_1_1_file_list_transfer_1_1_thread_data">ThreadData</a></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae272b0afd1277e802f223a5cb5041e98"> 176</a></span>&#160; <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#dd/df6/class_s_l_net_1_1_file_list_transfer" title="A plugin to provide a simple way to compress and incrementally send the files in the FileList structu...">FileListTransfer</a> *<a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae272b0afd1277e802f223a5cb5041e98">fileListTransfer</a>;</div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#af4a37db23a6d9e0529db0987ce8dff89"> 177</a></span>&#160; <a class="code" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml" title="Network address for a system.">SystemAddress</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#af4a37db23a6d9e0529db0987ce8dff89">systemAddress</a>;</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae72a125f4f6ccf2c720fac7165ca52da"> 178</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#ae72a125f4f6ccf2c720fac7165ca52da">setId</a>;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; };</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a038841125b3c02c6d2c8224256a377d0"> 181</a></span>&#160; <a class="code" href="../../d1/dbc/struct_thread_pool.xhtml">ThreadPool&lt;ThreadData, int&gt;</a> <a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#a038841125b3c02c6d2c8224256a377d0">threadPool</a>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">friend</span> <span class="keywordtype">int</span> SendIRIToAddressCB(<a class="code" href="../../d0/dae/group___f_i_l_e___l_i_s_t___t_r_a_n_s_f_e_r___g_r_o_u_p.xhtml#d1/d90/struct_s_l_net_1_1_file_list_transfer_1_1_thread_data">FileListTransfer::ThreadData</a> threadData, <span class="keywordtype">bool</span> *<a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#a1e43a7b7ea9f1fd549450012cd19ea87">returnOutput</a>, <span class="keywordtype">void</span>* <a class="code" href="../../dc/d0b/_thread_pool_8h.xhtml#adc398480893e637cf795fe46534ce7c4">perThreadData</a>);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;};</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="preprocessor">#endif // _RAKNET_SUPPORT_*</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/df4/_file_list_transfer_8h.xhtml">FileListTransfer.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,142 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/smartptr.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df7/smartptr_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">smartptr.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../dd/dc5/memoryoverride_8h_source.xhtml">memoryoverride.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../db/dbd/_export_8h_source.xhtml">Export.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/df7/smartptr_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml">SLNet::ReferenceCounter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">SLNet::RakNetSmartPtr&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/df7/smartptr_8h.xhtml">smartptr.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,309 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/smartptr.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df7/smartptr_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">smartptr.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/df7/smartptr_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef __RAKNET_SMART_PTR_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __RAKNET_SMART_PTR_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// From http://www.codeproject.com/KB/cpp/SmartPointers.aspx</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// with bugs fixed</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;<a class="code" href="../../dd/dc5/memoryoverride_8h.xhtml" title="If _USE_RAK_MEMORY_OVERRIDE is defined, memory allocations go through rakMalloc, rakRealloc, and rakFree.">memoryoverride.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../db/dbd/_export_8h.xhtml">Export.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//static int allocCount=0;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">//static int deallocCount=0;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml"> 31</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml">ReferenceCounter</a></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordtype">int</span> refCount;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a0b4ace561bf78c4aabbe0f023830fbc2"> 37</a></span>&#160; <a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a0b4ace561bf78c4aabbe0f023830fbc2">ReferenceCounter</a>() {refCount=0;}</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a5e38354033bef34633f0517fff124aa7"> 38</a></span>&#160; <a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a5e38354033bef34633f0517fff124aa7">~ReferenceCounter</a>() {}</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a8eca4aa2ab19980202ca8e45042b4605"> 39</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a8eca4aa2ab19980202ca8e45042b4605">AddRef</a>() {refCount++;}</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a5025bb5ba27512e796d6cf7fdd41531d"> 40</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a5025bb5ba27512e796d6cf7fdd41531d">Release</a>() {<span class="keywordflow">return</span> --refCount;}</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a803af73ea0243fdc22d10f389e4943ce"> 41</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml#a803af73ea0243fdc22d10f389e4943ce">GetRefCount</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> refCount;}</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;};</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml"> 44</a></span>&#160;<span class="keyword">template</span> &lt; <span class="keyword">typename</span> T &gt; <span class="keyword">class </span><a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr</a></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; T* ptr; <span class="comment">// pointer</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="../../de/d18/class_s_l_net_1_1_reference_counter.xhtml">ReferenceCounter</a>* reference; <span class="comment">// Reference refCount</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#ad0768074def46531fd9f983584b8643b"> 51</a></span>&#160; <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr</a>() : ptr(0), reference(0)</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// Do not allocate by default, wasteful if we just have a list of preallocated and unassigend smart pointers</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#ac10c70885dd3815a91697820aa70d220"> 56</a></span>&#160; <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr</a>(T* pValue) : ptr(pValue)</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; reference = SLNet::OP_NEW&lt;ReferenceCounter&gt;(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; reference-&gt;AddRef();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment">// allocCount+=2;</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment">// printf(&quot;allocCount=%i deallocCount=%i Line=%i\n&quot;,allocCount, deallocCount, __LINE__);</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a8ddd723bdedf7a53a14032eba088fd2d"> 65</a></span>&#160; <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr</a>(<span class="keyword">const</span> <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr&lt;T&gt;</a>&amp; sp) : ptr(sp.ptr), reference(sp.reference)</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (reference)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; reference-&gt;AddRef();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#ab358decc1a96da3629ba694ca10773a1"> 71</a></span>&#160; ~<a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr</a>()</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span>(reference &amp;&amp; reference-&gt;Release() == 0)</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(ptr, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(reference, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">// deallocCount+=2;</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment">// printf(&quot;allocCount=%i deallocCount=%i Line=%i\n&quot;,allocCount, deallocCount, __LINE__);</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a4c38f005f7307c22e036128344a69a30"> 83</a></span>&#160; <span class="keywordtype">bool</span> IsNull(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> ptr==0;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#ab7aff2a46dc120cdf879a5c6072afb3d"> 88</a></span>&#160; <span class="keywordtype">void</span> SetNull(<span class="keywordtype">void</span>)</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span>(reference &amp;&amp; reference-&gt;Release() == 0)</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(ptr, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(reference, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment">// deallocCount+=2;</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment">// printf(&quot;allocCount=%i deallocCount=%i Line=%i\n&quot;,allocCount, deallocCount, __LINE__);</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; ptr=0;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; reference=0;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a2e69e4796eb02b8a0c9bafc717edf142"> 102</a></span>&#160; <span class="keywordtype">bool</span> IsUnique(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> reference-&gt;GetRefCount()==1;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</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">// Allow you to change the values of the internal contents of the pointer, without changing what is pointed to by other instances of the smart pointer</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a4867cc78064177f65c8389569ae5b7ec"> 108</a></span>&#160; <span class="keywordtype">void</span> Clone(<span class="keywordtype">bool</span> copyContents)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (IsUnique()==<span class="keyword">false</span>)</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; reference-&gt;Release();</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; reference = SLNet::OP_NEW&lt;ReferenceCounter&gt;(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; reference-&gt;AddRef();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; T* oldPtr=ptr;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; ptr= SLNet::OP_NEW&lt;T&gt;(<a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span> (copyContents)</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; *ptr=*oldPtr;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a177cced516c633621b6a4422d5112c40"> 123</a></span>&#160; <span class="keywordtype">int</span> GetRefCount(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> reference-&gt;GetRefCount();</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#ab033dcaebebfed84be10b19ca157181d"> 128</a></span>&#160; T&amp; operator* ()</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; {</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> *ptr;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a291195e4b902b8b8cdbd11a417fe2775"> 133</a></span>&#160; <span class="keyword">const</span> T&amp; operator* ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> *ptr;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#acbbf16ddf2f149672ed8dbf6da631985"> 138</a></span>&#160; T* operator-&gt; ()</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">return</span> ptr;</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;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#ac3e1914519a55f0fa25cb3264c2eeded"> 143</a></span>&#160; <span class="keyword">const</span> T* operator-&gt; ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> ptr;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a71c85b1b497d656c0e3c7595aed0b12e"> 148</a></span>&#160; <span class="keywordtype">bool</span> operator == (<span class="keyword">const</span> <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr&lt;T&gt;</a>&amp; sp)</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="keywordflow">return</span> ptr == sp.ptr;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a28376b626ec2f9db096309fc45cb0cd1"> 152</a></span>&#160; <span class="keywordtype">bool</span> operator&lt;( const RakNetSmartPtr&lt;T&gt; &amp;right ) {<span class="keywordflow">return</span> ptr &lt; right.ptr;}</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a0d0e6c2fac9800d68775792e6a6b7007"> 153</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a0d0e6c2fac9800d68775792e6a6b7007">operator&gt;</a>( <span class="keyword">const</span> <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr&lt;T&gt;</a> &amp;right ) {<span class="keywordflow">return</span> ptr &gt; right.ptr;}</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#ae0344149dc99b9a5e49509a79eeed827"> 155</a></span>&#160; <span class="keywordtype">bool</span> operator != (<span class="keyword">const</span> <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr&lt;T&gt;</a>&amp; sp)</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> ptr != sp.ptr;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml#a6b69d57b320bb88f8f60b79d922bc903"> 160</a></span>&#160; <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr&lt;T&gt;</a>&amp; operator = (<span class="keyword">const</span> <a class="code" href="../../d6/d84/class_s_l_net_1_1_rak_net_smart_ptr.xhtml">RakNetSmartPtr&lt;T&gt;</a>&amp; sp)</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// Assignment operator</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">this</span> != &amp;sp) <span class="comment">// Avoid self assignment</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="keywordflow">if</span>(reference &amp;&amp; reference-&gt;Release() == 0)</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(ptr, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a79772d09451f784e87bec85694fad1ed">SLNet::OP_DELETE</a>(reference, <a class="code" href="../../d8/db0/defines_8h.xhtml#a8661ec2137eef33a8cd0cd618a748871">_FILE_AND_LINE_</a>);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment">// deallocCount+=2;</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment">// printf(&quot;allocCount=%i deallocCount=%i Line=%i\n&quot;,allocCount, deallocCount, __LINE__);</span></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; ptr = sp.ptr;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; reference = sp.reference;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> (reference)</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; reference-&gt;AddRef();</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;};</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;} <span class="comment">// namespace SLNet</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/df7/smartptr_8h.xhtml">smartptr.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var _file_list_node_context_8h =
[
[ "FileListNodeContext", "d6/dff/struct_file_list_node_context.xhtml", "d6/dff/struct_file_list_node_context" ],
[ "operator<<", "dc/df9/_file_list_node_context_8h.xhtml#a6d43de09c67f0bb3c62087ad1e8d7247", null ],
[ "operator>>", "dc/df9/_file_list_node_context_8h.xhtml#a6f85dfda7d8159491099afab31eac6bd", null ]
];

View File

@ -0,0 +1,217 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/FileListNodeContext.h File 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df9/_file_list_node_context_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">FileListNodeContext.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml">BitStream.h</a>&quot;</code><br/>
</div>
<p><a href="../../dc/df9/_file_list_node_context_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6d43de09c67f0bb3c62087ad1e8d7247"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df9/_file_list_node_context_8h.xhtml#a6d43de09c67f0bb3c62087ad1e8d7247">operator&lt;&lt;</a> (<a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> &amp;out, <a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> &amp;in)</td></tr>
<tr class="separator:a6d43de09c67f0bb3c62087ad1e8d7247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f85dfda7d8159491099afab31eac6bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df9/_file_list_node_context_8h.xhtml#a6f85dfda7d8159491099afab31eac6bd">operator&gt;&gt;</a> (<a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> &amp;in, <a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> &amp;out)</td></tr>
<tr class="separator:a6f85dfda7d8159491099afab31eac6bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a6d43de09c67f0bb3c62087ad1e8d7247"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a>&amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> &amp;&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> &amp;&#160;</td>
<td class="paramname"><em>in</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00039">39</a> of file <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml">FileListNodeContext.h</a>.</p>
<p>References <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00032">FileListNodeContext::flnc_extraData1</a>, <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00033">FileListNodeContext::flnc_extraData2</a>, <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00034">FileListNodeContext::flnc_extraData3</a>, <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00031">FileListNodeContext::op</a>, and <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l00922">SLNet::BitStream::Write()</a>.</p>
</div>
</div>
<a class="anchor" id="a6f85dfda7d8159491099afab31eac6bd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a>&amp; operator&gt;&gt; </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a> &amp;&#160;</td>
<td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a> &amp;&#160;</td>
<td class="paramname"><em>out</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00047">47</a> of file <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml">FileListNodeContext.h</a>.</p>
<p>References <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00032">FileListNodeContext::flnc_extraData1</a>, <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00033">FileListNodeContext::flnc_extraData2</a>, <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00034">FileListNodeContext::flnc_extraData3</a>, <a class="el" href="../../dc/df9/_file_list_node_context_8h_source.xhtml#l00031">FileListNodeContext::op</a>, and <a class="el" href="../../d7/dc3/_bit_stream_8h_source.xhtml#l01279">SLNet::BitStream::Read()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/df9/_file_list_node_context_8h.xhtml">FileListNodeContext.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,181 @@
<!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"/>
<title>SLikeNet: Source/include/slikenet/FileListNodeContext.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/df9/_file_list_node_context_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">FileListNodeContext.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../dc/df9/_file_list_node_context_8h.xhtml">Go to the documentation of this file.</a><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"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</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"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</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;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef __FILE_LIST_NODE_CONTEXT_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __FILE_LIST_NODE_CONTEXT_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d7/dc3/_bit_stream_8h.xhtml" title="This class allows you to write and read native types as a string of bits.">BitStream.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml"> 25</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;{</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a7f1e81d9d4886b54bccdd5ea8b7df5b9"> 27</a></span>&#160; <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a7f1e81d9d4886b54bccdd5ea8b7df5b9">FileListNodeContext</a>() {<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a54e8a4a84d5e8489619dae7687f7cced">dataPtr</a>=0; <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a0815770b385f61f4e6881410117f9061">dataLength</a>=0;}</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#ad0f08216d971d6b08d072913b5087501"> 28</a></span>&#160; <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#ad0f08216d971d6b08d072913b5087501">FileListNodeContext</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> o, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> f1, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> f2, <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> f3) : <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a380f8bb5c81f31092e629ed4a12c4b70">op</a>(o), <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a01936c842914204392a8dca3e488adf2">flnc_extraData1</a>(f1), <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a4286a4065fbf45af8d2645e729f1c038">flnc_extraData2</a>(f2), <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a98fa3cd49902544bf6db4d2dda5c8902">flnc_extraData3</a>(f3) {<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a54e8a4a84d5e8489619dae7687f7cced">dataPtr</a>=0; <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a0815770b385f61f4e6881410117f9061">dataLength</a>=0;}</div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#af04e7cb276c31e25799edce1b355ed02"> 29</a></span>&#160; <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#af04e7cb276c31e25799edce1b355ed02">~FileListNodeContext</a>() {}</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a380f8bb5c81f31092e629ed4a12c4b70"> 31</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a380f8bb5c81f31092e629ed4a12c4b70">op</a>;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a01936c842914204392a8dca3e488adf2"> 32</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a01936c842914204392a8dca3e488adf2">flnc_extraData1</a>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a4286a4065fbf45af8d2645e729f1c038"> 33</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a4286a4065fbf45af8d2645e729f1c038">flnc_extraData2</a>;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a98fa3cd49902544bf6db4d2dda5c8902"> 34</a></span>&#160; <a class="code" href="../../df/df2/_native_types_8h.xhtml#a6eb1e68cc391dd753bc8ce896dbb8315">uint32_t</a> <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a98fa3cd49902544bf6db4d2dda5c8902">flnc_extraData3</a>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a54e8a4a84d5e8489619dae7687f7cced"> 35</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a54e8a4a84d5e8489619dae7687f7cced">dataPtr</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a0815770b385f61f4e6881410117f9061"> 36</a></span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a0815770b385f61f4e6881410117f9061">dataLength</a>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;};</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="../../dc/df9/_file_list_node_context_8h.xhtml#a6d43de09c67f0bb3c62087ad1e8d7247"> 39</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a>&amp; <a class="code" href="../../dc/df9/_file_list_node_context_8h.xhtml#a6d43de09c67f0bb3c62087ad1e8d7247">operator&lt;&lt;</a>(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a>&amp; out, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>&amp; in)</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; out.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(in.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a380f8bb5c81f31092e629ed4a12c4b70">op</a>);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; out.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(in.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a01936c842914204392a8dca3e488adf2">flnc_extraData1</a>);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; out.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(in.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a4286a4065fbf45af8d2645e729f1c038">flnc_extraData2</a>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; out.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a2d1187ee508dc9d231d27aed1867d201" title="Write any integral type to a bitstream.">Write</a>(in.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a98fa3cd49902544bf6db4d2dda5c8902">flnc_extraData3</a>);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> out;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../dc/df9/_file_list_node_context_8h.xhtml#a6f85dfda7d8159491099afab31eac6bd"> 47</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a>&amp; <a class="code" href="../../dc/df9/_file_list_node_context_8h.xhtml#a6f85dfda7d8159491099afab31eac6bd">operator&gt;&gt;</a>(<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml">SLNet::BitStream</a>&amp; in, <a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml">FileListNodeContext</a>&amp; out)</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; in.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(out.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a380f8bb5c81f31092e629ed4a12c4b70">op</a>);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordtype">bool</span> success = in.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(out.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a01936c842914204392a8dca3e488adf2">flnc_extraData1</a>);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; (void) success;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; assert(success);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; success = in.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(out.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a4286a4065fbf45af8d2645e729f1c038">flnc_extraData2</a>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; (void) success;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; assert(success);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; success = in.<a class="code" href="../../df/d75/class_s_l_net_1_1_bit_stream.xhtml#a59f38126d8d19bfd264a2e2cace7d1db" title="Read any integral type from a bitstream.">Read</a>(out.<a class="code" href="../../d6/dff/struct_file_list_node_context.xhtml#a98fa3cd49902544bf6db4d2dda5c8902">flnc_extraData3</a>);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; (void) success;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; assert(success);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> in;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../dc/df9/_file_list_node_context_8h.xhtml">FileListNodeContext.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var class_s_l_net_1_1_email_sender =
[
[ "GetResponse", "dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3", null ],
[ "Send", "dc/dfd/class_s_l_net_1_1_email_sender.xhtml#a13221d180b5a94feda1355c6331f8fce", null ],
[ "rakNetRandom", "dc/dfd/class_s_l_net_1_1_email_sender.xhtml#a7ff0521c85b5e8bcea2fa798c0183816", null ]
];

View File

@ -0,0 +1,320 @@
<!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"/>
<title>SLikeNet: SLNet::EmailSender 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="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dc/dfd/class_s_l_net_1_1_email_sender.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="../../d5/d97/class_s_l_net_1_1_email_sender-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::EmailSender Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Rudimentary class to send email from code.
<a href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d8/de4/_email_sender_8h_source.xhtml">slikenet/EmailSender.h</a>&gt;</code></p>
<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:a13221d180b5a94feda1355c6331f8fce"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#a13221d180b5a94feda1355c6331f8fce">Send</a> (const char *hostAddress, unsigned short hostPort, const char *sender, const char *recipient, const char *senderName, const char *recipientName, const char *subject, const char *body, <a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *attachedFiles, bool doPrintf, const char *password)</td></tr>
<tr class="memdesc:a13221d180b5a94feda1355c6331f8fce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends an email. <a href="#a13221d180b5a94feda1355c6331f8fce"></a><br/></td></tr>
<tr class="separator:a13221d180b5a94feda1355c6331f8fce"><td class="memSeparator" colspan="2">&#160;</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:aaaedccdf998f78eba9efa66bcbb9b6c3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#aaaedccdf998f78eba9efa66bcbb9b6c3">GetResponse</a> (<a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> *tcpInterface, const <a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> &amp;emailServer, bool doPrintf)</td></tr>
<tr class="separator:aaaedccdf998f78eba9efa66bcbb9b6c3"><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:a7ff0521c85b5e8bcea2fa798c0183816"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml#a7ff0521c85b5e8bcea2fa798c0183816">rakNetRandom</a></td></tr>
<tr class="separator:a7ff0521c85b5e8bcea2fa798c0183816"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Rudimentary class to send email from code. </p>
<p>Definition at line <a class="el" href="../../d8/de4/_email_sender_8h_source.xhtml#l00039">39</a> of file <a class="el" href="../../d8/de4/_email_sender_8h_source.xhtml">EmailSender.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aaaedccdf998f78eba9efa66bcbb9b6c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char* SLNet::EmailSender::GetResponse </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/dd8/class_s_l_net_1_1_t_c_p_interface.xhtml">TCPInterface</a> *&#160;</td>
<td class="paramname"><em>tcpInterface</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> &amp;&#160;</td>
<td class="paramname"><em>emailServer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>doPrintf</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a13221d180b5a94feda1355c6331f8fce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* SLNet::EmailSender::Send </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>hostAddress</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>hostPort</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>recipient</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>senderName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>recipientName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>subject</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>body</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d7/d87/class_s_l_net_1_1_file_list.xhtml">FileList</a> *&#160;</td>
<td class="paramname"><em>attachedFiles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>doPrintf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>password</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends an email. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">hostAddress</td><td>The address of the email server. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">hostPort</td><td>The port of the email server (usually 25) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sender</td><td>The email address you are sending from. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">recipient</td><td>The email address you are sending to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">senderName</td><td>The email address you claim to be sending from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">recipientName</td><td>The email address you claim to be sending to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">subject</td><td>Email subject </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">body</td><td>Email body </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">attachedFiles</td><td>List of files to attach to the email. (Can be 0 to send none). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">doPrintf</td><td>true to output SMTP info to console(for debugging?) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">password</td><td>Used if the server uses AUTHENTICATE PLAIN over TLS (such as gmail) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a string indicating the error message </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a7ff0521c85b5e8bcea2fa798c0183816"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/dd4/class_s_l_net_1_1_rak_net_random.xhtml">RakNetRandom</a> SLNet::EmailSender::rakNetRandom</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>Definition at line <a class="el" href="../../d8/de4/_email_sender_8h_source.xhtml#l00062">62</a> of file <a class="el" href="../../d8/de4/_email_sender_8h_source.xhtml">EmailSender.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d8/de4/_email_sender_8h_source.xhtml">EmailSender.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../dc/dfd/class_s_l_net_1_1_email_sender.xhtml">EmailSender</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:49 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>