Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > e6f1a3debfddb2a6cccaab627266a0ea > files > 3168

mrpt-doc-0.9.0-0.5.fc14.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>The MRPT project: mrpt::hwdrivers::CNTRIPClient Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacemrpt.html">mrpt</a>::<a class="el" href="namespacemrpt_1_1hwdrivers.html">hwdrivers</a>::<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html">CNTRIPClient</a>
  </div>
</div>
<div class="contents">
<h1>mrpt::hwdrivers::CNTRIPClient Class Reference</h1><!-- doxytag: class="mrpt::hwdrivers::CNTRIPClient" -->
<p>A client for NTRIP (HTTP) sources of differential GPS corrections from internet servers, or Global navigation satellite system (GNSS) internet radio.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_c_n_t_r_i_p_client_8h_source.html">mrpt/hwdrivers/CNTRIPClient.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for mrpt::hwdrivers::CNTRIPClient:</div>
<div class="dynsection">
<div class="center"><img src="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client__coll__graph.png" border="0" usemap="#mrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_coll__map" alt="Collaboration graph"/></div>
<map name="mrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_coll__map" id="mrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_coll__map">
<area shape="rect" id="node2" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_n_t_r_i_p_args.html" title="The arguments for connecting to a NTRIP stream, used in CNTRIPClient::open." alt="" coords="2689,77,2969,107"/><area shape="rect" id="node4" title="STL class." alt="" coords="2193,53,2273,83"/><area shape="rect" id="node16" href="classmrpt_1_1synch_1_1_c_critical_section.html" title="This class provides simple critical sections functionality." alt="" coords="2469,128,2664,157"/><area shape="rect" id="node6" title="STL class." alt="" coords="1879,53,2044,83"/><area shape="rect" id="node8" href="classmrpt_1_1synch_1_1_m_t__buffer.html" title="This class is a bulk sequence of bytes with MultiThread (MT)&#45;safe read and write..." alt="" coords="3015,163,3172,192"/><area shape="rect" id="node10" href="structmrpt_1_1mrpt__base__vector.html" title="mrpt::mrpt_base_vector\&lt; uint8_t \&gt;" alt="" coords="745,180,967,209"/><area shape="rect" id="node12" title="STL class." alt="" coords="323,184,469,213"/><area shape="rect" id="node31" title="STL class." alt="" coords="148,252,297,281"/><area shape="rect" id="node18" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,...." alt="" coords="2164,128,2303,157"/><area shape="rect" id="node21" href="classmrpt_1_1utils_1_1_c_referenced_mem_block.html" title="Represents a memory block (via &quot;void*&quot;) that can be shared between several..." alt="" coords="2120,253,2347,283"/><area shape="rect" id="node36" href="classmrpt_1_1synch_1_1_c_semaphore.html" title="A semaphore for inter&#45;thread synchronization." alt="" coords="2743,251,2916,280"/><area shape="rect" id="node23" href="classstlplus_1_1smart__ptr.html" title="stlplus::smart_ptr\&lt; vector_byte \&gt;" alt="" coords="1855,253,2068,283"/><area shape="rect" id="node25" href="classstlplus_1_1smart__ptr__base.html" title="stlplus::smart_ptr_base\&lt; vector_byte, constructor_copy\&lt; vector_byte \&gt; \&gt;" alt="" coords="1352,253,1803,283"/><area shape="rect" id="node27" href="classstlplus_1_1smart__ptr__holder.html" title="stlplus::smart_ptr_holder\&lt; vector_byte \&gt;" alt="" coords="993,253,1249,283"/><area shape="rect" id="node29" href="structmrpt_1_1mrpt__base__vector.html" title="Numeric vectors compatible with mrpt/math/ops_containers.h:." alt="" coords="493,285,720,315"/><area shape="rect" id="node34" href="classmrpt_1_1synch_1_1_c_atomic_counter.html" title="This class acts exactly as an int (or long) variable, but with atomic increment and..." alt="" coords="509,232,704,261"/><area shape="rect" id="node39" href="structmrpt_1_1system_1_1_t_thread_handle.html" title="This structure contains the information needed to interface the threads API on each..." alt="" coords="2996,299,3191,328"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_n_t_r_i_p_args.html">NTRIPArgs</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The arguments for connecting to a NTRIP stream, used in <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aa02aa757598e30787f84a1e3a45787f4" title="Tries to open a given NTRIP stream and, if successful, launches a thread for continuously...">CNTRIPClient::open</a>.  <a href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_n_t_r_i_p_args.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_t_mount_point.html">TMountPoint</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A descriptor of one stream in an NTRIP Caster - See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aade16b94b275bb55f7bc9ef12cad2729" title="Connect to a given NTRIP caster and get the list of all available mountpoints and...">CNTRIPClient::retrieveListOfMountpoints</a>.  <a href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_t_mount_point.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef list&lt; <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_t_mount_point.html">TMountPoint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a87876b056c78f192d6cd59a9f93d8a55">TListMountPoints</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used in <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aade16b94b275bb55f7bc9ef12cad2729" title="Connect to a given NTRIP caster and get the list of all available mountpoints and...">CNTRIPClient::retrieveListOfMountpoints</a>.  <a href="#a87876b056c78f192d6cd59a9f93d8a55"></a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#ac67281a2e058aee80e3da0f1c2c89568">CNTRIPClient</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#ac67281a2e058aee80e3da0f1c2c89568"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a3740f911fee23f9943b1b5f191b7de39">~CNTRIPClient</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor.  <a href="#a3740f911fee23f9943b1b5f191b7de39"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aa02aa757598e30787f84a1e3a45787f4">open</a> (const <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_n_t_r_i_p_args.html">NTRIPArgs</a> &amp;params, string &amp;out_errmsg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tries to open a given NTRIP stream and, if successful, launches a thread for continuously reading from it.  <a href="#aa02aa757598e30787f84a1e3a45787f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#ae3338c9d6aad4b6c26f27d60a8075a65">close</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the connection.  <a href="#ae3338c9d6aad4b6c26f27d60a8075a65"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aade16b94b275bb55f7bc9ef12cad2729">retrieveListOfMountpoints</a> (<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a87876b056c78f192d6cd59a9f93d8a55">TListMountPoints</a> &amp;out_list, string &amp;out_errmsg, const string &amp;server, int port=2101, const string &amp;auth_user=string(), const string &amp;auth_pass=string())</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connect to a given NTRIP caster and get the list of all available mountpoints and their parameters.  <a href="#aade16b94b275bb55f7bc9ef12cad2729"></a><br/></td></tr>
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1synch_1_1_m_t__buffer.html">mrpt::synch::MT_buffer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a458f01bf0273c929eb833556b957511d">stream_data</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The buffer with all the bytes so-far read from the NTRIP server stream.  <a href="#a458f01bf0273c929eb833556b957511d"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a751ec92c2aa49ca75bc91e36740dc821">TConnResult</a> { <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a751ec92c2aa49ca75bc91e36740dc821a48c116b33c4a457bf36497d1ce164541">connOk</a> =  0, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a751ec92c2aa49ca75bc91e36740dc821af2685645b4ae71556c2a760d17e135d7">connError</a>, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a751ec92c2aa49ca75bc91e36740dc821aa03c42605a10f31d9077be5566f90e24">connUnauthorized</a>
 }</td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a150861503f26cd8083f78c20ffbbac22">private_ntrip_thread</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The working thread.  <a href="#a150861503f26cd8083f78c20ffbbac22"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1system_1_1_t_thread_handle.html">mrpt::system::TThreadHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a910873d970b783ce1ba89427792e9364">m_thread</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1synch_1_1_c_semaphore.html">mrpt::synch::CSemaphore</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a89adf23071e0cf10f329f7f8946f0b78">m_sem_sock_closed</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1synch_1_1_c_semaphore.html">mrpt::synch::CSemaphore</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a127d166d7e90372d491c37a673c45f2e">m_sem_first_connect_done</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aab495f81575c4f26a215bdb26b7aed2f">m_thread_exit</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aa9ca2cbc768910421706d28a2f86e133">m_thread_do_process</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Will be "true" between "open" and "close".  <a href="#aa9ca2cbc768910421706d28a2f86e133"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#ae2e7f4616ba0d86f3125fce82572073b">m_waiting_answer_connection</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a751ec92c2aa49ca75bc91e36740dc821">TConnResult</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a36dcd1e2de18e02fee4a608c9c619b9f">m_answer_connection</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_n_t_r_i_p_args.html">NTRIPArgs</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a5b71e616c2adfc33dba035a5bb282598">m_args</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All the parameters for the NTRIP connection.  <a href="#a5b71e616c2adfc33dba035a5bb282598"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A client for NTRIP (HTTP) sources of differential GPS corrections from internet servers, or Global navigation satellite system (GNSS) internet radio. </p>
<p>Usage:</p>
<ul>
<li>To open the server, invoke "open" with the proper parameters. Then use "stream_data" to read the read data.</li>
<li>To obtain a list of all the mountpoints available at a given NTRIP Caster, call "retrieveListOfMountpoints" (it's a static method).</li>
</ul>
<p>It is not neccesary to call "close", the connection is ended at destruction.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>For a good reference of the NTRIP protocol, see <a href="http://gnss.itacyl.es/opencms/opencms/system/modules/es.jcyl.ita.site.gnss/resources/documentos_gnss/NtripDocumentation.pdf">http://gnss.itacyl.es/opencms/opencms/system/modules/es.jcyl.ita.site.gnss/resources/documentos_gnss/NtripDocumentation.pdf</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00054">54</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a87876b056c78f192d6cd59a9f93d8a55"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::TListMountPoints" ref="a87876b056c78f192d6cd59a9f93d8a55" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef list&lt;<a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_t_mount_point.html">TMountPoint</a>&gt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a87876b056c78f192d6cd59a9f93d8a55">mrpt::hwdrivers::CNTRIPClient::TListMountPoints</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Used in <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aade16b94b275bb55f7bc9ef12cad2729" title="Connect to a given NTRIP caster and get the list of all available mountpoints and...">CNTRIPClient::retrieveListOfMountpoints</a>. </p>

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00093">93</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a751ec92c2aa49ca75bc91e36740dc821"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::TConnResult" ref="a751ec92c2aa49ca75bc91e36740dc821" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a751ec92c2aa49ca75bc91e36740dc821">mrpt::hwdrivers::CNTRIPClient::TConnResult</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a751ec92c2aa49ca75bc91e36740dc821a48c116b33c4a457bf36497d1ce164541"></a><!-- doxytag: member="connOk" ref="a751ec92c2aa49ca75bc91e36740dc821a48c116b33c4a457bf36497d1ce164541" args="" -->connOk</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a751ec92c2aa49ca75bc91e36740dc821af2685645b4ae71556c2a760d17e135d7"></a><!-- doxytag: member="connError" ref="a751ec92c2aa49ca75bc91e36740dc821af2685645b4ae71556c2a760d17e135d7" args="" -->connError</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a751ec92c2aa49ca75bc91e36740dc821aa03c42605a10f31d9077be5566f90e24"></a><!-- doxytag: member="connUnauthorized" ref="a751ec92c2aa49ca75bc91e36740dc821aa03c42605a10f31d9077be5566f90e24" args="" -->connUnauthorized</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00127">127</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac67281a2e058aee80e3da0f1c2c89568"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::CNTRIPClient" ref="ac67281a2e058aee80e3da0f1c2c89568" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::hwdrivers::CNTRIPClient::CNTRIPClient </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>

</div>
</div>
<a class="anchor" id="a3740f911fee23f9943b1b5f191b7de39"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::~CNTRIPClient" ref="a3740f911fee23f9943b1b5f191b7de39" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::hwdrivers::CNTRIPClient::~CNTRIPClient </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae3338c9d6aad4b6c26f27d60a8075a65"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::close" ref="ae3338c9d6aad4b6c26f27d60a8075a65" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CNTRIPClient::close </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Closes the connection. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aa02aa757598e30787f84a1e3a45787f4" title="Tries to open a given NTRIP stream and, if successful, launches a thread for continuously...">open</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa02aa757598e30787f84a1e3a45787f4"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::open" ref="aa02aa757598e30787f84a1e3a45787f4" args="(const NTRIPArgs &amp;params, string &amp;out_errmsg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::hwdrivers::CNTRIPClient::open </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_n_t_r_i_p_args.html">NTRIPArgs</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&nbsp;</td>
          <td class="paramname"> <em>out_errmsg</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tries to open a given NTRIP stream and, if successful, launches a thread for continuously reading from it. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#ae3338c9d6aad4b6c26f27d60a8075a65" title="Closes the connection.">close</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a458f01bf0273c929eb833556b957511d" title="The buffer with all the bytes so-far read from the NTRIP server stream.">stream_data</a></dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>false On any kind of error, with a description of the error in errmsg, if provided. </dd></dl>

</div>
</div>
<a class="anchor" id="a150861503f26cd8083f78c20ffbbac22"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::private_ntrip_thread" ref="a150861503f26cd8083f78c20ffbbac22" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CNTRIPClient::private_ntrip_thread </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The working thread. </p>

</div>
</div>
<a class="anchor" id="aade16b94b275bb55f7bc9ef12cad2729"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::retrieveListOfMountpoints" ref="aade16b94b275bb55f7bc9ef12cad2729" args="(TListMountPoints &amp;out_list, string &amp;out_errmsg, const string &amp;server, int port=2101, const string &amp;auth_user=string(), const string &amp;auth_pass=string())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool mrpt::hwdrivers::CNTRIPClient::retrieveListOfMountpoints </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a87876b056c78f192d6cd59a9f93d8a55">TListMountPoints</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&nbsp;</td>
          <td class="paramname"> <em>out_errmsg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>port</em> = <code>2101</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>auth_user</em> = <code>string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>auth_pass</em> = <code>string()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connect to a given NTRIP caster and get the list of all available mountpoints and their parameters. </p>
<p>Note that the authentication parameters "auth_user" and "auth_pass" will be left empty in most situations, since LISTING the Caster normally doesn't require special rights.</p>
<p>Example: </p>
<div class="fragment"><pre class="fragment">         <a class="code" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a87876b056c78f192d6cd59a9f93d8a55" title="Used in CNTRIPClient::retrieveListOfMountpoints.">CNTRIPClient::TListMountPoints</a> lst;
         std::string errMsg;
         <span class="keywordtype">bool</span> ret = <a class="code" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aade16b94b275bb55f7bc9ef12cad2729" title="Connect to a given NTRIP caster and get the list of all available mountpoints and...">CNTRIPClient::retrieveListOfMountpoints</a>(lst,errMsg,<span class="stringliteral">&quot;www.euref-ip.net&quot;</span>, 2101);
</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>False on any error, then "errmsg" holds the reason. </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a36dcd1e2de18e02fee4a608c9c619b9f"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_answer_connection" ref="a36dcd1e2de18e02fee4a608c9c619b9f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a751ec92c2aa49ca75bc91e36740dc821">TConnResult</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a36dcd1e2de18e02fee4a608c9c619b9f">mrpt::hwdrivers::CNTRIPClient::m_answer_connection</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00133">133</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5b71e616c2adfc33dba035a5bb282598"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_args" ref="a5b71e616c2adfc33dba035a5bb282598" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_n_t_r_i_p_args.html">NTRIPArgs</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a5b71e616c2adfc33dba035a5bb282598">mrpt::hwdrivers::CNTRIPClient::m_args</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>All the parameters for the NTRIP connection. </p>

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00134">134</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="a127d166d7e90372d491c37a673c45f2e"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_sem_first_connect_done" ref="a127d166d7e90372d491c37a673c45f2e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1synch_1_1_c_semaphore.html">mrpt::synch::CSemaphore</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a127d166d7e90372d491c37a673c45f2e">mrpt::hwdrivers::CNTRIPClient::m_sem_first_connect_done</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00121">121</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="a89adf23071e0cf10f329f7f8946f0b78"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_sem_sock_closed" ref="a89adf23071e0cf10f329f7f8946f0b78" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1synch_1_1_c_semaphore.html">mrpt::synch::CSemaphore</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a89adf23071e0cf10f329f7f8946f0b78">mrpt::hwdrivers::CNTRIPClient::m_sem_sock_closed</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00120">120</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="a910873d970b783ce1ba89427792e9364"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_thread" ref="a910873d970b783ce1ba89427792e9364" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1system_1_1_t_thread_handle.html">mrpt::system::TThreadHandle</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a910873d970b783ce1ba89427792e9364">mrpt::hwdrivers::CNTRIPClient::m_thread</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00119">119</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa9ca2cbc768910421706d28a2f86e133"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_thread_do_process" ref="aa9ca2cbc768910421706d28a2f86e133" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aa9ca2cbc768910421706d28a2f86e133">mrpt::hwdrivers::CNTRIPClient::m_thread_do_process</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Will be "true" between "open" and "close". </p>

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00124">124</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="aab495f81575c4f26a215bdb26b7aed2f"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_thread_exit" ref="aab495f81575c4f26a215bdb26b7aed2f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aab495f81575c4f26a215bdb26b7aed2f">mrpt::hwdrivers::CNTRIPClient::m_thread_exit</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00123">123</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae2e7f4616ba0d86f3125fce82572073b"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::m_waiting_answer_connection" ref="ae2e7f4616ba0d86f3125fce82572073b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#ae2e7f4616ba0d86f3125fce82572073b">mrpt::hwdrivers::CNTRIPClient::m_waiting_answer_connection</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00125">125</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
<a class="anchor" id="a458f01bf0273c929eb833556b957511d"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::stream_data" ref="a458f01bf0273c929eb833556b957511d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1synch_1_1_m_t__buffer.html">mrpt::synch::MT_buffer</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a458f01bf0273c929eb833556b957511d">mrpt::hwdrivers::CNTRIPClient::stream_data</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The buffer with all the bytes so-far read from the NTRIP server stream. </p>
<p>Call its "readAndClear" method in a timely fashion to get the stream contents. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#aa02aa757598e30787f84a1e3a45787f4" title="Tries to open a given NTRIP stream and, if successful, launches a thread for continuously...">open</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#ae3338c9d6aad4b6c26f27d60a8075a65" title="Closes the connection.">close</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00156">156</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p>

</div>
</div>
</div>
<!--- 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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.6.2-20100208</a> for MRPT 0.9.0 SVN: at Wed Jul 14 12:48:09 UTC 2010</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>