upload documentation

This commit is contained in:
Bastian Schroll 2018-01-04 09:07:53 +01:00
parent 2500a64a75
commit b8931d1f75
158 changed files with 9664 additions and 1 deletions

14
.gitignore vendored Normal file
View file

@ -0,0 +1,14 @@
\.cache/
\.idea/
\.settings/
\.project
\.pydevproject
\.coverage
logs/

View file

@ -1,3 +1,8 @@
# BOSWatch
Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG - multiple Plugin support - Forum: http://boswatch.de
**Es wird darauf hingewiesen, dass für die Teilnahme am BOS-Funk nur nach den Technischen Richtlinien der BOS zugelassene Funkanlagen verwendet werden dürfen.**
**Der BOS-Funk ist ein nichtöffentlicher mobiler Landfunk. Privatpersonen gehören nicht zum Kreis der berechtigten Funkteilnehmer.** _(Quelle: TR-BOS)_
***
**The intercept of the German BOS radio is strictly prohibited and will be prosecuted. The use is only permitted for authorized personnel.**

139
_docu/html/annotated.html Normal file
View file

@ -0,0 +1,139 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Data Structures</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('annotated.html','');});
/* @license-end */
</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="headertitle">
<div class="title">Data Structures</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>boswatch</b></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>config</b></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1config_1_1_config.html" target="_self">Config</a></td><td class="desc"><a class="el" href="classboswatch_1_1config_1_1_config.html" title="Config class. ">Config</a> class </td></tr>
<tr id="row_0_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>decoder</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_0_" class="arrow" onclick="toggleFolder('0_1_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>decoder</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html" target="_self">Decoder</a></td><td class="desc">Main decoder class </td></tr>
<tr id="row_0_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_1_" class="arrow" onclick="toggleFolder('0_1_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>fms</b></td><td class="desc"></td></tr>
<tr id="row_0_1_1_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html" target="_self">Fms</a></td><td class="desc">FMS decoder class </td></tr>
<tr id="row_0_1_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_2_" class="arrow" onclick="toggleFolder('0_1_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>pocsag</b></td><td class="desc"></td></tr>
<tr id="row_0_1_2_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html" target="_self">Pocsag</a></td><td class="desc">POCSAG decoder class </td></tr>
<tr id="row_0_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_3_" class="arrow" onclick="toggleFolder('0_1_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>zvei</b></td><td class="desc"></td></tr>
<tr id="row_0_1_3_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html" target="_self">Zvei</a></td><td class="desc">ZVEI decoder class </td></tr>
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>network</b></td><td class="desc"></td></tr>
<tr id="row_0_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_2_0_" class="arrow" onclick="toggleFolder('0_2_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>client</b></td><td class="desc"></td></tr>
<tr id="row_0_2_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html" target="_self">TCPClient</a></td><td class="desc">TCP client class </td></tr>
<tr id="row_0_2_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_2_1_" class="arrow" onclick="toggleFolder('0_2_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>server</b></td><td class="desc"></td></tr>
<tr id="row_0_2_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html" target="_self">TCPHandler</a></td><td class="desc">RequestHandler class for our server </td></tr>
<tr id="row_0_2_1_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html" target="_self">TCPServer</a></td><td class="desc">TCP server class </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>watchdog</b></td><td class="desc"></td></tr>
<tr id="row_0_3_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_3_0_" class="arrow" onclick="toggleFolder('0_3_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>watchdog</b></td><td class="desc"></td></tr>
<tr id="row_0_3_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html" target="_self">BWWatchdog</a></td><td class="desc">Class for an Watchdog to observe, if needed subprocesses still running </td></tr>
</table>
</div><!-- directory -->
</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 Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,36 @@
var annotated_dup =
[
[ "boswatch", null, [
[ "config", null, [
[ "Config", "classboswatch_1_1config_1_1_config.html", "classboswatch_1_1config_1_1_config" ]
] ],
[ "decoder", null, [
[ "decoder", null, [
[ "Decoder", "classboswatch_1_1decoder_1_1decoder_1_1_decoder.html", "classboswatch_1_1decoder_1_1decoder_1_1_decoder" ]
] ],
[ "fms", null, [
[ "Fms", "classboswatch_1_1decoder_1_1fms_1_1_fms.html", "classboswatch_1_1decoder_1_1fms_1_1_fms" ]
] ],
[ "pocsag", null, [
[ "Pocsag", "classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html", "classboswatch_1_1decoder_1_1pocsag_1_1_pocsag" ]
] ],
[ "zvei", null, [
[ "Zvei", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html", "classboswatch_1_1decoder_1_1zvei_1_1_zvei" ]
] ]
] ],
[ "network", null, [
[ "client", null, [
[ "TCPClient", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html", "classboswatch_1_1network_1_1client_1_1_t_c_p_client" ]
] ],
[ "server", null, [
[ "TCPHandler", "classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html", "classboswatch_1_1network_1_1server_1_1_t_c_p_handler" ],
[ "TCPServer", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html", "classboswatch_1_1network_1_1server_1_1_t_c_p_server" ]
] ]
] ],
[ "watchdog", null, [
[ "watchdog", null, [
[ "BWWatchdog", "classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html", "classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog" ]
] ]
] ]
] ]
];

BIN
_docu/html/bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

BIN
_docu/html/bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

View file

@ -0,0 +1,222 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch.config.Config 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classboswatch_1_1config_1_1_config.html','');});
/* @license-end */
</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-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> </div>
<div class="headertitle">
<div class="title">boswatch.config.Config Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classboswatch_1_1config_1_1_config.html" title="Config class. ">Config</a> class.
<a href="classboswatch_1_1config_1_1_config.html#details">More...</a></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:a5a7fd74fa397a8c96245b51f51aa6f6a"><td class="memItemLeft" align="right" valign="top"><a id="a5a7fd74fa397a8c96245b51f51aa6f6a"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1config_1_1_config.html#a5a7fd74fa397a8c96245b51f51aa6f6a">__init__</a> (self)</td></tr>
<tr class="memdesc:a5a7fd74fa397a8c96245b51f51aa6f6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">init config class <br /></td></tr>
<tr class="separator:a5a7fd74fa397a8c96245b51f51aa6f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24771882fd22b6c93f0924772199e6f7"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7">loadConfig</a> (self, configFile)</td></tr>
<tr class="memdesc:a24771882fd22b6c93f0924772199e6f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">loads a given configuration in the class wide config variable <a href="#a24771882fd22b6c93f0924772199e6f7">More...</a><br /></td></tr>
<tr class="separator:a24771882fd22b6c93f0924772199e6f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8c521d735a864121ffb04f95bbc118e"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1config_1_1_config.html#ae8c521d735a864121ffb04f95bbc118e">getConfig</a> (self, section, key)</td></tr>
<tr class="separator:ae8c521d735a864121ffb04f95bbc118e"><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-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a316a493088cb63c24113f9d77f2694f8"><td class="memItemLeft" align="right" valign="top"><a id="a316a493088cb63c24113f9d77f2694f8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>file</b> = configparser.ConfigParser()</td></tr>
<tr class="separator:a316a493088cb63c24113f9d77f2694f8"><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 class="el" href="classboswatch_1_1config_1_1_config.html" title="Config class. ">Config</a> class. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a24771882fd22b6c93f0924772199e6f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24771882fd22b6c93f0924772199e6f7">&#9670;&nbsp;</a></span>loadConfig()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.config.Config.loadConfig </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>configFile</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>loads a given configuration in the class wide config variable </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">configFile</td><td>Path to the config file</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: status of loading </dd></dl>
<div class="fragment"><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">def </span>loadConfig(self, configFile):</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!loads a given configuration in the class wide config variable</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="stringliteral"> @param configFile: Path to the config file</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="stringliteral"> @return: status of loading&quot;&quot;&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; logging.debug(<span class="stringliteral">&quot;load config file from: %s&quot;</span>, configFile)</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; self.file.read(configFile, <span class="stringliteral">&quot;utf-8&quot;</span>)</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; logging.exception(<span class="stringliteral">&quot;cannot load config file&quot;</span>)</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="ae8c521d735a864121ffb04f95bbc118e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8c521d735a864121ffb04f95bbc118e">&#9670;&nbsp;</a></span>getConfig()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.config.Config.getConfig </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>section</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Method to read a single config entry
@param section: Section to read from
@param key: Value to read
@return: The value from config file</pre> <div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">def </span>getConfig(self, section, key):</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="stringliteral">&quot;&quot;&quot;Method to read a single config entry</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="stringliteral"> @param section: Section to read from</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="stringliteral"> @param key: Value to read</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="stringliteral"> @return: The value from config file&quot;&quot;&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> self.file.get(section, key)</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; logging.exception(<span class="stringliteral">&quot;Error while reading a config entry&quot;</span>)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>config.py</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"><b>boswatch</b></li><li class="navelem"><b>config</b></li><li class="navelem"><a class="el" href="classboswatch_1_1config_1_1_config.html">Config</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,6 @@
var classboswatch_1_1config_1_1_config =
[
[ "__init__", "classboswatch_1_1config_1_1_config.html#a5a7fd74fa397a8c96245b51f51aa6f6a", null ],
[ "loadConfig", "classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7", null ],
[ "getConfig", "classboswatch_1_1config_1_1_config.html#ae8c521d735a864121ffb04f95bbc118e", null ]
];

View file

@ -0,0 +1,254 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch.decoder.decoder.Decoder 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classboswatch_1_1decoder_1_1decoder_1_1_decoder.html','');});
/* @license-end */
</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-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Data Fields</a> &#124;
<a href="#pri-methods">Private Member Functions</a> </div>
<div class="headertitle">
<div class="title">boswatch.decoder.decoder.Decoder Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Main decoder class.
<a href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#details">More...</a></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:ae15cb65a69572a1a59943550496f53c0"><td class="memItemLeft" align="right" valign="top"><a id="ae15cb65a69572a1a59943550496f53c0"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#ae15cb65a69572a1a59943550496f53c0">__init__</a> (self)</td></tr>
<tr class="memdesc:ae15cb65a69572a1a59943550496f53c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance. <br /></td></tr>
<tr class="separator:ae15cb65a69572a1a59943550496f53c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add39dbdb43ed0168c310457a7c1df493"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#add39dbdb43ed0168c310457a7c1df493">decode</a> (self, data)</td></tr>
<tr class="memdesc:add39dbdb43ed0168c310457a7c1df493"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check on keyword and call the right decoder. <a href="#add39dbdb43ed0168c310457a7c1df493">More...</a><br /></td></tr>
<tr class="separator:add39dbdb43ed0168c310457a7c1df493"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classboswatch_1_1config_1_1_config"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classboswatch_1_1config_1_1_config')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classboswatch_1_1config_1_1_config.html">boswatch.config.Config</a></td></tr>
<tr class="memitem:a5a7fd74fa397a8c96245b51f51aa6f6a inherit pub_methods_classboswatch_1_1config_1_1_config"><td class="memItemLeft" align="right" valign="top"><a id="a5a7fd74fa397a8c96245b51f51aa6f6a"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1config_1_1_config.html#a5a7fd74fa397a8c96245b51f51aa6f6a">__init__</a> (self)</td></tr>
<tr class="memdesc:a5a7fd74fa397a8c96245b51f51aa6f6a inherit pub_methods_classboswatch_1_1config_1_1_config"><td class="mdescLeft">&#160;</td><td class="mdescRight">init config class <br /></td></tr>
<tr class="separator:a5a7fd74fa397a8c96245b51f51aa6f6a inherit pub_methods_classboswatch_1_1config_1_1_config"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24771882fd22b6c93f0924772199e6f7 inherit pub_methods_classboswatch_1_1config_1_1_config"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7">loadConfig</a> (self, configFile)</td></tr>
<tr class="memdesc:a24771882fd22b6c93f0924772199e6f7 inherit pub_methods_classboswatch_1_1config_1_1_config"><td class="mdescLeft">&#160;</td><td class="mdescRight">loads a given configuration in the class wide config variable <a href="classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7">More...</a><br /></td></tr>
<tr class="separator:a24771882fd22b6c93f0924772199e6f7 inherit pub_methods_classboswatch_1_1config_1_1_config"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8c521d735a864121ffb04f95bbc118e inherit pub_methods_classboswatch_1_1config_1_1_config"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1config_1_1_config.html#ae8c521d735a864121ffb04f95bbc118e">getConfig</a> (self, section, key)</td></tr>
<tr class="separator:ae8c521d735a864121ffb04f95bbc118e inherit pub_methods_classboswatch_1_1config_1_1_config"><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>
Data Fields</h2></td></tr>
<tr class="memitem:adbb7498807175d67de1559c36b3f3dd2"><td class="memItemLeft" align="right" valign="top"><a id="adbb7498807175d67de1559c36b3f3dd2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>config</b></td></tr>
<tr class="separator:adbb7498807175d67de1559c36b3f3dd2"><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:aa9fc1d1ae059e6b1f8f8a31d86d4fb9f"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f">_getClientData</a> (self, decoded)</td></tr>
<tr class="memdesc:aa9fc1d1ae059e6b1f8f8a31d86d4fb9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the client information to the decoded data. <a href="#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f">More...</a><br /></td></tr>
<tr class="separator:aa9fc1d1ae059e6b1f8f8a31d86d4fb9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_attribs_classboswatch_1_1config_1_1_config"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classboswatch_1_1config_1_1_config')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classboswatch_1_1config_1_1_config.html">boswatch.config.Config</a></td></tr>
<tr class="memitem:a316a493088cb63c24113f9d77f2694f8 inherit pub_static_attribs_classboswatch_1_1config_1_1_config"><td class="memItemLeft" align="right" valign="top"><a id="a316a493088cb63c24113f9d77f2694f8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>file</b> = configparser.ConfigParser()</td></tr>
<tr class="separator:a316a493088cb63c24113f9d77f2694f8 inherit pub_static_attribs_classboswatch_1_1config_1_1_config"><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>Main decoder class. </p>
<p>This class check if any decoder keyword is in the given data. If a keyword is found in this string, the class calls the correct decoder. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="add39dbdb43ed0168c310457a7c1df493"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add39dbdb43ed0168c310457a7c1df493">&#9670;&nbsp;</a></span>decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.decoder.decoder.Decoder.decode </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#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>Check on keyword and call the right decoder. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Data for decoding</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: Decoded data or None </dd></dl>
<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">def </span>decode(self, data):</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Check on keyword and call the right decoder</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="stringliteral"> @param data: Data for decoding</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="stringliteral"> @return: Decoded data or None&quot;&quot;&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">if</span> <span class="stringliteral">&quot;FMS:&quot;</span> <span class="keywordflow">in</span> data:</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; logging.debug(<span class="stringliteral">&quot;found FMS&quot;</span>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; dec = <a class="code" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html">boswatch.decoder.fms.Fms</a>()</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="keywordflow">elif</span> <span class="stringliteral">&quot;ZVEI1:&quot;</span> <span class="keywordflow">in</span> data:</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; logging.debug(<span class="stringliteral">&quot;found ZVEI&quot;</span>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; zvei = <a class="code" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html">boswatch.decoder.zvei.Zvei</a>()</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span> zvei.decode(data):</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> self._getClientData(zvei.getDecoded())</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> <span class="keywordtype">None</span></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="keywordflow">elif</span> <span class="stringliteral">&quot;POCSAG&quot;</span> <span class="keywordflow">in</span> data:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; logging.debug(<span class="stringliteral">&quot;found POCSAG&quot;</span>)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; dec = <a class="code" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html">boswatch.decoder.pocsag.Pocsag</a>()</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="keywordflow">else</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; logging.warning(<span class="stringliteral">&quot;No data found&quot;</span>)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> <span class="keywordtype">None</span></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">return</span> self._getClientData(dec.decode(data))</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="ttc" id="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag_html"><div class="ttname"><a href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html">boswatch.decoder.pocsag.Pocsag</a></div><div class="ttdoc">POCSAG decoder class. </div><div class="ttdef"><b>Definition:</b> pocsag.py:22</div></div>
<div class="ttc" id="classboswatch_1_1decoder_1_1zvei_1_1_zvei_html"><div class="ttname"><a href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html">boswatch.decoder.zvei.Zvei</a></div><div class="ttdoc">ZVEI decoder class. </div><div class="ttdef"><b>Definition:</b> zvei.py:22</div></div>
<div class="ttc" id="classboswatch_1_1decoder_1_1fms_1_1_fms_html"><div class="ttname"><a href="classboswatch_1_1decoder_1_1fms_1_1_fms.html">boswatch.decoder.fms.Fms</a></div><div class="ttdoc">FMS decoder class. </div><div class="ttdef"><b>Definition:</b> fms.py:22</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa9fc1d1ae059e6b1f8f8a31d86d4fb9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f">&#9670;&nbsp;</a></span>_getClientData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">def boswatch.decoder.decoder.Decoder._getClientData </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>decoded</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>Add the client information to the decoded data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">decoded</td><td>Decoded data</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: Decoded data with client information </dd></dl>
<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">def </span>_getClientData(self, decoded):</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Add the client information to the decoded data</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="stringliteral"> @param decoded: Decoded data</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="stringliteral"> @return: Decoded data with client information&quot;&quot;&quot;</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> decoded <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; decoded.update({<span class="stringliteral">&quot;clientName&quot;</span>: self.getConfig(<span class="stringliteral">&quot;Client&quot;</span>, <span class="stringliteral">&quot;Name&quot;</span>),</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot;clientVersion&quot;</span>: <span class="stringliteral">&quot;###&quot;</span>,</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="stringliteral">&quot;inputSource&quot;</span>: self.getConfig(<span class="stringliteral">&quot;Server&quot;</span>, <span class="stringliteral">&quot;InputSource&quot;</span>),</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="stringliteral">&quot;timestamp&quot;</span>: time.time(),</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="stringliteral">&quot;frequency&quot;</span>: self.getConfig(<span class="stringliteral">&quot;Stick&quot;</span>, <span class="stringliteral">&quot;Frequency&quot;</span>)})</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> decoded</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>decoder.py</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"><b>boswatch</b></li><li class="navelem"><b>decoder</b></li><li class="navelem"><b>decoder</b></li><li class="navelem"><a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html">Decoder</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,7 @@
var classboswatch_1_1decoder_1_1decoder_1_1_decoder =
[
[ "__init__", "classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#ae15cb65a69572a1a59943550496f53c0", null ],
[ "decode", "classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#add39dbdb43ed0168c310457a7c1df493", null ],
[ "_getClientData", "classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f", null ],
[ "config", "classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#adbb7498807175d67de1559c36b3f3dd2", null ]
];

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,6 @@
var classboswatch_1_1decoder_1_1fms_1_1_fms =
[
[ "__init__", "classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6d2bf5793967e2cf755aa29d5d92670d", null ],
[ "decode", "classboswatch_1_1decoder_1_1fms_1_1_fms.html#a0b595db897f099237994da17f557451c", null ],
[ "_validate", "classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6df642ebc7d0ac9db8da602b1f1aee4c", null ]
];

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,6 @@
var classboswatch_1_1decoder_1_1pocsag_1_1_pocsag =
[
[ "__init__", "classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a011a7f030f156ae2fe560461de759040", null ],
[ "decode", "classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#ab79c8c5e4eeb10107db544c4c806ef08", null ],
[ "_validate", "classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a6162a990f809806293ef3b996004635d", null ]
];

View file

@ -0,0 +1,292 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch.decoder.zvei.Zvei 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classboswatch_1_1decoder_1_1zvei_1_1_zvei.html','');});
/* @license-end */
</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-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> </div>
<div class="headertitle">
<div class="title">boswatch.decoder.zvei.Zvei Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>ZVEI decoder class.
<a href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#details">More...</a></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:af4b26213d6658508719b93488a4856e5"><td class="memItemLeft" align="right" valign="top"><a id="af4b26213d6658508719b93488a4856e5"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#af4b26213d6658508719b93488a4856e5">__init__</a> (self)</td></tr>
<tr class="memdesc:af4b26213d6658508719b93488a4856e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance. <br /></td></tr>
<tr class="separator:af4b26213d6658508719b93488a4856e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a022512d0e73daab5496cd6eeec71bd08"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a022512d0e73daab5496cd6eeec71bd08">decode</a> (self, data)</td></tr>
<tr class="memdesc:a022512d0e73daab5496cd6eeec71bd08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes ZVEI. <a href="#a022512d0e73daab5496cd6eeec71bd08">More...</a><br /></td></tr>
<tr class="separator:a022512d0e73daab5496cd6eeec71bd08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec63074e080a9a415e871e7ca2982be5"><td class="memItemLeft" align="right" valign="top"><a id="aec63074e080a9a415e871e7ca2982be5"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><b>getDecoded</b> (self)</td></tr>
<tr class="separator:aec63074e080a9a415e871e7ca2982be5"><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:aa0c221732f1feb54fc80ef9ba9eae403"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aa0c221732f1feb54fc80ef9ba9eae403">_validate</a> (self, data, regex)</td></tr>
<tr class="memdesc:aa0c221732f1feb54fc80ef9ba9eae403"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if ZVEI is valid. <a href="#aa0c221732f1feb54fc80ef9ba9eae403">More...</a><br /></td></tr>
<tr class="separator:aa0c221732f1feb54fc80ef9ba9eae403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac470c7ddc6e7c87f186ad62d435561fe"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#ac470c7ddc6e7c87f186ad62d435561fe">_replaceDoubleTone</a> (self, data)</td></tr>
<tr class="memdesc:ac470c7ddc6e7c87f186ad62d435561fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the doubleTone sign (here its the 'E') <a href="#ac470c7ddc6e7c87f186ad62d435561fe">More...</a><br /></td></tr>
<tr class="separator:ac470c7ddc6e7c87f186ad62d435561fe"><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:a97a4c80368b8fd08c16fb7cdc11cdd3b"><td class="memItemLeft" align="right" valign="top"><a id="a97a4c80368b8fd08c16fb7cdc11cdd3b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_zvei</b></td></tr>
<tr class="separator:a97a4c80368b8fd08c16fb7cdc11cdd3b"><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>ZVEI decoder class. </p>
<p>This class decodes ZVEI data. First step is to validate the data and check if the format is correct. After that the double-tone-sign 'E' is replaced. In the last step a valid BOSWatch packet is created and returned </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a022512d0e73daab5496cd6eeec71bd08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a022512d0e73daab5496cd6eeec71bd08">&#9670;&nbsp;</a></span>decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.decoder.zvei.Zvei.decode </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#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>Decodes ZVEI. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>ZVEI for decoding</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True or False </dd></dl>
<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">def </span>decode(self, data):</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Decodes ZVEI</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="stringliteral"> @param data: ZVEI for decoding</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="stringliteral"> @return True or False&quot;&quot;&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; self._zvei = {<span class="stringliteral">&quot;type&quot;</span>: <span class="stringliteral">&quot;zvei&quot;</span>,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="stringliteral">&quot;zvei&quot;</span>: data[7:12]}</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> self._validate(self._zvei[<span class="stringliteral">&quot;zvei&quot;</span>], <span class="stringliteral">&quot;[0-9E]{5}&quot;</span>):</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; self._zvei[<span class="stringliteral">&quot;zvei&quot;</span>] = self._replaceDoubleTone(self._zvei[<span class="stringliteral">&quot;zvei&quot;</span>])</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; logging.debug(self._zvei)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> <span class="keyword">True</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; logging.warning(<span class="stringliteral">&quot;No valid data&quot;</span>)</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="aa0c221732f1feb54fc80ef9ba9eae403"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0c221732f1feb54fc80ef9ba9eae403">&#9670;&nbsp;</a></span>_validate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">def boswatch.decoder.zvei.Zvei._validate </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>regex</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>Check if ZVEI is valid. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>ZVEI to validate </td></tr>
<tr><td class="paramname">regex</td><td>Regex expression for validation</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True or False </dd></dl>
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">def </span>_validate(self, data, regex):</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Check if ZVEI is valid</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="stringliteral"> @param data: ZVEI to validate</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="stringliteral"> @param regex: Regex expression for validation</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="stringliteral"> @return True or False&quot;&quot;&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> re.search(regex, data)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="ac470c7ddc6e7c87f186ad62d435561fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac470c7ddc6e7c87f186ad62d435561fe">&#9670;&nbsp;</a></span>_replaceDoubleTone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">def boswatch.decoder.zvei.Zvei._replaceDoubleTone </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>data</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>Remove the doubleTone sign (here its the 'E') </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>ZVEI for double tone sign replacement</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Double Tone replaced ZVEI </dd></dl>
<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">def </span>_replaceDoubleTone(self, data):</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Remove the doubleTone sign (here its the &#39;E&#39;)</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="stringliteral"> @param data: ZVEI for double tone sign replacement</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="stringliteral"> @return Double Tone replaced ZVEI&quot;&quot;&quot;</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> <span class="stringliteral">&quot;E&quot;</span> <span class="keywordflow">in</span> data:</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; data_old = data</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">for</span> i <span class="keywordflow">in</span> range(1, len(data)):</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> data[i] == <span class="stringliteral">&quot;E&quot;</span>:</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; data = data.replace(<span class="stringliteral">&quot;E&quot;</span>, data[i - 1], 1)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; logging.debug(<span class="stringliteral">&quot;remove E: %s -&gt; %s&quot;</span>, data_old, data)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> data</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>zvei.py</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"><b>boswatch</b></li><li class="navelem"><b>decoder</b></li><li class="navelem"><b>zvei</b></li><li class="navelem"><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html">Zvei</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,9 @@
var classboswatch_1_1decoder_1_1zvei_1_1_zvei =
[
[ "__init__", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#af4b26213d6658508719b93488a4856e5", null ],
[ "decode", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a022512d0e73daab5496cd6eeec71bd08", null ],
[ "getDecoded", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aec63074e080a9a415e871e7ca2982be5", null ],
[ "_validate", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aa0c221732f1feb54fc80ef9ba9eae403", null ],
[ "_replaceDoubleTone", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#ac470c7ddc6e7c87f186ad62d435561fe", null ],
[ "_zvei", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a97a4c80368b8fd08c16fb7cdc11cdd3b", null ]
];

View file

@ -0,0 +1,279 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch.network.client.TCPClient 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classboswatch_1_1network_1_1client_1_1_t_c_p_client.html','');});
/* @license-end */
</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-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> </div>
<div class="headertitle">
<div class="title">boswatch.network.client.TCPClient Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>TCP client class.
<a href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#details">More...</a></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:a753e24926d2b86b302b4d5a1832e968d"><td class="memItemLeft" align="right" valign="top"><a id="a753e24926d2b86b302b4d5a1832e968d"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a753e24926d2b86b302b4d5a1832e968d">__init__</a> (self, timeout=3)</td></tr>
<tr class="memdesc:a753e24926d2b86b302b4d5a1832e968d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance. <br /></td></tr>
<tr class="separator:a753e24926d2b86b302b4d5a1832e968d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a269a5cc62bb8b4077c6f0d01d4e309f9"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a269a5cc62bb8b4077c6f0d01d4e309f9">connect</a> (self, host=&quot;localhost&quot;, port=8080)</td></tr>
<tr class="memdesc:a269a5cc62bb8b4077c6f0d01d4e309f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the server. <a href="#a269a5cc62bb8b4077c6f0d01d4e309f9">More...</a><br /></td></tr>
<tr class="separator:a269a5cc62bb8b4077c6f0d01d4e309f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bd414bfb8b3b6e7453f2ffa7b288979"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a6bd414bfb8b3b6e7453f2ffa7b288979">disconnect</a> (self)</td></tr>
<tr class="memdesc:a6bd414bfb8b3b6e7453f2ffa7b288979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect from the server. <a href="#a6bd414bfb8b3b6e7453f2ffa7b288979">More...</a><br /></td></tr>
<tr class="separator:a6bd414bfb8b3b6e7453f2ffa7b288979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae18958f9acbdbb7c9c2d2b5b4df9364c"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae18958f9acbdbb7c9c2d2b5b4df9364c">transmit</a> (self, data)</td></tr>
<tr class="memdesc:ae18958f9acbdbb7c9c2d2b5b4df9364c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a data packet to the server. <a href="#ae18958f9acbdbb7c9c2d2b5b4df9364c">More...</a><br /></td></tr>
<tr class="separator:ae18958f9acbdbb7c9c2d2b5b4df9364c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae84d2fa327a19535950d2f7c013b7e1f"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae84d2fa327a19535950d2f7c013b7e1f">receive</a> (self)</td></tr>
<tr class="memdesc:ae84d2fa327a19535950d2f7c013b7e1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive data from the server. <a href="#ae84d2fa327a19535950d2f7c013b7e1f">More...</a><br /></td></tr>
<tr class="separator:ae84d2fa327a19535950d2f7c013b7e1f"><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:a990394e341a69aaddd00807c7d936bb9"><td class="memItemLeft" align="right" valign="top"><a id="a990394e341a69aaddd00807c7d936bb9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_timeout</b></td></tr>
<tr class="separator:a990394e341a69aaddd00807c7d936bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a085df370df1ad97a2ea2b9a510590721"><td class="memItemLeft" align="right" valign="top"><a id="a085df370df1ad97a2ea2b9a510590721"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_sock</b></td></tr>
<tr class="separator:a085df370df1ad97a2ea2b9a510590721"><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>TCP client class. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a269a5cc62bb8b4077c6f0d01d4e309f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a269a5cc62bb8b4077c6f0d01d4e309f9">&#9670;&nbsp;</a></span>connect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.client.TCPClient.connect </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>host</em> = <code>&quot;localhost&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>port</em> = <code>8080</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connect to the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>Server IP adress (localhost) </td></tr>
<tr><td class="paramname">port</td><td>Server Port (8080)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status as boolean </dd></dl>
<div class="fragment"><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">def </span>connect(self, host=&quot;localhost&quot;, port=8080):</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Connect to the server</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="stringliteral"> @param host: Server IP adress (localhost)</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="stringliteral"> @param port: Server Port (8080)</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="stringliteral"> @return status as boolean&quot;&quot;&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; self._sock = socket</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; self._sock.setdefaulttimeout(self._timeout)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; self._sock = socket.create_connection((host, port))</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; logging.debug(<span class="stringliteral">&quot;connected to &quot;</span> + str(host) + <span class="stringliteral">&quot;:&quot;</span> + str(port))</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">except</span> ConnectionRefusedError:</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; logging.error(<span class="stringliteral">&quot;unable to connect because destination refused the connection&quot;</span>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; logging.exception(<span class="stringliteral">&quot;cannot connect to &quot;</span> + str(host) + <span class="stringliteral">&quot;:&quot;</span> + str(port))</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="a6bd414bfb8b3b6e7453f2ffa7b288979"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bd414bfb8b3b6e7453f2ffa7b288979">&#9670;&nbsp;</a></span>disconnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.client.TCPClient.disconnect </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disconnect from the server. </p>
<dl class="section return"><dt>Returns</dt><dd>status as boolean </dd></dl>
<div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">def </span>disconnect(self):</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Disconnect from the server</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="stringliteral"> @return status as boolean&quot;&quot;&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; self._sock.close()</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; logging.debug(<span class="stringliteral">&quot;disconnected&quot;</span>)</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">except</span> AttributeError:</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; logging.error(<span class="stringliteral">&quot;cannot disconnect - no connection established&quot;</span>)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; logging.exception(<span class="stringliteral">&quot;error while disconecting&quot;</span>)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="ae18958f9acbdbb7c9c2d2b5b4df9364c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae18958f9acbdbb7c9c2d2b5b4df9364c">&#9670;&nbsp;</a></span>transmit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.client.TCPClient.transmit </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#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>Send a data packet to the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>data to send to the server</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status as boolean </dd></dl>
<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">def </span>transmit(self, data):</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Send a data packet to the server</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="stringliteral"> @param data: data to send to the server</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="stringliteral"> @return status as boolean&quot;&quot;&quot;</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; logging.debug(<span class="stringliteral">&quot;trasmitting: &quot;</span> + data)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; self._sock.sendall(bytes(data + <span class="stringliteral">&quot;\n&quot;</span>, <span class="stringliteral">&quot;utf-8&quot;</span>))</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; logging.debug(<span class="stringliteral">&quot;trasmitted...&quot;</span>)</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">except</span> AttributeError:</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; logging.error(<span class="stringliteral">&quot;cannot transmitt - no connection established&quot;</span>)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; logging.exception(<span class="stringliteral">&quot;error while transmitting&quot;</span>)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="ae84d2fa327a19535950d2f7c013b7e1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae84d2fa327a19535950d2f7c013b7e1f">&#9670;&nbsp;</a></span>receive()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.client.TCPClient.receive </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive data from the server. </p>
<dl class="section return"><dt>Returns</dt><dd>received data </dd></dl>
<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">def </span>receive(self):</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Receive data from the server</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="stringliteral"> @return received data&quot;&quot;&quot;</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; received = str(self._sock.recv(1024), <span class="stringliteral">&quot;utf-8&quot;</span>)</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; logging.debug(<span class="stringliteral">&quot;received: &quot;</span> + received)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> received</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">except</span> AttributeError:</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; logging.error(<span class="stringliteral">&quot;cannot receive - no connection established&quot;</span>)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; logging.exception(<span class="stringliteral">&quot;error while receiving&quot;</span>)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>client.py</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"><b>boswatch</b></li><li class="navelem"><b>network</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html">TCPClient</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,10 @@
var classboswatch_1_1network_1_1client_1_1_t_c_p_client =
[
[ "__init__", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a753e24926d2b86b302b4d5a1832e968d", null ],
[ "connect", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a269a5cc62bb8b4077c6f0d01d4e309f9", null ],
[ "disconnect", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a6bd414bfb8b3b6e7453f2ffa7b288979", null ],
[ "transmit", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae18958f9acbdbb7c9c2d2b5b4df9364c", null ],
[ "receive", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae84d2fa327a19535950d2f7c013b7e1f", null ],
[ "_timeout", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a990394e341a69aaddd00807c7d936bb9", null ],
[ "_sock", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a085df370df1ad97a2ea2b9a510590721", null ]
];

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"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch.network.server.TCPHandler 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html','');});
/* @license-end */
</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-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">boswatch.network.server.TCPHandler Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>RequestHandler class for our server.
<a href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html#details">More...</a></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:afe2d9a9365f886e80fbb3ee4fa85e644"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html#afe2d9a9365f886e80fbb3ee4fa85e644">handle</a> (self)</td></tr>
<tr class="memdesc:afe2d9a9365f886e80fbb3ee4fa85e644"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the request from an single client in a own thread. <a href="#afe2d9a9365f886e80fbb3ee4fa85e644">More...</a><br /></td></tr>
<tr class="separator:afe2d9a9365f886e80fbb3ee4fa85e644"><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>RequestHandler class for our server. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="afe2d9a9365f886e80fbb3ee4fa85e644"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe2d9a9365f886e80fbb3ee4fa85e644">&#9670;&nbsp;</a></span>handle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.server.TCPHandler.handle </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Handles the request from an single client in a own thread. </p>
<p>Insert a request in the clients[] list and send a [ack] </p>
<div class="fragment"><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">def </span>handle(self):</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Handles the request from an single client in a own thread</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="stringliteral"> Insert a request in the clients[] list and send a [ack]&quot;&quot;&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; _data = 1</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; cur_thread = threading.current_thread()</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; req_name = str(cur_thread) + <span class="stringliteral">&quot; &quot;</span> + self.client_address[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; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">while</span> _data:</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; _data = str(self.request.recv(1024).strip(), <span class="stringliteral">&#39;utf-8&#39;</span>)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">if</span> _data <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="stringliteral">&quot;&quot;</span>:</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; clients.insert(0, (self.client_address[0], (_data)))</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; logging.debug(req_name + <span class="stringliteral">&quot; recv: &quot;</span> + _data)</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; logging.debug(req_name + <span class="stringliteral">&quot; send: [ack]&quot;</span>)</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; self.request.sendall(bytes(<span class="stringliteral">&quot;[ack]&quot;</span>, <span class="stringliteral">&quot;utf-8&quot;</span>))</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; self.request.close()</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">except</span> (ConnectionResetError, ConnectionAbortedError): <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; logging.debug(req_name + <span class="stringliteral">&quot; connection closed&quot;</span>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; logging.exception(req_name + <span class="stringliteral">&quot; error while receiving&quot;</span>)</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;</div></div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>server.py</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"><b>boswatch</b></li><li class="navelem"><b>network</b></li><li class="navelem"><b>server</b></li><li class="navelem"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html">TCPHandler</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var classboswatch_1_1network_1_1server_1_1_t_c_p_handler =
[
[ "handle", "classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html#afe2d9a9365f886e80fbb3ee4fa85e644", null ]
];

View file

@ -0,0 +1,265 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch.network.server.TCPServer 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classboswatch_1_1network_1_1server_1_1_t_c_p_server.html','');});
/* @license-end */
</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-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> </div>
<div class="headertitle">
<div class="title">boswatch.network.server.TCPServer Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>TCP server class.
<a href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#details">More...</a></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:a39d08376267ebba5f1306e77fd77ccc6"><td class="memItemLeft" align="right" valign="top"><a id="a39d08376267ebba5f1306e77fd77ccc6"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a39d08376267ebba5f1306e77fd77ccc6">__init__</a> (self, timeout=3)</td></tr>
<tr class="memdesc:a39d08376267ebba5f1306e77fd77ccc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance. <br /></td></tr>
<tr class="separator:a39d08376267ebba5f1306e77fd77ccc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b311c5d86e829c45c5d494d27633bdb"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a3b311c5d86e829c45c5d494d27633bdb">start</a> (self, port=8080)</td></tr>
<tr class="memdesc:a3b311c5d86e829c45c5d494d27633bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a threaded TCP socket server. <a href="#a3b311c5d86e829c45c5d494d27633bdb">More...</a><br /></td></tr>
<tr class="separator:a3b311c5d86e829c45c5d494d27633bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a427d9904084e9a4c4b2e51d54f6410c9"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a427d9904084e9a4c4b2e51d54f6410c9">stop</a> (self)</td></tr>
<tr class="memdesc:a427d9904084e9a4c4b2e51d54f6410c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the TCP socket server. <a href="#a427d9904084e9a4c4b2e51d54f6410c9">More...</a><br /></td></tr>
<tr class="separator:a427d9904084e9a4c4b2e51d54f6410c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59b4eb3e8df63da81d3d5b824f9068b4"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a59b4eb3e8df63da81d3d5b824f9068b4">clientsConnected</a> (self)</td></tr>
<tr class="memdesc:a59b4eb3e8df63da81d3d5b824f9068b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of currently connected Clients. <a href="#a59b4eb3e8df63da81d3d5b824f9068b4">More...</a><br /></td></tr>
<tr class="separator:a59b4eb3e8df63da81d3d5b824f9068b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeaaaf03fad1689604a79fc04d9830a1"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#abeaaaf03fad1689604a79fc04d9830a1">getData</a> (self)</td></tr>
<tr class="memdesc:abeaaaf03fad1689604a79fc04d9830a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to get the data packages from server must be polled by main program. <a href="#abeaaaf03fad1689604a79fc04d9830a1">More...</a><br /></td></tr>
<tr class="separator:abeaaaf03fad1689604a79fc04d9830a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c2addb2a19639987d121b2cd3ae54c9"><td class="memItemLeft" align="right" valign="top"><a id="a1c2addb2a19639987d121b2cd3ae54c9"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a1c2addb2a19639987d121b2cd3ae54c9">flushData</a> (self)</td></tr>
<tr class="memdesc:a1c2addb2a19639987d121b2cd3ae54c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">To flush all existing data in queue. <br /></td></tr>
<tr class="separator:a1c2addb2a19639987d121b2cd3ae54c9"><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:a34210569d9aeb0f83e23fda9ac6501c1"><td class="memItemLeft" align="right" valign="top"><a id="a34210569d9aeb0f83e23fda9ac6501c1"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_timeout</b></td></tr>
<tr class="separator:a34210569d9aeb0f83e23fda9ac6501c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a196dd011e76b9ffa269b1d7ae945317f"><td class="memItemLeft" align="right" valign="top"><a id="a196dd011e76b9ffa269b1d7ae945317f"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_server</b></td></tr>
<tr class="separator:a196dd011e76b9ffa269b1d7ae945317f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a069063419170444e452c49d4d3226d42"><td class="memItemLeft" align="right" valign="top"><a id="a069063419170444e452c49d4d3226d42"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_server_thread</b></td></tr>
<tr class="separator:a069063419170444e452c49d4d3226d42"><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>TCP server class. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a3b311c5d86e829c45c5d494d27633bdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b311c5d86e829c45c5d494d27633bdb">&#9670;&nbsp;</a></span>start()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.server.TCPServer.start </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>port</em> = <code>8080</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start a threaded TCP socket server. </p>
<p>Start a TCP Socket Server in a new thread that will then start one more thread for each client request. The ip adress for binding the server socket is always 'localhost'</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">port</td><td>Server Port (8080)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status as boolean </dd></dl>
<div class="fragment"><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">def </span>start(self, port=8080):</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Start a threaded TCP socket server</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="stringliteral"> Start a TCP Socket Server in a new thread that will</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="stringliteral"> then start one more thread for each client request.</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="stringliteral"> The ip adress for binding the server socket is always &#39;localhost&#39;</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="stringliteral"> @param port: Server Port (8080)</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="stringliteral"> @return status as boolean&quot;&quot;&quot;</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; self._server = socketserver.ThreadingTCPServer((<span class="stringliteral">&quot;localhost&quot;</span>, port), TCPHandler)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; self._server.timeout = self._timeout</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; self.flushData()</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; self._server_thread = threading.Thread(target=self._server.serve_forever)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; self._server_thread.daemon = <span class="keyword">True</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; self._server_thread.start()</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; logging.debug(<span class="stringliteral">&quot;TCPServer started in Thread: &quot;</span> + self._server_thread.name)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; logging.exception(<span class="stringliteral">&quot;cannot start the server&quot;</span>)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="a427d9904084e9a4c4b2e51d54f6410c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a427d9904084e9a4c4b2e51d54f6410c9">&#9670;&nbsp;</a></span>stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.server.TCPServer.stop </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Stops the TCP socket server. </p>
<dl class="section return"><dt>Returns</dt><dd>status as boolean </dd></dl>
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">def </span>stop(self):</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Stops the TCP socket server</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="stringliteral"> @return status as boolean&quot;&quot;&quot;</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">try</span>:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; self._server.shutdown()</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; self._server_thread.join()</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; self._server.socket.close()</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; logging.debug(<span class="stringliteral">&quot;TCPServer stoped&quot;</span>)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">except</span>: <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; logging.exception(<span class="stringliteral">&quot;cannot stop the server&quot;</span>)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="a59b4eb3e8df63da81d3d5b824f9068b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59b4eb3e8df63da81d3d5b824f9068b4">&#9670;&nbsp;</a></span>clientsConnected()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.server.TCPServer.clientsConnected </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of currently connected Clients. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>works not safe atm</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Connected clients </dd></dl>
<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">def </span>clientsConnected(self): <span class="comment"># pragma: no cover</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Number of currently connected Clients</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="stringliteral"> @todo works not safe atm</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="stringliteral"> @return Connected clients&quot;&quot;&quot;</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> threading.active_count() &gt; 2:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment"># must substract the server() and the serve() Thread</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> threading.active_count() - 2</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">else</span>:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> 0</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<a id="abeaaaf03fad1689604a79fc04d9830a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abeaaaf03fad1689604a79fc04d9830a1">&#9670;&nbsp;</a></span>getData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def boswatch.network.server.TCPServer.getData </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Function to get the data packages from server must be polled by main program. </p>
<dl class="section return"><dt>Returns</dt><dd>Next data packet from intern queue </dd></dl>
<div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">def </span>getData(self):</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="stringliteral">&quot;&quot;&quot;!Function to get the data packages from server</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="stringliteral"> must be polled by main program</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="stringliteral"> @return Next data packet from intern queue&quot;&quot;&quot;</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span> clients:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; message = clients.pop()</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; logging.debug(<span class="stringliteral">&quot;Get data from queue&quot;</span>)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> message</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> <span class="keywordtype">None</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div></div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>server.py</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"><b>boswatch</b></li><li class="navelem"><b>network</b></li><li class="navelem"><b>server</b></li><li class="navelem"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html">TCPServer</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,12 @@
var classboswatch_1_1network_1_1server_1_1_t_c_p_server =
[
[ "__init__", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a39d08376267ebba5f1306e77fd77ccc6", null ],
[ "start", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a3b311c5d86e829c45c5d494d27633bdb", null ],
[ "stop", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a427d9904084e9a4c4b2e51d54f6410c9", null ],
[ "clientsConnected", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a59b4eb3e8df63da81d3d5b824f9068b4", null ],
[ "getData", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#abeaaaf03fad1689604a79fc04d9830a1", null ],
[ "flushData", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a1c2addb2a19639987d121b2cd3ae54c9", null ],
[ "_timeout", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a34210569d9aeb0f83e23fda9ac6501c1", null ],
[ "_server", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a196dd011e76b9ffa269b1d7ae945317f", null ],
[ "_server_thread", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a069063419170444e452c49d4d3226d42", null ]
];

View file

@ -0,0 +1,133 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch.watchdog.watchdog.BWWatchdog 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html','');});
/* @license-end */
</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-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">boswatch.watchdog.watchdog.BWWatchdog Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Class for an Watchdog to observe, if needed subprocesses still running.
<a href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html#details">More...</a></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:a687a1e53b5fcccc58a2b39bbdc7f38ae"><td class="memItemLeft" align="right" valign="top"><a id="a687a1e53b5fcccc58a2b39bbdc7f38ae"></a>
def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html#a687a1e53b5fcccc58a2b39bbdc7f38ae">__init__</a> (self)</td></tr>
<tr class="memdesc:a687a1e53b5fcccc58a2b39bbdc7f38ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance. <br /></td></tr>
<tr class="separator:a687a1e53b5fcccc58a2b39bbdc7f38ae"><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>Class for an Watchdog to observe, if needed subprocesses still running. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>watchdog.py</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"><b>boswatch</b></li><li class="navelem"><b>watchdog</b></li><li class="navelem"><b>watchdog</b></li><li class="navelem"><a class="el" href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html">BWWatchdog</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog =
[
[ "__init__", "classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html#a687a1e53b5fcccc58a2b39bbdc7f38ae", null ]
];

132
_docu/html/classes.html Normal file
View file

@ -0,0 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Data Structure Index</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classes.html','');});
/* @license-end */
</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="headertitle">
<div class="title">Data Structure Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_z">z</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html">TCPHandler</a> (boswatch.network.server)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html">TCPServer</a> (boswatch.network.server)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html">BWWatchdog</a> (boswatch.watchdog.watchdog)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html">Decoder</a> (boswatch.decoder.decoder)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html">Pocsag</a> (boswatch.decoder.pocsag)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_z"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;z&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html">Zvei</a> (boswatch.decoder.zvei)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classboswatch_1_1config_1_1_config.html">Config</a> (boswatch.config)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html">Fms</a> (boswatch.decoder.fms)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html">TCPClient</a> (boswatch.network.client)&#160;&#160;&#160;</td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_z">z</a></div>
</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 Thu Jan 4 2018 08:56:53 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

BIN
_docu/html/closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

View file

@ -0,0 +1,115 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: watchdog Directory 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_107bf879c709a2b1b9fafc30dbccce6f.html','');});
/* @license-end */
</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="headertitle">
<div class="title">watchdog Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</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_f49b800a024456700a737074495380af.html">boswatch</a></li><li class="navelem"><a class="el" href="dir_107bf879c709a2b1b9fafc30dbccce6f.html">watchdog</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,115 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: network Directory 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_2006f8608b07fda10f64d4c6574ce610.html','');});
/* @license-end */
</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="headertitle">
<div class="title">network Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</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_f49b800a024456700a737074495380af.html">boswatch</a></li><li class="navelem"><a class="el" href="dir_2006f8608b07fda10f64d4c6574ce610.html">network</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,115 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: decoder Directory 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_43da38551d4977a390038d31b18749ea.html','');});
/* @license-end */
</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="headertitle">
<div class="title">decoder Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</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_f49b800a024456700a737074495380af.html">boswatch</a></li><li class="navelem"><a class="el" href="dir_43da38551d4977a390038d31b18749ea.html">decoder</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,115 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: utils Directory 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_4cd0c9eca83862460f0369248cfc2f5b.html','');});
/* @license-end */
</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="headertitle">
<div class="title">utils Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</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_f49b800a024456700a737074495380af.html">boswatch</a></li><li class="navelem"><a class="el" href="dir_4cd0c9eca83862460f0369248cfc2f5b.html">utils</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,115 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: filter Directory 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_d4d240419cd9501cea0b05280f9ff763.html','');});
/* @license-end */
</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="headertitle">
<div class="title">filter Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</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_f49b800a024456700a737074495380af.html">boswatch</a></li><li class="navelem"><a class="el" href="dir_d4d240419cd9501cea0b05280f9ff763.html">filter</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,119 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: boswatch Directory 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_f49b800a024456700a737074495380af.html','');});
/* @license-end */
</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="headertitle">
<div class="title">boswatch Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></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_f49b800a024456700a737074495380af.html">boswatch</a></li>
<li class="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

BIN
_docu/html/doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

1596
_docu/html/doxygen.css Normal file

File diff suppressed because it is too large Load diff

BIN
_docu/html/doxygen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

120
_docu/html/dynsections.js Normal file
View file

@ -0,0 +1,120 @@
/*
@licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2017 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9654;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9654;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9654;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
/* @license-end */

BIN
_docu/html/folderclosed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

BIN
_docu/html/folderopen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

BIN
_docu/html/ftv2blank.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
_docu/html/ftv2doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

BIN
_docu/html/ftv2lastnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
_docu/html/ftv2link.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

BIN
_docu/html/ftv2mnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

BIN
_docu/html/ftv2node.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

BIN
_docu/html/ftv2pnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

BIN
_docu/html/ftv2splitbar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

BIN
_docu/html/ftv2vertline.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

175
_docu/html/functions.html Normal file
View file

@ -0,0 +1,175 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Data Fields</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('functions.html','');});
/* @license-end */
</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="contents">
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div><ul>
<li>__init__()
: <a class="el" href="classboswatch_1_1config_1_1_config.html#a5a7fd74fa397a8c96245b51f51aa6f6a">boswatch.config.Config</a>
, <a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#ae15cb65a69572a1a59943550496f53c0">boswatch.decoder.decoder.Decoder</a>
, <a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6d2bf5793967e2cf755aa29d5d92670d">boswatch.decoder.fms.Fms</a>
, <a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a011a7f030f156ae2fe560461de759040">boswatch.decoder.pocsag.Pocsag</a>
, <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#af4b26213d6658508719b93488a4856e5">boswatch.decoder.zvei.Zvei</a>
, <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a753e24926d2b86b302b4d5a1832e968d">boswatch.network.client.TCPClient</a>
, <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a39d08376267ebba5f1306e77fd77ccc6">boswatch.network.server.TCPServer</a>
, <a class="el" href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html#a687a1e53b5fcccc58a2b39bbdc7f38ae">boswatch.watchdog.watchdog.BWWatchdog</a>
</li>
<li>_getClientData()
: <a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f">boswatch.decoder.decoder.Decoder</a>
</li>
<li>_replaceDoubleTone()
: <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#ac470c7ddc6e7c87f186ad62d435561fe">boswatch.decoder.zvei.Zvei</a>
</li>
<li>_validate()
: <a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6df642ebc7d0ac9db8da602b1f1aee4c">boswatch.decoder.fms.Fms</a>
, <a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a6162a990f809806293ef3b996004635d">boswatch.decoder.pocsag.Pocsag</a>
, <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aa0c221732f1feb54fc80ef9ba9eae403">boswatch.decoder.zvei.Zvei</a>
</li>
<li>clientsConnected()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a59b4eb3e8df63da81d3d5b824f9068b4">boswatch.network.server.TCPServer</a>
</li>
<li>connect()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a269a5cc62bb8b4077c6f0d01d4e309f9">boswatch.network.client.TCPClient</a>
</li>
<li>decode()
: <a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#add39dbdb43ed0168c310457a7c1df493">boswatch.decoder.decoder.Decoder</a>
, <a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html#a0b595db897f099237994da17f557451c">boswatch.decoder.fms.Fms</a>
, <a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#ab79c8c5e4eeb10107db544c4c806ef08">boswatch.decoder.pocsag.Pocsag</a>
, <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a022512d0e73daab5496cd6eeec71bd08">boswatch.decoder.zvei.Zvei</a>
</li>
<li>disconnect()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a6bd414bfb8b3b6e7453f2ffa7b288979">boswatch.network.client.TCPClient</a>
</li>
<li>flushData()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a1c2addb2a19639987d121b2cd3ae54c9">boswatch.network.server.TCPServer</a>
</li>
<li>getConfig()
: <a class="el" href="classboswatch_1_1config_1_1_config.html#ae8c521d735a864121ffb04f95bbc118e">boswatch.config.Config</a>
</li>
<li>getData()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#abeaaaf03fad1689604a79fc04d9830a1">boswatch.network.server.TCPServer</a>
</li>
<li>handle()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html#afe2d9a9365f886e80fbb3ee4fa85e644">boswatch.network.server.TCPHandler</a>
</li>
<li>loadConfig()
: <a class="el" href="classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7">boswatch.config.Config</a>
</li>
<li>receive()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae84d2fa327a19535950d2f7c013b7e1f">boswatch.network.client.TCPClient</a>
</li>
<li>start()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a3b311c5d86e829c45c5d494d27633bdb">boswatch.network.server.TCPServer</a>
</li>
<li>stop()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a427d9904084e9a4c4b2e51d54f6410c9">boswatch.network.server.TCPServer</a>
</li>
<li>transmit()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae18958f9acbdbb7c9c2d2b5b4df9364c">boswatch.network.client.TCPClient</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="footer">Generated on Thu Jan 4 2018 08:56:53 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,175 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Data Fields - Functions</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('functions_func.html','');});
/* @license-end */
</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="contents">
&#160;<ul>
<li>__init__()
: <a class="el" href="classboswatch_1_1config_1_1_config.html#a5a7fd74fa397a8c96245b51f51aa6f6a">boswatch.config.Config</a>
, <a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#ae15cb65a69572a1a59943550496f53c0">boswatch.decoder.decoder.Decoder</a>
, <a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6d2bf5793967e2cf755aa29d5d92670d">boswatch.decoder.fms.Fms</a>
, <a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a011a7f030f156ae2fe560461de759040">boswatch.decoder.pocsag.Pocsag</a>
, <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#af4b26213d6658508719b93488a4856e5">boswatch.decoder.zvei.Zvei</a>
, <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a753e24926d2b86b302b4d5a1832e968d">boswatch.network.client.TCPClient</a>
, <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a39d08376267ebba5f1306e77fd77ccc6">boswatch.network.server.TCPServer</a>
, <a class="el" href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html#a687a1e53b5fcccc58a2b39bbdc7f38ae">boswatch.watchdog.watchdog.BWWatchdog</a>
</li>
<li>_getClientData()
: <a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f">boswatch.decoder.decoder.Decoder</a>
</li>
<li>_replaceDoubleTone()
: <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#ac470c7ddc6e7c87f186ad62d435561fe">boswatch.decoder.zvei.Zvei</a>
</li>
<li>_validate()
: <a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6df642ebc7d0ac9db8da602b1f1aee4c">boswatch.decoder.fms.Fms</a>
, <a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a6162a990f809806293ef3b996004635d">boswatch.decoder.pocsag.Pocsag</a>
, <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aa0c221732f1feb54fc80ef9ba9eae403">boswatch.decoder.zvei.Zvei</a>
</li>
<li>clientsConnected()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a59b4eb3e8df63da81d3d5b824f9068b4">boswatch.network.server.TCPServer</a>
</li>
<li>connect()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a269a5cc62bb8b4077c6f0d01d4e309f9">boswatch.network.client.TCPClient</a>
</li>
<li>decode()
: <a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#add39dbdb43ed0168c310457a7c1df493">boswatch.decoder.decoder.Decoder</a>
, <a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html#a0b595db897f099237994da17f557451c">boswatch.decoder.fms.Fms</a>
, <a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#ab79c8c5e4eeb10107db544c4c806ef08">boswatch.decoder.pocsag.Pocsag</a>
, <a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a022512d0e73daab5496cd6eeec71bd08">boswatch.decoder.zvei.Zvei</a>
</li>
<li>disconnect()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a6bd414bfb8b3b6e7453f2ffa7b288979">boswatch.network.client.TCPClient</a>
</li>
<li>flushData()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a1c2addb2a19639987d121b2cd3ae54c9">boswatch.network.server.TCPServer</a>
</li>
<li>getConfig()
: <a class="el" href="classboswatch_1_1config_1_1_config.html#ae8c521d735a864121ffb04f95bbc118e">boswatch.config.Config</a>
</li>
<li>getData()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#abeaaaf03fad1689604a79fc04d9830a1">boswatch.network.server.TCPServer</a>
</li>
<li>handle()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html#afe2d9a9365f886e80fbb3ee4fa85e644">boswatch.network.server.TCPHandler</a>
</li>
<li>loadConfig()
: <a class="el" href="classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7">boswatch.config.Config</a>
</li>
<li>receive()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae84d2fa327a19535950d2f7c013b7e1f">boswatch.network.client.TCPClient</a>
</li>
<li>start()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a3b311c5d86e829c45c5d494d27633bdb">boswatch.network.server.TCPServer</a>
</li>
<li>stop()
: <a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a427d9904084e9a4c4b2e51d54f6410c9">boswatch.network.server.TCPServer</a>
</li>
<li>transmit()
: <a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae18958f9acbdbb7c9c2d2b5b4df9364c">boswatch.network.client.TCPClient</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="footer">Generated on Thu Jan 4 2018 08:56:53 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

131
_docu/html/hierarchy.html Normal file
View file

@ -0,0 +1,131 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Class Hierarchy</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('hierarchy.html','');});
/* @license-end */
</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="headertitle">
<div class="title">Class Hierarchy</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>BaseRequestHandler</b></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html" target="_self">boswatch.network.server.TCPHandler</a></td><td class="desc">RequestHandler class for our server </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html" target="_self">boswatch.watchdog.watchdog.BWWatchdog</a></td><td class="desc">Class for an Watchdog to observe, if needed subprocesses still running </td></tr>
<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1config_1_1_config.html" target="_self">boswatch.config.Config</a></td><td class="desc"><a class="el" href="classboswatch_1_1config_1_1_config.html" title="Config class. ">Config</a> class </td></tr>
<tr id="row_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1decoder_1_1_decoder.html" target="_self">boswatch.decoder.decoder.Decoder</a></td><td class="desc">Main decoder class </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1fms_1_1_fms.html" target="_self">boswatch.decoder.fms.Fms</a></td><td class="desc">FMS decoder class </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html" target="_self">boswatch.decoder.pocsag.Pocsag</a></td><td class="desc">POCSAG decoder class </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1network_1_1client_1_1_t_c_p_client.html" target="_self">boswatch.network.client.TCPClient</a></td><td class="desc">TCP client class </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>TCPServer</b></td><td class="desc"></td></tr>
<tr id="row_6_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html" target="_self">boswatch.network.server.TCPServer</a></td><td class="desc">TCP server class </td></tr>
<tr id="row_7_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>ThreadingMixIn</b></td><td class="desc"></td></tr>
<tr id="row_7_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1network_1_1server_1_1_t_c_p_server.html" target="_self">boswatch.network.server.TCPServer</a></td><td class="desc">TCP server class </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboswatch_1_1decoder_1_1zvei_1_1_zvei.html" target="_self">boswatch.decoder.zvei.Zvei</a></td><td class="desc">ZVEI decoder class </td></tr>
</table>
</div><!-- directory -->
</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 Thu Jan 4 2018 08:56:53 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

20
_docu/html/hierarchy.js Normal file
View file

@ -0,0 +1,20 @@
var hierarchy =
[
[ "BaseRequestHandler", null, [
[ "boswatch.network.server.TCPHandler", "classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html", null ]
] ],
[ "boswatch.watchdog.watchdog.BWWatchdog", "classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html", null ],
[ "boswatch.config.Config", "classboswatch_1_1config_1_1_config.html", [
[ "boswatch.decoder.decoder.Decoder", "classboswatch_1_1decoder_1_1decoder_1_1_decoder.html", null ]
] ],
[ "boswatch.decoder.fms.Fms", "classboswatch_1_1decoder_1_1fms_1_1_fms.html", null ],
[ "boswatch.decoder.pocsag.Pocsag", "classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html", null ],
[ "boswatch.network.client.TCPClient", "classboswatch_1_1network_1_1client_1_1_t_c_p_client.html", null ],
[ "TCPServer", null, [
[ "boswatch.network.server.TCPServer", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html", null ]
] ],
[ "ThreadingMixIn", null, [
[ "boswatch.network.server.TCPServer", "classboswatch_1_1network_1_1server_1_1_t_c_p_server.html", null ]
] ],
[ "boswatch.decoder.zvei.Zvei", "classboswatch_1_1decoder_1_1zvei_1_1_zvei.html", null ]
];

122
_docu/html/index.html Normal file
View file

@ -0,0 +1,122 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Main Page</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('index.html','');});
/* @license-end */
</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="headertitle">
<div class="title">BOSWatch 3 Documentation</div> </div>
</div><!--header-->
<div class="contents">
<ul><li><a href="index.html"><span>Main&#160;Page</span></a>
</li><li><a href="pages.html"><span>Related&#160;Pages</span></a>
</li><li><a href="annotated.html"><span>Data&#160;Structures</span></a>
<ul><li><a href="annotated.html"><span>Data&#160;Structures</span></a>
</li><li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a>
</li><li><a href="functions.html"><span>Data&#160;Fields</span></a>
</li></ul>
</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="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

115
_docu/html/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,114 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Changelog</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('md__changelog.html','');});
/* @license-end */
</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="headertitle">
<div class="title">Changelog </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"></div></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 Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

View file

@ -0,0 +1,115 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: BOSWatch</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('md__r_e_a_d_m_e.html','');});
/* @license-end */
</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="headertitle">
<div class="title">BOSWatch </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG - multiple Plugin support - Forum: <a href="http://boswatch.de">http://boswatch.de</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="footer">Generated on Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </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"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Format of the BOSWatch packets</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('md_information_packet.html','');});
/* @license-end */
</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="headertitle">
<div class="title">Format of the BOSWatch packets </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><table class="doxtable">
<tr>
<td>field </td><td>fms </td><td>pocsag </td><td>zvei </td><td>description </td></tr>
<tr>
<td>clientName </td><td>X </td><td>X </td><td>X </td><td>name of the boswatch client instance </td></tr>
<tr>
<td>clientVersion </td><td>X </td><td>X </td><td>X </td><td>in case of new version, server can notify </td></tr>
<tr>
<td>inputSource </td><td>X </td><td>X </td><td>X </td><td>(rtl_fm, audio) </td></tr>
<tr>
<td>timestamp </td><td>X </td><td>X </td><td>X </td><td></td></tr>
<tr>
<td>frequency </td><td>X </td><td>X </td><td>X </td><td></td></tr>
<tr>
<td>type </td><td>X </td><td>X </td><td>X </td><td>(fms, pocsag, zvei) </td></tr>
<tr>
<td>bitrate </td><td></td><td>X </td><td></td><td></td></tr>
<tr>
<td>ric </td><td></td><td>X </td><td></td><td></td></tr>
<tr>
<td>subric </td><td></td><td>X </td><td></td><td>(1, 2, 3, 4) </td></tr>
<tr>
<td>subricText </td><td></td><td>X </td><td></td><td>(a, b, c, d) </td></tr>
<tr>
<td>message </td><td></td><td>X </td><td></td><td></td></tr>
<tr>
<td>tone </td><td></td><td></td><td>X </td><td>5-tone sequence </td></tr>
<tr>
<td>fms </td><td>X </td><td></td><td></td><td></td></tr>
<tr>
<td>service </td><td>X </td><td></td><td></td><td></td></tr>
<tr>
<td>country </td><td>X </td><td></td><td></td><td></td></tr>
<tr>
<td>location </td><td>X </td><td></td><td></td><td></td></tr>
<tr>
<td>vehicle </td><td>X </td><td></td><td></td><td></td></tr>
<tr>
<td>status </td><td>X </td><td></td><td></td><td></td></tr>
<tr>
<td>direction </td><td>X </td><td></td><td></td><td></td></tr>
<tr>
<td>dirextionText </td><td>X </td><td></td><td></td><td>(Fhz-&gt;Lst, Lst-&gt;Fhz) </td></tr>
<tr>
<td>tacticalInfo </td><td>X </td><td></td><td></td><td>(I, II, III, IV) </td></tr>
<tr>
<td>descriptionShort </td><td>X </td><td>X </td><td>X </td><td>loaded from optional CSV file </td></tr>
<tr>
<td>descriptionLong </td><td>X </td><td>X </td><td>X </td><td>loaded from optional CSV file </td></tr>
</table>
</div></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 Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

BIN
_docu/html/nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

BIN
_docu/html/nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
_docu/html/nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

146
_docu/html/navtree.css Normal file
View file

@ -0,0 +1,146 @@
#nav-tree .children_ul {
margin:0;
padding:4px;
}
#nav-tree ul {
list-style:none outside none;
margin:0px;
padding:0px;
}
#nav-tree li {
white-space:nowrap;
margin:0px;
padding:0px;
}
#nav-tree .plus {
margin:0px;
}
#nav-tree .selected {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}
#nav-tree img {
margin:0px;
padding:0px;
border:0px;
vertical-align: middle;
}
#nav-tree a {
text-decoration:none;
padding:0px;
margin:0px;
outline:none;
}
#nav-tree .label {
margin:0px;
padding:0px;
font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
}
#nav-tree .label a {
padding:2px;
}
#nav-tree .selected a {
text-decoration:none;
color:#fff;
}
#nav-tree .children_ul {
margin:0px;
padding:0px;
}
#nav-tree .item {
margin:0px;
padding:0px;
}
#nav-tree {
padding: 0px 0px;
background-color: #FAFAFF;
font-size:14px;
overflow:auto;
}
#doc-content {
overflow:auto;
display:block;
padding:0px;
margin:0px;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#side-nav {
padding:0 6px 0 0;
margin: 0px;
display:block;
position: absolute;
left: 0px;
width: 250px;
}
.ui-resizable .ui-resizable-handle {
display:block;
}
.ui-resizable-e {
background-image:url("splitbar.png");
background-size:100%;
background-repeat:no-repeat;
background-attachment: scroll;
cursor:ew-resize;
height:100%;
right:0;
top:0;
width:6px;
}
.ui-resizable-handle {
display:none;
font-size:0.1px;
position:absolute;
z-index:1;
}
#nav-tree-contents {
margin: 6px 0px 0px 0px;
}
#nav-tree {
background-image:url('nav_h.png');
background-repeat:repeat-x;
background-color: #F8F9FD;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#nav-sync {
position:absolute;
top:5px;
right:24px;
z-index:0;
}
#nav-sync img {
opacity:0.3;
}
#nav-sync img:hover {
opacity:0.9;
}
@media print
{
#nav-tree { display: none; }
div.ui-resizable-handle { display: none; position: relative; }
}

540
_docu/html/navtree.js Normal file
View file

@ -0,0 +1,540 @@
/*
@licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2017 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
var navTreeSubIndices = new Array();
var arrowDown = '&#9660;';
var arrowRight = '&#9654;';
function getData(varName)
{
var i = varName.lastIndexOf('/');
var n = i>=0 ? varName.substring(i+1) : varName;
return eval(n.replace(/\-/g,'_'));
}
function stripPath(uri)
{
return uri.substring(uri.lastIndexOf('/')+1);
}
function stripPath2(uri)
{
var i = uri.lastIndexOf('/');
var s = uri.substring(i+1);
var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
return m ? uri.substring(i-6) : s;
}
function hashValue()
{
return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,'');
}
function hashUrl()
{
return '#'+hashValue();
}
function pathName()
{
return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, '');
}
function localStorageSupported()
{
try {
return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
}
catch(e) {
return false;
}
}
function storeLink(link)
{
if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
window.localStorage.setItem('navpath',link);
}
}
function deleteLink()
{
if (localStorageSupported()) {
window.localStorage.setItem('navpath','');
}
}
function cachedLink()
{
if (localStorageSupported()) {
return window.localStorage.getItem('navpath');
} else {
return '';
}
}
function getScript(scriptName,func,show)
{
var head = document.getElementsByTagName("head")[0];
var script = document.createElement('script');
script.id = scriptName;
script.type = 'text/javascript';
script.onload = func;
script.src = scriptName+'.js';
if ($.browser.msie && $.browser.version<=8) {
// script.onload does not work with older versions of IE
script.onreadystatechange = function() {
if (script.readyState=='complete' || script.readyState=='loaded') {
func(); if (show) showRoot();
}
}
}
head.appendChild(script);
}
function createIndent(o,domNode,node,level)
{
var level=-1;
var n = node;
while (n.parentNode) { level++; n=n.parentNode; }
if (node.childrenData) {
var imgNode = document.createElement("span");
imgNode.className = 'arrow';
imgNode.style.paddingLeft=(16*level).toString()+'px';
imgNode.innerHTML=arrowRight;
node.plus_img = imgNode;
node.expandToggle = document.createElement("a");
node.expandToggle.href = "javascript:void(0)";
node.expandToggle.onclick = function() {
if (node.expanded) {
$(node.getChildrenUL()).slideUp("fast");
node.plus_img.innerHTML=arrowRight;
node.expanded = false;
} else {
expandNode(o, node, false, false);
}
}
node.expandToggle.appendChild(imgNode);
domNode.appendChild(node.expandToggle);
} else {
var span = document.createElement("span");
span.className = 'arrow';
span.style.width = 16*(level+1)+'px';
span.innerHTML = '&#160;';
domNode.appendChild(span);
}
}
var animationInProgress = false;
function gotoAnchor(anchor,aname,updateLocation)
{
var pos, docContent = $('#doc-content');
var ancParent = $(anchor.parent());
if (ancParent.hasClass('memItemLeft') ||
ancParent.hasClass('fieldname') ||
ancParent.hasClass('fieldtype') ||
ancParent.is(':header'))
{
pos = ancParent.position().top;
} else if (anchor.position()) {
pos = anchor.position().top;
}
if (pos) {
var dist = Math.abs(Math.min(
pos-docContent.offset().top,
docContent[0].scrollHeight-
docContent.height()-docContent.scrollTop()));
animationInProgress=true;
docContent.animate({
scrollTop: pos + docContent.scrollTop() - docContent.offset().top
},Math.max(50,Math.min(500,dist)),function(){
if (updateLocation) window.location.href=aname;
animationInProgress=false;
});
}
}
function newNode(o, po, text, link, childrenData, lastNode)
{
var node = new Object();
node.children = Array();
node.childrenData = childrenData;
node.depth = po.depth + 1;
node.relpath = po.relpath;
node.isLast = lastNode;
node.li = document.createElement("li");
po.getChildrenUL().appendChild(node.li);
node.parentNode = po;
node.itemDiv = document.createElement("div");
node.itemDiv.className = "item";
node.labelSpan = document.createElement("span");
node.labelSpan.className = "label";
createIndent(o,node.itemDiv,node,0);
node.itemDiv.appendChild(node.labelSpan);
node.li.appendChild(node.itemDiv);
var a = document.createElement("a");
node.labelSpan.appendChild(a);
node.label = document.createTextNode(text);
node.expanded = false;
a.appendChild(node.label);
if (link) {
var url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
link = url;
} else {
url = node.relpath+link;
}
a.className = stripPath(link.replace('#',':'));
if (link.indexOf('#')!=-1) {
var aname = '#'+link.split('#')[1];
var srcPage = stripPath(pathName());
var targetPage = stripPath(link.split('#')[0]);
a.href = srcPage!=targetPage ? url : "javascript:void(0)";
a.onclick = function(){
storeLink(link);
if (!$(a).parent().parent().hasClass('selected'))
{
$('.item').removeClass('selected');
$('.item').removeAttr('id');
$(a).parent().parent().addClass('selected');
$(a).parent().parent().attr('id','selected');
}
var anchor = $(aname);
gotoAnchor(anchor,aname,true);
};
} else {
a.href = url;
a.onclick = function() { storeLink(link); }
}
} else {
if (childrenData != null)
{
a.className = "nolink";
a.href = "javascript:void(0)";
a.onclick = node.expandToggle.onclick;
}
}
node.childrenUL = null;
node.getChildrenUL = function() {
if (!node.childrenUL) {
node.childrenUL = document.createElement("ul");
node.childrenUL.className = "children_ul";
node.childrenUL.style.display = "none";
node.li.appendChild(node.childrenUL);
}
return node.childrenUL;
};
return node;
}
function showRoot()
{
var headerHeight = $("#top").height();
var footerHeight = $("#nav-path").height();
var windowHeight = $(window).height() - headerHeight - footerHeight;
(function (){ // retry until we can scroll to the selected item
try {
var navtree=$('#nav-tree');
navtree.scrollTo('#selected',0,{offset:-windowHeight/2});
} catch (err) {
setTimeout(arguments.callee, 0);
}
})();
}
function expandNode(o, node, imm, showRoot)
{
if (node.childrenData && !node.expanded) {
if (typeof(node.childrenData)==='string') {
var varName = node.childrenData;
getScript(node.relpath+varName,function(){
node.childrenData = getData(varName);
expandNode(o, node, imm, showRoot);
}, showRoot);
} else {
if (!node.childrenVisited) {
getNode(o, node);
} if (imm || ($.browser.msie && $.browser.version>8)) {
// somehow slideDown jumps to the start of tree for IE9 :-(
$(node.getChildrenUL()).show();
} else {
$(node.getChildrenUL()).slideDown("fast");
}
node.plus_img.innerHTML = arrowDown;
node.expanded = true;
}
}
}
function glowEffect(n,duration)
{
n.addClass('glow').delay(duration).queue(function(next){
$(this).removeClass('glow');next();
});
}
function highlightAnchor()
{
var aname = hashUrl();
var anchor = $(aname);
if (anchor.parent().attr('class')=='memItemLeft'){
var rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
glowEffect(rows.children(),300); // member without details
} else if (anchor.parent().attr('class')=='fieldname'){
glowEffect(anchor.parent().parent(),1000); // enum value
} else if (anchor.parent().attr('class')=='fieldtype'){
glowEffect(anchor.parent().parent(),1000); // struct field
} else if (anchor.parent().is(":header")) {
glowEffect(anchor.parent(),1000); // section header
} else {
glowEffect(anchor.next(),1000); // normal member
}
gotoAnchor(anchor,aname,false);
}
function selectAndHighlight(hash,n)
{
var a;
if (hash) {
var link=stripPath(pathName())+':'+hash.substring(1);
a=$('.item a[class$="'+link+'"]');
}
if (a && a.length) {
a.parent().parent().addClass('selected');
a.parent().parent().attr('id','selected');
highlightAnchor();
} else if (n) {
$(n.itemDiv).addClass('selected');
$(n.itemDiv).attr('id','selected');
}
if ($('#nav-tree-contents .item:first').hasClass('selected')) {
$('#nav-sync').css('top','30px');
} else {
$('#nav-sync').css('top','5px');
}
showRoot();
}
function showNode(o, node, index, hash)
{
if (node && node.childrenData) {
if (typeof(node.childrenData)==='string') {
var varName = node.childrenData;
getScript(node.relpath+varName,function(){
node.childrenData = getData(varName);
showNode(o,node,index,hash);
},true);
} else {
if (!node.childrenVisited) {
getNode(o, node);
}
$(node.getChildrenUL()).css({'display':'block'});
node.plus_img.innerHTML = arrowDown;
node.expanded = true;
var n = node.children[o.breadcrumbs[index]];
if (index+1<o.breadcrumbs.length) {
showNode(o,n,index+1,hash);
} else {
if (typeof(n.childrenData)==='string') {
var varName = n.childrenData;
getScript(n.relpath+varName,function(){
n.childrenData = getData(varName);
node.expanded=false;
showNode(o,node,index,hash); // retry with child node expanded
},true);
} else {
var rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
if (rootBase=="index" || rootBase=="pages" || rootBase=="search") {
expandNode(o, n, true, true);
}
selectAndHighlight(hash,n);
}
}
}
} else {
selectAndHighlight(hash);
}
}
function removeToInsertLater(element) {
var parentNode = element.parentNode;
var nextSibling = element.nextSibling;
parentNode.removeChild(element);
return function() {
if (nextSibling) {
parentNode.insertBefore(element, nextSibling);
} else {
parentNode.appendChild(element);
}
};
}
function getNode(o, po)
{
var insertFunction = removeToInsertLater(po.li);
po.childrenVisited = true;
var l = po.childrenData.length-1;
for (var i in po.childrenData) {
var nodeData = po.childrenData[i];
po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],
i==l);
}
insertFunction();
}
function gotoNode(o,subIndex,root,hash,relpath)
{
var nti = navTreeSubIndices[subIndex][root+hash];
o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
navTo(o,NAVTREE[0][1],"",relpath);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
if (o.breadcrumbs) {
o.breadcrumbs.unshift(0); // add 0 for root node
showNode(o, o.node, 0, hash);
}
}
function navTo(o,root,hash,relpath)
{
var link = cachedLink();
if (link) {
var parts = link.split('#');
root = parts[0];
if (parts.length>1) hash = '#'+parts[1].replace(/[^\w\-]/g,'');
else hash='';
}
if (hash.match(/^#l\d+$/)) {
var anchor=$('a[name='+hash.substring(1)+']');
glowEffect(anchor.parent(),1000); // line number
hash=''; // strip line number anchors
}
var url=root+hash;
var i=-1;
while (NAVTREEINDEX[i+1]<=url) i++;
if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
if (navTreeSubIndices[i]) {
gotoNode(o,i,root,hash,relpath)
} else {
getScript(relpath+'navtreeindex'+i,function(){
navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
if (navTreeSubIndices[i]) {
gotoNode(o,i,root,hash,relpath);
}
},true);
}
}
function showSyncOff(n,relpath)
{
n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
}
function showSyncOn(n,relpath)
{
n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
}
function toggleSyncButton(relpath)
{
var navSync = $('#nav-sync');
if (navSync.hasClass('sync')) {
navSync.removeClass('sync');
showSyncOff(navSync,relpath);
storeLink(stripPath2(pathName())+hashUrl());
} else {
navSync.addClass('sync');
showSyncOn(navSync,relpath);
deleteLink();
}
}
function initNavTree(toroot,relpath)
{
var o = new Object();
o.toroot = toroot;
o.node = new Object();
o.node.li = document.getElementById("nav-tree-contents");
o.node.childrenData = NAVTREE;
o.node.children = new Array();
o.node.childrenUL = document.createElement("ul");
o.node.getChildrenUL = function() { return o.node.childrenUL; };
o.node.li.appendChild(o.node.childrenUL);
o.node.depth = 0;
o.node.relpath = relpath;
o.node.expanded = false;
o.node.isLast = true;
o.node.plus_img = document.createElement("span");
o.node.plus_img.className = 'arrow';
o.node.plus_img.innerHTML = arrowRight;
if (localStorageSupported()) {
var navSync = $('#nav-sync');
if (cachedLink()) {
showSyncOff(navSync,relpath);
navSync.removeClass('sync');
} else {
showSyncOn(navSync,relpath);
}
navSync.click(function(){ toggleSyncButton(relpath); });
}
$(window).load(function(){
navTo(o,toroot,hashUrl(),relpath);
showRoot();
});
$(window).bind('hashchange', function(){
if (window.location.hash && window.location.hash.length>1){
var a;
if ($(location).attr('hash')){
var clslink=stripPath(pathName())+':'+hashValue();
a=$('.item a[class$="'+clslink.replace(/</g,'\\3c ')+'"]');
}
if (a==null || !$(a).parent().parent().hasClass('selected')){
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
var link=stripPath2(pathName());
navTo(o,link,hashUrl(),relpath);
} else if (!animationInProgress) {
$('#doc-content').scrollTop(0);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
navTo(o,toroot,hashUrl(),relpath);
}
})
}
/* @license-end */

48
_docu/html/navtreedata.js Normal file
View file

@ -0,0 +1,48 @@
/*
@ @licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2017 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
var NAVTREE =
[
[ "BOSWatch 3", "index.html", [
[ "Changelog", "md__changelog.html", null ],
[ "Format of the BOSWatch packets", "md_information_packet.html", null ],
[ "BOSWatch", "md__r_e_a_d_m_e.html", null ],
[ "Todo List", "todo.html", null ],
[ "Data Structures", "annotated.html", [
[ "Data Structures", "annotated.html", "annotated_dup" ],
[ "Class Hierarchy", "hierarchy.html", "hierarchy" ],
[ "Data Fields", "functions.html", [
[ "All", "functions.html", null ],
[ "Functions", "functions_func.html", null ]
] ]
] ]
] ]
];
var NAVTREEINDEX =
[
".html"
];
var SYNCONMSG = 'click to disable panel synchronisation';
var SYNCOFFMSG = 'click to enable panel synchronisation';

View file

@ -0,0 +1,71 @@
var NAVTREEINDEX0 =
{
".html":[4,0,0],
".html":[4,0,0,0],
".html":[4,0,0,2],
".html":[4,0,0,1,1],
".html":[4,0,0,2,0],
".html":[4,0,0,1],
".html":[4,0,0,3,0],
".html":[4,0,0,1,2],
".html":[4,0,0,2,1],
".html":[4,0,0,1,0],
".html":[4,0,0,1,3],
".html":[4,0,0,3],
"annotated.html":[4,0],
"classboswatch_1_1config_1_1_config.html":[4,0,0,0,0],
"classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7":[4,0,0,0,0,1],
"classboswatch_1_1config_1_1_config.html#a5a7fd74fa397a8c96245b51f51aa6f6a":[4,0,0,0,0,0],
"classboswatch_1_1config_1_1_config.html#ae8c521d735a864121ffb04f95bbc118e":[4,0,0,0,0,2],
"classboswatch_1_1decoder_1_1decoder_1_1_decoder.html":[4,0,0,1,0,0],
"classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f":[4,0,0,1,0,0,2],
"classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#adbb7498807175d67de1559c36b3f3dd2":[4,0,0,1,0,0,3],
"classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#add39dbdb43ed0168c310457a7c1df493":[4,0,0,1,0,0,1],
"classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#ae15cb65a69572a1a59943550496f53c0":[4,0,0,1,0,0,0],
"classboswatch_1_1decoder_1_1fms_1_1_fms.html":[4,0,0,1,1,0],
"classboswatch_1_1decoder_1_1fms_1_1_fms.html#a0b595db897f099237994da17f557451c":[4,0,0,1,1,0,1],
"classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6d2bf5793967e2cf755aa29d5d92670d":[4,0,0,1,1,0,0],
"classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6df642ebc7d0ac9db8da602b1f1aee4c":[4,0,0,1,1,0,2],
"classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html":[4,0,0,1,2,0],
"classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a011a7f030f156ae2fe560461de759040":[4,0,0,1,2,0,0],
"classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a6162a990f809806293ef3b996004635d":[4,0,0,1,2,0,2],
"classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#ab79c8c5e4eeb10107db544c4c806ef08":[4,0,0,1,2,0,1],
"classboswatch_1_1decoder_1_1zvei_1_1_zvei.html":[4,0,0,1,3,0],
"classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a022512d0e73daab5496cd6eeec71bd08":[4,0,0,1,3,0,1],
"classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a97a4c80368b8fd08c16fb7cdc11cdd3b":[4,0,0,1,3,0,5],
"classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aa0c221732f1feb54fc80ef9ba9eae403":[4,0,0,1,3,0,3],
"classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#ac470c7ddc6e7c87f186ad62d435561fe":[4,0,0,1,3,0,4],
"classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aec63074e080a9a415e871e7ca2982be5":[4,0,0,1,3,0,2],
"classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#af4b26213d6658508719b93488a4856e5":[4,0,0,1,3,0,0],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html":[4,0,0,2,0,0],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a085df370df1ad97a2ea2b9a510590721":[4,0,0,2,0,0,6],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a269a5cc62bb8b4077c6f0d01d4e309f9":[4,0,0,2,0,0,1],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a6bd414bfb8b3b6e7453f2ffa7b288979":[4,0,0,2,0,0,2],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a753e24926d2b86b302b4d5a1832e968d":[4,0,0,2,0,0,0],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a990394e341a69aaddd00807c7d936bb9":[4,0,0,2,0,0,5],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae18958f9acbdbb7c9c2d2b5b4df9364c":[4,0,0,2,0,0,3],
"classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae84d2fa327a19535950d2f7c013b7e1f":[4,0,0,2,0,0,4],
"classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html":[4,0,0,2,1,0],
"classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html#afe2d9a9365f886e80fbb3ee4fa85e644":[4,0,0,2,1,0,0],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html":[4,0,0,2,1,1],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a069063419170444e452c49d4d3226d42":[4,0,0,2,1,1,8],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a196dd011e76b9ffa269b1d7ae945317f":[4,0,0,2,1,1,7],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a1c2addb2a19639987d121b2cd3ae54c9":[4,0,0,2,1,1,5],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a34210569d9aeb0f83e23fda9ac6501c1":[4,0,0,2,1,1,6],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a39d08376267ebba5f1306e77fd77ccc6":[4,0,0,2,1,1,0],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a3b311c5d86e829c45c5d494d27633bdb":[4,0,0,2,1,1,1],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a427d9904084e9a4c4b2e51d54f6410c9":[4,0,0,2,1,1,2],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a59b4eb3e8df63da81d3d5b824f9068b4":[4,0,0,2,1,1,3],
"classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#abeaaaf03fad1689604a79fc04d9830a1":[4,0,0,2,1,1,4],
"classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html":[4,0,0,3,0,0],
"classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html#a687a1e53b5fcccc58a2b39bbdc7f38ae":[4,0,0,3,0,0,0],
"functions.html":[4,2,0],
"functions_func.html":[4,2,1],
"hierarchy.html":[4,1],
"index.html":[],
"md__changelog.html":[0],
"md__r_e_a_d_m_e.html":[2],
"md_information_packet.html":[1],
"pages.html":[],
"todo.html":[3]
};

BIN
_docu/html/open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

122
_docu/html/pages.html Normal file
View file

@ -0,0 +1,122 @@
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BOSWatch 3: Related Pages</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">BOSWatch 3
</div>
<div id="projectbrief">Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG</div>
</td>
<td> <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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('pages.html','');});
/* @license-end */
</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="headertitle">
<div class="title">Related Pages</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__changelog.html" target="_self">Changelog</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md_information_packet.html" target="_self">Format of the BOSWatch packets</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__r_e_a_d_m_e.html" target="_self">BOSWatch</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="todo.html" target="_self">Todo List</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</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 Thu Jan 4 2018 08:56:52 for BOSWatch 3 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>

136
_docu/html/resize.js Normal file
View file

@ -0,0 +1,136 @@
/*
@licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2017 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
function initResizable()
{
var cookie_namespace = 'doxygen';
var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight;
function readCookie(cookie)
{
var myCookie = cookie_namespace+"_"+cookie+"=";
if (document.cookie) {
var index = document.cookie.indexOf(myCookie);
if (index != -1) {
var valStart = index + myCookie.length;
var valEnd = document.cookie.indexOf(";", valStart);
if (valEnd == -1) {
valEnd = document.cookie.length;
}
var val = document.cookie.substring(valStart, valEnd);
return val;
}
}
return 0;
}
function writeCookie(cookie, val, expiration)
{
if (val==undefined) return;
if (expiration == null) {
var date = new Date();
date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
expiration = date.toGMTString();
}
document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
}
function resizeWidth()
{
var windowWidth = $(window).width() + "px";
var sidenavWidth = $(sidenav).outerWidth();
content.css({marginLeft:parseInt(sidenavWidth)+"px"});
writeCookie('width',sidenavWidth-barWidth, null);
}
function restoreWidth(navWidth)
{
var windowWidth = $(window).width() + "px";
content.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
sidenav.css({width:navWidth + "px"});
}
function resizeHeight()
{
var headerHeight = header.outerHeight();
var footerHeight = footer.outerHeight();
var windowHeight = $(window).height() - headerHeight - footerHeight;
content.css({height:windowHeight + "px"});
navtree.css({height:windowHeight + "px"});
sidenav.css({height:windowHeight + "px"});
var width=$(window).width();
if (width!=collapsedWidth) {
if (width<desktop_vp && collapsedWidth>=desktop_vp) {
if (!collapsed) {
collapseExpand();
}
} else if (width>desktop_vp && collapsedWidth<desktop_vp) {
if (collapsed) {
collapseExpand();
}
}
collapsedWidth=width;
}
}
function collapseExpand()
{
if (sidenav.width()>0) {
restoreWidth(0);
collapsed=true;
}
else {
var width = readCookie('width');
if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); }
collapsed=false;
}
}
header = $("#top");
sidenav = $("#side-nav");
content = $("#doc-content");
navtree = $("#nav-tree");
footer = $("#nav-path");
$(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
$(sidenav).resizable({ minWidth: 0 });
$(window).resize(function() { resizeHeight(); });
var device = navigator.userAgent.toLowerCase();
var touch_device = device.match(/(iphone|ipod|ipad|android)/);
if (touch_device) { /* wider split bar for touch only devices */
$(sidenav).css({ paddingRight:'20px' });
$('.ui-resizable-e').css({ width:'20px' });
$('#nav-sync').css({ right:'34px' });
barWidth=20;
}
var width = readCookie('width');
if (width) { restoreWidth(width); } else { resizeWidth(); }
resizeHeight();
var url = location.href;
var i=url.indexOf("#");
if (i>=0) window.location.hash=url.substr(i);
var _preventDefault = function(evt) { evt.preventDefault(); };
$("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
$(".ui-resizable-handle").dblclick(collapseExpand);
$(window).load(resizeHeight);
}
/* @license-end */

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,7 @@
var searchData=
[
['_5f_5finit_5f_5f',['__init__',['../classboswatch_1_1config_1_1_config.html#a5a7fd74fa397a8c96245b51f51aa6f6a',1,'boswatch.config.Config.__init__()'],['../classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#ae15cb65a69572a1a59943550496f53c0',1,'boswatch.decoder.decoder.Decoder.__init__()'],['../classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6d2bf5793967e2cf755aa29d5d92670d',1,'boswatch.decoder.fms.Fms.__init__()'],['../classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a011a7f030f156ae2fe560461de759040',1,'boswatch.decoder.pocsag.Pocsag.__init__()'],['../classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#af4b26213d6658508719b93488a4856e5',1,'boswatch.decoder.zvei.Zvei.__init__()'],['../classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a753e24926d2b86b302b4d5a1832e968d',1,'boswatch.network.client.TCPClient.__init__()'],['../classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a39d08376267ebba5f1306e77fd77ccc6',1,'boswatch.network.server.TCPServer.__init__()'],['../classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html#a687a1e53b5fcccc58a2b39bbdc7f38ae',1,'boswatch.watchdog.watchdog.BWWatchdog.__init__()']]],
['_5fgetclientdata',['_getClientData',['../classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#aa9fc1d1ae059e6b1f8f8a31d86d4fb9f',1,'boswatch::decoder::decoder::Decoder']]],
['_5freplacedoubletone',['_replaceDoubleTone',['../classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#ac470c7ddc6e7c87f186ad62d435561fe',1,'boswatch::decoder::zvei::Zvei']]],
['_5fvalidate',['_validate',['../classboswatch_1_1decoder_1_1fms_1_1_fms.html#a6df642ebc7d0ac9db8da602b1f1aee4c',1,'boswatch.decoder.fms.Fms._validate()'],['../classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#a6162a990f809806293ef3b996004635d',1,'boswatch.decoder.pocsag.Pocsag._validate()'],['../classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#aa0c221732f1feb54fc80ef9ba9eae403',1,'boswatch.decoder.zvei.Zvei._validate()']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,5 @@
var searchData=
[
['bwwatchdog',['BWWatchdog',['../classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html',1,'boswatch::watchdog::watchdog']]],
['boswatch',['BOSWatch',['../md__r_e_a_d_m_e.html',1,'']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,7 @@
var searchData=
[
['clientsconnected',['clientsConnected',['../classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a59b4eb3e8df63da81d3d5b824f9068b4',1,'boswatch::network::server::TCPServer']]],
['config',['Config',['../classboswatch_1_1config_1_1_config.html',1,'boswatch::config']]],
['connect',['connect',['../classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a269a5cc62bb8b4077c6f0d01d4e309f9',1,'boswatch::network::client::TCPClient']]],
['changelog',['Changelog',['../md__changelog.html',1,'']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,6 @@
var searchData=
[
['decode',['decode',['../classboswatch_1_1decoder_1_1decoder_1_1_decoder.html#add39dbdb43ed0168c310457a7c1df493',1,'boswatch.decoder.decoder.Decoder.decode()'],['../classboswatch_1_1decoder_1_1fms_1_1_fms.html#a0b595db897f099237994da17f557451c',1,'boswatch.decoder.fms.Fms.decode()'],['../classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html#ab79c8c5e4eeb10107db544c4c806ef08',1,'boswatch.decoder.pocsag.Pocsag.decode()'],['../classboswatch_1_1decoder_1_1zvei_1_1_zvei.html#a022512d0e73daab5496cd6eeec71bd08',1,'boswatch.decoder.zvei.Zvei.decode()']]],
['decoder',['Decoder',['../classboswatch_1_1decoder_1_1decoder_1_1_decoder.html',1,'boswatch::decoder::decoder']]],
['disconnect',['disconnect',['../classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#a6bd414bfb8b3b6e7453f2ffa7b288979',1,'boswatch::network::client::TCPClient']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,6 @@
var searchData=
[
['flushdata',['flushData',['../classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a1c2addb2a19639987d121b2cd3ae54c9',1,'boswatch::network::server::TCPServer']]],
['fms',['Fms',['../classboswatch_1_1decoder_1_1fms_1_1_fms.html',1,'boswatch::decoder::fms']]],
['format_20of_20the_20boswatch_20packets',['Format of the BOSWatch packets',['../md_information_packet.html',1,'']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,5 @@
var searchData=
[
['getconfig',['getConfig',['../classboswatch_1_1config_1_1_config.html#ae8c521d735a864121ffb04f95bbc118e',1,'boswatch::config::Config']]],
['getdata',['getData',['../classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#abeaaaf03fad1689604a79fc04d9830a1',1,'boswatch::network::server::TCPServer']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['handle',['handle',['../classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html#afe2d9a9365f886e80fbb3ee4fa85e644',1,'boswatch::network::server::TCPHandler']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['loadconfig',['loadConfig',['../classboswatch_1_1config_1_1_config.html#a24771882fd22b6c93f0924772199e6f7',1,'boswatch::config::Config']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_8.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['pocsag',['Pocsag',['../classboswatch_1_1decoder_1_1pocsag_1_1_pocsag.html',1,'boswatch::decoder::pocsag']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_9.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['receive',['receive',['../classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae84d2fa327a19535950d2f7c013b7e1f',1,'boswatch::network::client::TCPClient']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_a.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,5 @@
var searchData=
[
['start',['start',['../classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a3b311c5d86e829c45c5d494d27633bdb',1,'boswatch::network::server::TCPServer']]],
['stop',['stop',['../classboswatch_1_1network_1_1server_1_1_t_c_p_server.html#a427d9904084e9a4c4b2e51d54f6410c9',1,'boswatch::network::server::TCPServer']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_b.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,8 @@
var searchData=
[
['tcpclient',['TCPClient',['../classboswatch_1_1network_1_1client_1_1_t_c_p_client.html',1,'boswatch::network::client']]],
['tcphandler',['TCPHandler',['../classboswatch_1_1network_1_1server_1_1_t_c_p_handler.html',1,'boswatch::network::server']]],
['tcpserver',['TCPServer',['../classboswatch_1_1network_1_1server_1_1_t_c_p_server.html',1,'boswatch::network::server']]],
['todo_20list',['Todo List',['../todo.html',1,'']]],
['transmit',['transmit',['../classboswatch_1_1network_1_1client_1_1_t_c_p_client.html#ae18958f9acbdbb7c9c2d2b5b4df9364c',1,'boswatch::network::client::TCPClient']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_c.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['zvei',['Zvei',['../classboswatch_1_1decoder_1_1zvei_1_1_zvei.html',1,'boswatch::decoder::zvei']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['bwwatchdog',['BWWatchdog',['../classboswatch_1_1watchdog_1_1watchdog_1_1_b_w_watchdog.html',1,'boswatch::watchdog::watchdog']]]
];

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['config',['Config',['../classboswatch_1_1config_1_1_config.html',1,'boswatch::config']]]
];

Some files were not shown because too many files have changed in this diff Show more