real_time/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager.html
2018-11-12 10:14:43 +01:00

683 rader
35 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: monitor.CommandManager 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="navtreedata.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/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</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('classmonitor_1_1_command_manager.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classmonitor_1_1_command_manager-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">monitor.CommandManager Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (<a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a>) and application level managment of command and answers
<a href="classmonitor_1_1_command_manager.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for monitor.CommandManager:</div>
<div class="dyncontent">
<div class="center"><img src="classmonitor_1_1_command_manager__coll__graph.png" border="0" usemap="#monitor_8_command_manager_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ac8ca53031468acc8be05c37586671a9b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">CommandManagerStatus</a> { <a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3">CommandManagerStatus.AnswerReceived</a>,
<a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398">CommandManagerStatus.Timeout</a>,
<a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407">CommandManagerStatus.Busy</a>
}<tr class="memdesc:ac8ca53031468acc8be05c37586671a9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available status when sending command <a href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ac8ca53031468acc8be05c37586671a9b"><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:a5afd16036cc3d0e69554f69dacad0bcc"><td class="memItemLeft" align="right" valign="top">delegate void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a> (string msg, byte[] buffer)</td></tr>
<tr class="memdesc:a5afd16036cc3d0e69554f69dacad0bcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for sending received data to upper level <a href="#a5afd16036cc3d0e69554f69dacad0bcc">More...</a><br /></td></tr>
<tr class="separator:a5afd16036cc3d0e69554f69dacad0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2248c90d3a59bc2bf376cd876cece72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72">CommandManager</a> (<a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a> callback)</td></tr>
<tr class="memdesc:ac2248c90d3a59bc2bf376cd876cece72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new instance of the T:monitor.CommandManager class. <a href="#ac2248c90d3a59bc2bf376cd876cece72">More...</a><br /></td></tr>
<tr class="separator:ac2248c90d3a59bc2bf376cd876cece72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7329cbf8008bcb8a0280aa7ffa6aa43c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a7329cbf8008bcb8a0280aa7ffa6aa43c">Open</a> (string hostname)</td></tr>
<tr class="memdesc:a7329cbf8008bcb8a0280aa7ffa6aa43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the specified hostname server, using default port number. <a href="#a7329cbf8008bcb8a0280aa7ffa6aa43c">More...</a><br /></td></tr>
<tr class="separator:a7329cbf8008bcb8a0280aa7ffa6aa43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a0054ee87d293577fa39af1fcd5ffee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee">Open</a> (string hostname, int port)</td></tr>
<tr class="memdesc:a0a0054ee87d293577fa39af1fcd5ffee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open connection to server "host", with port number "port" <a href="#a0a0054ee87d293577fa39af1fcd5ffee">More...</a><br /></td></tr>
<tr class="separator:a0a0054ee87d293577fa39af1fcd5ffee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28b0e5a2641391e655aaaaa05a1fdf6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6">Close</a> ()</td></tr>
<tr class="memdesc:ab28b0e5a2641391e655aaaaa05a1fdf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close connection to server <a href="#ab28b0e5a2641391e655aaaaa05a1fdf6">More...</a><br /></td></tr>
<tr class="separator:ab28b0e5a2641391e655aaaaa05a1fdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cd1f2303e47e5148fd3e927a7957363"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">CommandManagerStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363">SendCommand</a> (string cmd, out string answer, double timeout)</td></tr>
<tr class="memdesc:a3cd1f2303e47e5148fd3e927a7957363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a command to TCP server <a href="#a3cd1f2303e47e5148fd3e927a7957363">More...</a><br /></td></tr>
<tr class="separator:a3cd1f2303e47e5148fd3e927a7957363"><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:ab90d68a3d3a9b3935fa9f1a57e8dabfa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa">commandReceivedEvent</a> = null</td></tr>
<tr class="separator:ab90d68a3d3a9b3935fa9f1a57e8dabfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ad2a8eb1139a5a25a6993887c55b3da4e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e">~CommandManager</a> ()</td></tr>
<tr class="memdesc:ad2a8eb1139a5a25a6993887c55b3da4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases unmanaged resources and performs other cleanup operations before the T:monitor.CommandManager is reclaimed by garbage collection. <a href="#ad2a8eb1139a5a25a6993887c55b3da4e">More...</a><br /></td></tr>
<tr class="separator:ad2a8eb1139a5a25a6993887c55b3da4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92e5d42afb61f29d9a4746b4446c2a65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65">OnMessageReception</a> (string message, byte[] buffer)</td></tr>
<tr class="memdesc:a92e5d42afb61f29d9a4746b4446c2a65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback called by <a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a> class after reception of new message <a href="#a92e5d42afb61f29d9a4746b4446c2a65">More...</a><br /></td></tr>
<tr class="separator:a92e5d42afb61f29d9a4746b4446c2a65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f91bb775ba25855be007886b994a5df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df">OnMessageTimeout</a> (object sender, System.Timers.ElapsedEventArgs e)</td></tr>
<tr class="memdesc:a2f91bb775ba25855be007886b994a5df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback called by stopwatch on timeout <a href="#a2f91bb775ba25855be007886b994a5df">More...</a><br /></td></tr>
<tr class="separator:a2f91bb775ba25855be007886b994a5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a07639cd39445a379667a2450e78001b0"><td class="memItemLeft" align="right" valign="top">System.Timers.Timer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0">waitTimer</a> = new System.Timers.Timer()</td></tr>
<tr class="memdesc:a07639cd39445a379667a2450e78001b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer for managing timeout <a href="#a07639cd39445a379667a2450e78001b0">More...</a><br /></td></tr>
<tr class="separator:a07639cd39445a379667a2450e78001b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d27eb1a38efb01559f14a707ff86447"><td class="memItemLeft" align="right" valign="top">ManualResetEvent&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447">waitEvent</a> = new ManualResetEvent(false)</td></tr>
<tr class="separator:a0d27eb1a38efb01559f14a707ff86447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c2c03f93b309e65a45ac91c6eb39bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd">waitForAcknowledge</a> = false</td></tr>
<tr class="memdesc:a39c2c03f93b309e65a45ac91c6eb39bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag to tell rogram to wait for an acknowledge from server <a href="#a39c2c03f93b309e65a45ac91c6eb39bd">More...</a><br /></td></tr>
<tr class="separator:a39c2c03f93b309e65a45ac91c6eb39bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa610e72e8f23f0d26388f204c848ed57"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57">messageReceived</a> = null</td></tr>
<tr class="memdesc:aa610e72e8f23f0d26388f204c848ed57"><td class="mdescLeft">&#160;</td><td class="mdescRight">received message <a href="#aa610e72e8f23f0d26388f204c848ed57">More...</a><br /></td></tr>
<tr class="separator:aa610e72e8f23f0d26388f204c848ed57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea039cd0f99f5193c307b805077669db"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db">isBusy</a> = false</td></tr>
<tr class="memdesc:aea039cd0f99f5193c307b805077669db"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag indicating command manager is currently busy waiting an acknowledge <a href="#aea039cd0f99f5193c307b805077669db">More...</a><br /></td></tr>
<tr class="separator:aea039cd0f99f5193c307b805077669db"><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>Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (<a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a>) and application level managment of command and answers </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00031">31</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="ac8ca53031468acc8be05c37586671a9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8ca53031468acc8be05c37586671a9b">&#9670;&nbsp;</a></span>CommandManagerStatus</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">monitor.CommandManager.CommandManagerStatus</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Available status when sending command </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3"></a>AnswerReceived&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398"></a>Timeout&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407"></a>Busy&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00063">63</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac2248c90d3a59bc2bf376cd876cece72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2248c90d3a59bc2bf376cd876cece72">&#9670;&nbsp;</a></span>CommandManager()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">monitor.CommandManager.CommandManager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a>&#160;</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a new instance of the T:monitor.CommandManager class. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback</td><td>Callback used when new message are received</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00074">74</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="ad2a8eb1139a5a25a6993887c55b3da4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2a8eb1139a5a25a6993887c55b3da4e">&#9670;&nbsp;</a></span>~CommandManager()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">monitor.CommandManager.~CommandManager </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases unmanaged resources and performs other cleanup operations before the T:monitor.CommandManager is reclaimed by garbage collection. </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00086">86</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab28b0e5a2641391e655aaaaa05a1fdf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab28b0e5a2641391e655aaaaa05a1fdf6">&#9670;&nbsp;</a></span>Close()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void monitor.CommandManager.Close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Close connection to server </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00115">115</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a5afd16036cc3d0e69554f69dacad0bcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5afd16036cc3d0e69554f69dacad0bcc">&#9670;&nbsp;</a></span>CommandReceivedEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">delegate void monitor.CommandManager.CommandReceivedEvent </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>msg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte []&#160;</td>
<td class="paramname"><em>buffer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback for sending received data to upper level </p>
</div>
</div>
<a id="a92e5d42afb61f29d9a4746b4446c2a65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92e5d42afb61f29d9a4746b4446c2a65">&#9670;&nbsp;</a></span>OnMessageReception()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void monitor.CommandManager.OnMessageReception </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte []&#160;</td>
<td class="paramname"><em>buffer</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback called by <a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a> class after reception of new message </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>Message received from server</td></tr>
<tr><td class="paramname">buffer</td><td>Raw buffer reived from server</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00125">125</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a2f91bb775ba25855be007886b994a5df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f91bb775ba25855be007886b994a5df">&#9670;&nbsp;</a></span>OnMessageTimeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void monitor.CommandManager.OnMessageTimeout </td>
<td>(</td>
<td class="paramtype">object&#160;</td>
<td class="paramname"><em>sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">System.Timers.ElapsedEventArgs&#160;</td>
<td class="paramname"><em>e</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback called by stopwatch on timeout </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sender</td><td>Sender object</td></tr>
<tr><td class="paramname">e</td><td>Information on elapsed condition</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00156">156</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a7329cbf8008bcb8a0280aa7ffa6aa43c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7329cbf8008bcb8a0280aa7ffa6aa43c">&#9670;&nbsp;</a></span>Open() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.Open </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>hostname</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Open the specified hostname server, using default port number. </p>
<dl class="section return"><dt>Returns</dt><dd>true if connection succeded, false otherwise</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hostname</td><td>Hostname to connect to</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00096">96</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a0a0054ee87d293577fa39af1fcd5ffee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a0054ee87d293577fa39af1fcd5ffee">&#9670;&nbsp;</a></span>Open() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.Open </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>hostname</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#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>Open connection to server "host", with port number "port" </p>
<dl class="section return"><dt>Returns</dt><dd>true if connection succeded, false otherwise</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hostname</td><td>Hostname to connect to</td></tr>
<tr><td class="paramname">port</td><td>Port number for connection</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00107">107</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a3cd1f2303e47e5148fd3e927a7957363"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cd1f2303e47e5148fd3e927a7957363">&#9670;&nbsp;</a></span>SendCommand()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">CommandManagerStatus</a> monitor.CommandManager.SendCommand </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">out string&#160;</td>
<td class="paramname"><em>answer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a command to TCP server </p>
<dl class="section return"><dt>Returns</dt><dd>status that is part of CommandManagerStatus enumerate</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>Command message to send to server</td></tr>
<tr><td class="paramname">answer</td><td>Answer from server, in case of acknowledge</td></tr>
<tr><td class="paramname">timeout</td><td>Timeout (ms) waiting an acknowledge, 0 if no acknowledge needed</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00171">171</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ab90d68a3d3a9b3935fa9f1a57e8dabfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab90d68a3d3a9b3935fa9f1a57e8dabfa">&#9670;&nbsp;</a></span>commandReceivedEvent</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a> monitor.CommandManager.commandReceivedEvent = null</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00037">37</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="aea039cd0f99f5193c307b805077669db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea039cd0f99f5193c307b805077669db">&#9670;&nbsp;</a></span>isBusy</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.isBusy = false</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>flag indicating command manager is currently busy waiting an acknowledge </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00058">58</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="aa610e72e8f23f0d26388f204c848ed57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa610e72e8f23f0d26388f204c848ed57">&#9670;&nbsp;</a></span>messageReceived</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">string monitor.CommandManager.messageReceived = null</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>received message </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00053">53</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a0d27eb1a38efb01559f14a707ff86447"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d27eb1a38efb01559f14a707ff86447">&#9670;&nbsp;</a></span>waitEvent</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ManualResetEvent monitor.CommandManager.waitEvent = new ManualResetEvent(false)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00043">43</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a39c2c03f93b309e65a45ac91c6eb39bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39c2c03f93b309e65a45ac91c6eb39bd">&#9670;&nbsp;</a></span>waitForAcknowledge</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.waitForAcknowledge = false</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Flag to tell rogram to wait for an acknowledge from server </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00048">48</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a07639cd39445a379667a2450e78001b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07639cd39445a379667a2450e78001b0">&#9670;&nbsp;</a></span>waitTimer</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">System.Timers.Timer monitor.CommandManager.waitTimer = new System.Timers.Timer()</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Timer for managing timeout </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00042">42</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</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="namespacemonitor.html">monitor</a></li><li class="navelem"><a class="el" href="classmonitor_1_1_command_manager.html">CommandManager</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>