slsDetectorPackage/docs/html/slsDetectorUsersDocs/mainClient_8cpp_source.html

168 lines
18 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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.5"/>
<title>My Project: mainClient.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">mainClient.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="mainClient_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;detectorData.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="mainClient_8cpp.html#abba369ecba2066d66cc8b3b74460e778"> 32</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#abba369ecba2066d66cc8b3b74460e778">dataCallback</a>(detectorData *pData, <span class="keywordtype">int</span> iframe, <span class="keywordtype">int</span> isubframe, <span class="keywordtype">void</span> *pArg)</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot; DataCallback:&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\n nx : &quot;</span> &lt;&lt; pData-&gt;npoints</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\n ny : &quot;</span> &lt;&lt; pData-&gt;npy</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\n Frame number : &quot;</span> &lt;&lt; iframe &lt;&lt; std::endl;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="mainClient_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 49</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">int</span> <span class="keywordtype">id</span>=0;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (argc&gt;=4)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">id</span>=atoi(argv[3]);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">int</span> ret = 1;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> *pDetector = <span class="keyword">new</span> <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> (ret, <span class="keywordtype">id</span>);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (ret == 1) {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;Error: Could not instantiate slsDetectorUsers&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> EXIT_FAILURE;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (argc&gt;=2){</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#ac3784508713e85386054a4f9f8a0ba62">readConfigurationFile</a>(argv[1]);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;Detector configured&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#aee622153ebd6b0dad065d95b07221955">setOnline</a>(1);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#a3f961fb6eb6409f7b98a2267ad674af4">setReceiverOnline</a>(1);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#add821d94da9b03fe500d27e4433c01f5">registerDataCallback</a>(&amp;<a class="code" href="mainClient_8cpp.html#abba369ecba2066d66cc8b3b74460e778">dataCallback</a>, NULL);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">int</span> status = pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#ac7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (status != 0){</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;Detector not ready: &quot;</span> &lt;&lt; <a class="code" href="classslsDetectorUsers.html#a3f0b478904a981d79cbff394a9540788">slsDetectorUsers::runStatusType</a>(status) &lt;&lt; std::endl;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> 1;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (argc&gt;=3){</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#a98478610ffb3de40629dc7b9ddca2c53">retrieveDetectorSetup</a>(argv[2]);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;Detector measurement set-up done&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#aa34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>();</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;measurement finished&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">delete</span> pDetector;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="ttc" id="classslsDetectorUsers_html_add821d94da9b03fe500d27e4433c01f5"><div class="ttname"><a href="classslsDetectorUsers.html#add821d94da9b03fe500d27e4433c01f5">slsDetectorUsers::registerDataCallback</a></div><div class="ttdeci">void registerDataCallback(int(*userCallback)(detectorData *d, int f, int s, void *), void *pArg)</div><div class="ttdoc">register calbback for accessing detector final data, also enables data streaming in client and receiv...</div></div>
<div class="ttc" id="classslsDetectorUsers_html_aa34810bb0e872fdf929ebe62d8582bd3"><div class="ttname"><a href="classslsDetectorUsers.html#aa34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers::startMeasurement</a></div><div class="ttdeci">void startMeasurement()</div><div class="ttdoc">start measurement and acquires </div></div>
<div class="ttc" id="mainClient_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="mainClient_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="mainClient_8cpp_source.html#l00049">mainClient.cpp:49</a></div></div>
<div class="ttc" id="classslsDetectorUsers_html_a3f961fb6eb6409f7b98a2267ad674af4"><div class="ttname"><a href="classslsDetectorUsers.html#a3f961fb6eb6409f7b98a2267ad674af4">slsDetectorUsers::setReceiverOnline</a></div><div class="ttdeci">int setReceiverOnline(int const online=-1)</div><div class="ttdoc">sets the receivers onlineFlag </div></div>
<div class="ttc" id="classslsDetectorUsers_html_a98478610ffb3de40629dc7b9ddca2c53"><div class="ttname"><a href="classslsDetectorUsers.html#a98478610ffb3de40629dc7b9ddca2c53">slsDetectorUsers::retrieveDetectorSetup</a></div><div class="ttdeci">int retrieveDetectorSetup(std::string const fname)</div><div class="ttdoc">Loads the detector setup from file. </div></div>
<div class="ttc" id="classslsDetectorUsers_html_aee622153ebd6b0dad065d95b07221955"><div class="ttname"><a href="classslsDetectorUsers.html#aee622153ebd6b0dad065d95b07221955">slsDetectorUsers::setOnline</a></div><div class="ttdeci">int setOnline(int const online=-1)</div><div class="ttdoc">sets the onlineFlag </div></div>
<div class="ttc" id="classslsDetectorUsers_html"><div class="ttname"><a href="classslsDetectorUsers.html">slsDetectorUsers</a></div><div class="ttdoc">The slsDetectorUsers class is a minimal interface class which should be instantiated by the users in ...</div><div class="ttdef"><b>Definition:</b> <a href="slsDetectorUsers_8h_source.html#l00085">slsDetectorUsers.h:85</a></div></div>
<div class="ttc" id="classslsDetectorUsers_html_ac7d0254e38b8fe783204f691a4ee05b2"><div class="ttname"><a href="classslsDetectorUsers.html#ac7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers::getDetectorStatus</a></div><div class="ttdeci">int getDetectorStatus()</div><div class="ttdoc">get run status </div></div>
<div class="ttc" id="slsDetectorUsers_8h_html"><div class="ttname"><a href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a></div></div>
<div class="ttc" id="classslsDetectorUsers_html_ac3784508713e85386054a4f9f8a0ba62"><div class="ttname"><a href="classslsDetectorUsers.html#ac3784508713e85386054a4f9f8a0ba62">slsDetectorUsers::readConfigurationFile</a></div><div class="ttdeci">int readConfigurationFile(std::string const fname)</div><div class="ttdoc">Reads the configuration file will contain all the informations needed for the configuration (e...</div></div>
<div class="ttc" id="classslsDetectorUsers_html_a3f0b478904a981d79cbff394a9540788"><div class="ttname"><a href="classslsDetectorUsers.html#a3f0b478904a981d79cbff394a9540788">slsDetectorUsers::runStatusType</a></div><div class="ttdeci">static std::string runStatusType(int s)</div><div class="ttdoc">returns std::string from run status index </div><div class="ttdef"><b>Definition:</b> <a href="slsDetectorUsers_8h_source.html#l00851">slsDetectorUsers.h:851</a></div></div>
<div class="ttc" id="mainClient_8cpp_html_abba369ecba2066d66cc8b3b74460e778"><div class="ttname"><a href="mainClient_8cpp.html#abba369ecba2066d66cc8b3b74460e778">dataCallback</a></div><div class="ttdeci">int dataCallback(detectorData *pData, int iframe, int isubframe, void *pArg)</div><div class="ttdef"><b>Definition:</b> <a href="mainClient_8cpp_source.html#l00032">mainClient.cpp:32</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>