<!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>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> > <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.7.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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</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"> <div class="left"> <form id="FSearchBox" action="search.php" method="get"> <img id="MSearchSelect" src="search/mag.png" alt=""/> <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"/> </form> </div><div class="right"></div> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a> </li> <li class="navelem"><a class="el" href="namespacemrpt_1_1hwdrivers.html">hwdrivers</a> </li> <li class="navelem"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html">CNTRIPClient</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="#pro-types">Protected Types</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <div class="title">mrpt::hwdrivers::CNTRIPClient Class Reference<div class="ingroups"><a class="el" href="group__mrpt__hwdrivers__grp.html">[mrpt-hwdrivers]</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="mrpt::hwdrivers::CNTRIPClient" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><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> </div> <p><code>#include <<a class="el" href="_c_n_t_r_i_p_client_8h_source.html">mrpt/hwdrivers/CNTRIPClient.h</a>></code></p> <p><a href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </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"> </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 reading fro...">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  </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"> </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 their parameters...">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><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1list.html">list</a>< <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><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"> </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 their parameters...">CNTRIPClient::retrieveListOfMountpoints</a>. <a href="#a87876b056c78f192d6cd59a9f93d8a55"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </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"> </td><td class="mdescRight">Default constructor. <a href="#ac67281a2e058aee80e3da0f1c2c89568"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </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"> </td><td class="mdescRight">Default destructor. <a href="#a3740f911fee23f9943b1b5f191b7de39"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </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> &params, <a class="el" href="classstd_1_1string.html">string</a> &out_errmsg)</td></tr> <tr><td class="mdescLeft"> </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 </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"> </td><td class="mdescRight">Closes the connection. <a href="#ae3338c9d6aad4b6c26f27d60a8075a65"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </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> &out_list, <a class="el" href="classstd_1_1string.html">string</a> &out_errmsg, const <a class="el" href="classstd_1_1string.html">string</a> &server, int port=2101, const <a class="el" href="classstd_1_1string.html">string</a> &auth_user=<a class="el" href="classstd_1_1string.html">string</a>(), const <a class="el" href="classstd_1_1string.html">string</a> &auth_pass=<a class="el" href="classstd_1_1string.html">string</a>())</td></tr> <tr><td class="mdescLeft"> </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><a name="pub-attribs"></a> 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> </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"> </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><a name="pro-types"></a> Protected Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </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><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">The working thread. <a href="#a150861503f26cd8083f78c20ffbbac22"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> 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> </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> </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> </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 </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 </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"> </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 </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> </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> </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"> </td><td class="mdescRight">All the parameters for the NTRIP connection. <a href="#a5b71e616c2adfc33dba035a5bb282598"></a><br/></td></tr> </table> <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 <a class="el" href="classstd_1_1list.html">list</a><<a class="el" href="structmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client_1_1_t_mount_point.html">TMountPoint</a>> <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 their parameters...">CNTRIPClient::retrieveListOfMountpoints</a>. </p> <p>Definition at line <a class="el" href="_c_n_t_r_i_p_client_8h_source.html#l00096">96</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> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a751ec92c2aa49ca75bc91e36740dc821af2685645b4ae71556c2a760d17e135d7"></a><!-- doxytag: member="connError" ref="a751ec92c2aa49ca75bc91e36740dc821af2685645b4ae71556c2a760d17e135d7" args="" -->connError</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a751ec92c2aa49ca75bc91e36740dc821aa03c42605a10f31d9077be5566f90e24"></a><!-- doxytag: member="connUnauthorized" ref="a751ec92c2aa49ca75bc91e36740dc821aa03c42605a10f31d9077be5566f90e24" args="" -->connUnauthorized</em> </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#l00130">130</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 & 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>)</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>)</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>)</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 reading fro...">open</a> </dd></dl> </div> </div> <a class="anchor" id="aa02aa757598e30787f84a1e3a45787f4"></a><!-- doxytag: member="mrpt::hwdrivers::CNTRIPClient::open" ref="aa02aa757598e30787f84a1e3a45787f4" args="(const NTRIPArgs &params, string &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> & </td> <td class="paramname"><em>params</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classstd_1_1string.html">string</a> & </td> <td class="paramname"><em>out_errmsg</em> </td> </tr> <tr> <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>)</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 &out_list, string &out_errmsg, const string &server, int port=2101, const string &auth_user=string(), const string &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> & </td> <td class="paramname"><em>out_list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classstd_1_1string.html">string</a> & </td> <td class="paramname"><em>out_errmsg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> & </td> <td class="paramname"><em>server</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>port</em> = <code>2101</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> & </td> <td class="paramname"><em>auth_user</em> = <code><a class="el" href="classstd_1_1string.html">string</a>()</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> & </td> <td class="paramname"><em>auth_pass</em> = <code><a class="el" href="classstd_1_1string.html">string</a>()</code> </td> </tr> <tr> <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#ac67281a2e058aee80e3da0f1c2c89568" title="Default constructor.">CNTRIPClient</a><a class="code" href="classmrpt_1_1hwdrivers_1_1_c_n_t_r_i_p_client.html#a87876b056c78f192d6cd59a9f93d8a55" title="Used in CNTRIPClient::retrieveListOfMountpoints.">::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 their parameters...">CNTRIPClient::retrieveListOfMountpoints</a>(lst,errMsg,<span class="stringliteral">"www.euref-ip.net"</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#l00136">136</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#l00137">137</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#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="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#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="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#l00122">122</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#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> <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#l00126">126</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#l00128">128</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 reading fro...">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#l00159">159</a> of file <a class="el" href="_c_n_t_r_i_p_client_8h_source.html">CNTRIPClient.h</a>.</p> </div> </div> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>