Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > 9601c7beb4ff23e834bfa171795ed560 > files > 470

vidalia-0.2.9-1mdv2010.1.i586.rpm

<!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"/>
<title>Vidalia: ControlConnection Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</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><a href="dirs.html"><span>Directories</span></a></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>
<div class="contents">
<h1>ControlConnection Class Reference</h1><!-- doxytag: class="ControlConnection" -->
<p><code>#include &lt;<a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>&gt;</code></p>

<p><a href="class_control_connection-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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection_1_1_receive_waiter.html">ReceiveWaiter</a></td></tr>
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a> { <br/>
&nbsp;&nbsp;<a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ada8fca398689e2de1266ae02a7032a5516">Unset</a>, 
<a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77adaa6ea0b95567f8d0cc5f5d8ef93899ca8">Disconnected</a>, 
<a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ada9f904aa084cadfd82bb74fa554c4ac2f">Disconnecting</a>, 
<a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77adabd3d25f7cb53a85649ed2e47c19fef97">Connecting</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77adaa5310cd01386f5d985911e51adfea403">Connected</a>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2>Signals</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a4c11c6081d1e5838832b6c1b0750571b">connected</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a41452502fd8508b45b15296871ba22ed">disconnected</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a48c3be68d03244159c580d32429c94b4">connectFailed</a> (QString errmsg)</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="class_control_connection.html#afd4d3c320a0b3725daeb5ce9ed02edc5">ControlConnection</a> (<a class="el" href="class_tor_events.html">TorEvents</a> *events=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a7eaa62d1e9832b206a3154224d8286c7">~ControlConnection</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a08bef3c75868948687a0f33aa02a32b8">connect</a> (const QHostAddress &amp;addr, quint16 port)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a0f737e7f32923003556eb6787a089ccd">cancelConnect</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a63ff0aa4d96112e21566a64f5a25d8a7">disconnect</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a9503aa0c9eab967da5686ffa4edc447f">isConnected</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a34bcf7d414507cba5dd9905b78282f17">status</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#aa5e4ff44b7c6e0773eda0a2f90505657">send</a> (const <a class="el" href="class_control_command.html">ControlCommand</a> &amp;cmd, <a class="el" href="class_control_reply.html">ControlReply</a> &amp;reply, QString *errmsg=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#ab220fc648a52ceb380272548d72320be">send</a> (const <a class="el" href="class_control_command.html">ControlCommand</a> &amp;cmd, QString *errmsg=0)</td></tr>
<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#af18111442847fa19e5dbc16d5834f342">connect</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a9dad84fe644cb9c0a786b1c7962240e8">onReadyRead</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a16d9c59d084b2a0101b356eb1a4ea315">onConnected</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a79eaeff93b3c688ff572e439fc9d4df8">onDisconnected</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a0f3c03d48accbfaeea2539c982009196">onError</a> (QAbstractSocket::SocketError error)</td></tr>
<tr><td colspan="2"><h2>Private 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="class_control_connection.html#a3ad24531cc04488a33850731c171499d">setStatus</a> (<a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a> status)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a999aac9c733ab7f829a20a5042625bd6">statusString</a> (<a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a> status)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a5163cd5b981c83373ed6c41e05063de5">run</a> ()</td></tr>
<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_control_socket.html">ControlSocket</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a19bab8aff5488d33d9d89f54b413d425">_sock</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_tor_events.html">TorEvents</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#aec45c94f839cf699724de0cf0131cfdc">_events</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a9e88a144a3321f31ebccd51f1aa4ccc2">_status</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QHostAddress&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a89f24cc2722d64f83ac4407d0c4c6ae9">_addr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">quint16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a205fdd450015f8b7d34ae2b7282d4835">_port</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a1147b8d98aba5e5d12e0a2d1792372ae">_connMutex</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#ac9d5bd332d6dfe9cd3e0a977f2cae0e9">_recvMutex</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a86de4e5b680f5fe1a7064e5191134498">_statusMutex</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a237dde266f22e3a1a76abc0137d255a5">_connectAttempt</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QTimer *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#ab13316cbf2e92eb183ca79d4e3da553e">_connectTimer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QQueue&lt; <a class="el" href="class_control_connection_1_1_receive_waiter.html">ReceiveWaiter</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#a31fbf6a6d44dcb7f1444bfb8655eb898">_recvQueue</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_send_command_event_1_1_send_waiter.html">SendCommandEvent::SendWaiter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_control_connection.html#afb1f68bd6b76a157470ea2327ff62563">_sendWaiter</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00033">33</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a60fe264cf74ba322bc0fe4693e2e77ad"></a><!-- doxytag: member="ControlConnection::Status" ref="a60fe264cf74ba322bc0fe4693e2e77ad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">ControlConnection::Status</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Control connection status </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a60fe264cf74ba322bc0fe4693e2e77ada8fca398689e2de1266ae02a7032a5516"></a><!-- doxytag: member="Unset" ref="a60fe264cf74ba322bc0fe4693e2e77ada8fca398689e2de1266ae02a7032a5516" args="" -->Unset</em>&nbsp;</td><td>
<p>Control connection status is not yet set. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a60fe264cf74ba322bc0fe4693e2e77adaa6ea0b95567f8d0cc5f5d8ef93899ca8"></a><!-- doxytag: member="Disconnected" ref="a60fe264cf74ba322bc0fe4693e2e77adaa6ea0b95567f8d0cc5f5d8ef93899ca8" args="" -->Disconnected</em>&nbsp;</td><td>
<p>Control connection disconnected. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a60fe264cf74ba322bc0fe4693e2e77ada9f904aa084cadfd82bb74fa554c4ac2f"></a><!-- doxytag: member="Disconnecting" ref="a60fe264cf74ba322bc0fe4693e2e77ada9f904aa084cadfd82bb74fa554c4ac2f" args="" -->Disconnecting</em>&nbsp;</td><td>
<p>Control connection is disconnecting. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a60fe264cf74ba322bc0fe4693e2e77adabd3d25f7cb53a85649ed2e47c19fef97"></a><!-- doxytag: member="Connecting" ref="a60fe264cf74ba322bc0fe4693e2e77adabd3d25f7cb53a85649ed2e47c19fef97" args="" -->Connecting</em>&nbsp;</td><td>
<p>Control connection attempt pending. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a60fe264cf74ba322bc0fe4693e2e77adaa5310cd01386f5d985911e51adfea403"></a><!-- doxytag: member="Connected" ref="a60fe264cf74ba322bc0fe4693e2e77adaa5310cd01386f5d985911e51adfea403" args="" -->Connected</em>&nbsp;</td><td>
<p>Control connection established. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00039">39</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="afd4d3c320a0b3725daeb5ce9ed02edc5"></a><!-- doxytag: member="ControlConnection::ControlConnection" ref="afd4d3c320a0b3725daeb5ce9ed02edc5" args="(TorEvents *events=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ControlConnection::ControlConnection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_tor_events.html">TorEvents</a> *&nbsp;</td>
          <td class="paramname"> <em>events</em> = <code>0</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Default constructor. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00032">32</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00096">_events</a>, <a class="el" href="_control_connection_8h_source.html#l00126">_sendWaiter</a>, <a class="el" href="_control_connection_8h_source.html#l00095">_sock</a>, <a class="el" href="_control_connection_8h_source.html#l00097">_status</a>, and <a class="el" href="_control_connection_8h_source.html#l00040">Unset</a>.</p>

</div>
</div>
<a class="anchor" id="a7eaa62d1e9832b206a3154224d8286c7"></a><!-- doxytag: member="ControlConnection::~ControlConnection" ref="a7eaa62d1e9832b206a3154224d8286c7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ControlConnection::~ControlConnection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00041">41</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00126">_sendWaiter</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0f737e7f32923003556eb6787a089ccd"></a><!-- doxytag: member="ControlConnection::cancelConnect" ref="a0f737e7f32923003556eb6787a089ccd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::cancelConnect </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Cancels a pending control connection to Tor. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00151">151</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00041">Disconnected</a>, <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>, and <a class="el" href="namespacetc.html#a161e534a110ff1f23f8a13a9ebdc00ee">tc::warn()</a>.</p>

<p>Referenced by <a class="el" href="_tor_control_8cpp_source.html#l00147">TorControl::onStopped()</a>.</p>

</div>
</div>
<a class="anchor" id="af18111442847fa19e5dbc16d5834f342"></a><!-- doxytag: member="ControlConnection::connect" ref="af18111442847fa19e5dbc16d5834f342" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::connect </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Connects to Tor's control interface.</p>
<p>Attempt to establish a connection to Tor's control interface. We will try a maximum of MAX_CONNECT_ATTEMPTS, waiting CONNECT_RETRY_DELAY between each attempt, to give slow Tors a chance to finish binding their control port. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00076">76</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00098">_addr</a>, <a class="el" href="_control_connection_8h_source.html#l00103">_connectAttempt</a>, <a class="el" href="_control_connection_8h_source.html#l00100">_connMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00099">_port</a>, <a class="el" href="_control_connection_8h_source.html#l00095">_sock</a>, <a class="el" href="namespacetc.html#aee5c749751dca91b96d6d024b1c4a076">tc::debug()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00026">MAX_CONNECT_ATTEMPTS</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a08bef3c75868948687a0f33aa02a32b8"></a><!-- doxytag: member="ControlConnection::connect" ref="a08bef3c75868948687a0f33aa02a32b8" args="(const QHostAddress &amp;addr, quint16 port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::connect </td>
          <td>(</td>
          <td class="paramtype">const QHostAddress &amp;&nbsp;</td>
          <td class="paramname"> <em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">quint16&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Connect to the specified Tor control interface. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00053">53</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00098">_addr</a>, <a class="el" href="_control_connection_8h_source.html#l00103">_connectAttempt</a>, <a class="el" href="_control_connection_8h_source.html#l00099">_port</a>, <a class="el" href="_control_connection_8h_source.html#l00095">_sock</a>, <a class="el" href="_control_connection_8h_source.html#l00043">Connecting</a>, <a class="el" href="namespacetc.html#aa7353218fd7baef0876bbb422ce818af">tc::error()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>.</p>

<p>Referenced by <a class="el" href="_tor_control_8cpp_source.html#l00191">TorControl::connect()</a>.</p>

</div>
</div>
<a class="anchor" id="a4c11c6081d1e5838832b6c1b0750571b"></a><!-- doxytag: member="ControlConnection::connected" ref="a4c11c6081d1e5838832b6c1b0750571b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::connected </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Emitted when a control connection has been established. </p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00100">onConnected()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a48c3be68d03244159c580d32429c94b4"></a><!-- doxytag: member="ControlConnection::connectFailed" ref="a48c3be68d03244159c580d32429c94b4" args="(QString errmsg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::connectFailed </td>
          <td>(</td>
          <td class="paramtype">QString&nbsp;</td>
          <td class="paramname"> <em>errmsg</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Emitted when a control connection fails. </p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00118">onError()</a>.</p>

</div>
</div>
<a class="anchor" id="a63ff0aa4d96112e21566a64f5a25d8a7"></a><!-- doxytag: member="ControlConnection::disconnect" ref="a63ff0aa4d96112e21566a64f5a25d8a7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::disconnect </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Disconnect from Tor's control interface. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00089">89</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00100">_connMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00095">_sock</a>, <a class="el" href="_control_connection_8h_source.html#l00042">Disconnecting</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>.</p>

<p>Referenced by <a class="el" href="_tor_control_8cpp_source.html#l00198">TorControl::disconnect()</a>.</p>

</div>
</div>
<a class="anchor" id="a41452502fd8508b45b15296871ba22ed"></a><!-- doxytag: member="ControlConnection::disconnected" ref="a41452502fd8508b45b15296871ba22ed" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::disconnected </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Emitted when a control connection has been closed. </p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00109">onDisconnected()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a9503aa0c9eab967da5686ffa4edc447f"></a><!-- doxytag: member="ControlConnection::isConnected" ref="a9503aa0c9eab967da5686ffa4edc447f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ControlConnection::isConnected </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns true if the control socket is connected to Tor. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00160">160</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00044">Connected</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00167">status()</a>.</p>

<p>Referenced by <a class="el" href="_tor_control_8cpp_source.html#l00223">TorControl::isConnected()</a>, <a class="el" href="_tor_control_8cpp_source.html#l00166">TorControl::isRunning()</a>, and <a class="el" href="_tor_control_8cpp_source.html#l00135">TorControl::stop()</a>.</p>

</div>
</div>
<a class="anchor" id="a16d9c59d084b2a0101b356eb1a4ea315"></a><!-- doxytag: member="ControlConnection::onConnected" ref="a16d9c59d084b2a0101b356eb1a4ea315" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::onConnected </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when the control socket is connected.</p>
<p>Called when the control socket is connected. This method checks that the control protocol version of the Tor we connected to is at least V1. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00100">100</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="class_control_connection.html#a4c11c6081d1e5838832b6c1b0750571b">connected()</a>, <a class="el" href="_control_connection_8h_source.html#l00044">Connected</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a79eaeff93b3c688ff572e439fc9d4df8"></a><!-- doxytag: member="ControlConnection::onDisconnected" ref="a79eaeff93b3c688ff572e439fc9d4df8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::onDisconnected </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when the control socket is disconnected.</p>
<p>Called when the control socket is disconnected and stops the control thread's event loop. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00109">109</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="class_control_connection.html#a41452502fd8508b45b15296871ba22ed">disconnected()</a>, <a class="el" href="_control_connection_8h_source.html#l00041">Disconnected</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a0f3c03d48accbfaeea2539c982009196"></a><!-- doxytag: member="ControlConnection::onError" ref="a0f3c03d48accbfaeea2539c982009196" args="(QAbstractSocket::SocketError error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::onError </td>
          <td>(</td>
          <td class="paramtype">QAbstractSocket::SocketError&nbsp;</td>
          <td class="paramname"> <em>error</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when the control socket encounters an error.</p>
<p>Called when the control socket encounters <b>error</b>. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00118">118</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00103">_connectAttempt</a>, <a class="el" href="_control_connection_8h_source.html#l00105">_connectTimer</a>, <a class="el" href="_control_connection_8cpp_source.html#l00028">CONNECT_RETRY_DELAY</a>, <a class="el" href="class_control_connection.html#a48c3be68d03244159c580d32429c94b4">connectFailed()</a>, <a class="el" href="_control_connection_8h_source.html#l00043">Connecting</a>, <a class="el" href="namespacetc.html#aee5c749751dca91b96d6d024b1c4a076">tc::debug()</a>, <a class="el" href="_control_connection_8h_source.html#l00041">Disconnected</a>, <a class="el" href="namespacetc.html#aa7353218fd7baef0876bbb422ce818af">tc::error()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00026">MAX_CONNECT_ATTEMPTS</a>, <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00167">status()</a>, <a class="el" href="_control_socket_8cpp_source.html#l00187">ControlSocket::toString()</a>, and <a class="el" href="namespacetc.html#a161e534a110ff1f23f8a13a9ebdc00ee">tc::warn()</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a9dad84fe644cb9c0a786b1c7962240e8"></a><!-- doxytag: member="ControlConnection::onReadyRead" ref="a9dad84fe644cb9c0a786b1c7962240e8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::onReadyRead </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when there is data on the control socket. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00251">251</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00100">_connMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00096">_events</a>, <a class="el" href="_control_connection_8h_source.html#l00101">_recvMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00125">_recvQueue</a>, <a class="el" href="_control_connection_8h_source.html#l00095">_sock</a>, <a class="el" href="namespacetc.html#aee5c749751dca91b96d6d024b1c4a076">tc::debug()</a>, <a class="el" href="namespacetc.html#aa7353218fd7baef0876bbb422ce818af">tc::error()</a>, <a class="el" href="_control_reply_8cpp_source.html#l00048">ControlReply::getStatus()</a>, <a class="el" href="_tor_events_8cpp_source.html#l00125">TorEvents::handleEvent()</a>, <a class="el" href="_control_socket_8cpp_source.html#l00138">ControlSocket::readReply()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00364">ControlConnection::ReceiveWaiter::setResult()</a>, and <a class="el" href="_control_reply_8cpp_source.html#l00069">ControlReply::toString()</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a5163cd5b981c83373ed6c41e05063de5"></a><!-- doxytag: member="ControlConnection::run" ref="a5163cd5b981c83373ed6c41e05063de5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::run </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Main thread implementation.</p>
<p>Main thread implementation. Creates and connects a control socket, then spins up an event loop. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00287">287</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00105">_connectTimer</a>, <a class="el" href="_control_connection_8h_source.html#l00100">_connMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00101">_recvMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00125">_recvQueue</a>, <a class="el" href="_control_connection_8h_source.html#l00126">_sendWaiter</a>, <a class="el" href="_control_connection_8h_source.html#l00095">_sock</a>, <a class="el" href="_control_connection_8cpp_source.html#l00076">connect()</a>, <a class="el" href="class_control_connection.html#a4c11c6081d1e5838832b6c1b0750571b">connected()</a>, <a class="el" href="namespacetc.html#aee5c749751dca91b96d6d024b1c4a076">tc::debug()</a>, <a class="el" href="class_control_connection.html#a41452502fd8508b45b15296871ba22ed">disconnected()</a>, <a class="el" href="namespacetc.html#aa7353218fd7baef0876bbb422ce818af">tc::error()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00100">onConnected()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00109">onDisconnected()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00118">onError()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00251">onReadyRead()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00364">ControlConnection::ReceiveWaiter::setResult()</a>, <a class="el" href="_send_command_event_8cpp_source.html#l00032">SendCommandEvent::SendWaiter::setResult()</a>, <a class="el" href="_send_command_event_8cpp_source.html#l00063">SendCommandEvent::SendWaiter::status()</a>, and <a class="el" href="_send_command_event_8h_source.html#l00034">SendCommandEvent::SendWaiter::Waiting</a>.</p>

</div>
</div>
<a class="anchor" id="ab220fc648a52ceb380272548d72320be"></a><!-- doxytag: member="ControlConnection::send" ref="ab220fc648a52ceb380272548d72320be" args="(const ControlCommand &amp;cmd, QString *errmsg=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ControlConnection::send </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_control_command.html">ControlCommand</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cmd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QString *&nbsp;</td>
          <td class="paramname"> <em>errmsg</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sends a control command to Tor and does not wait for a reply.</p>
<p>Sends a control command to Tor and returns true if the command was sent successfully. Otherwise, returns false and <b>*errmsg</b> (if supplied) will be set. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00236">236</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00100">_connMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00126">_sendWaiter</a>, <a class="el" href="_control_connection_8h_source.html#l00095">_sock</a>, <a class="el" href="stringutil_8cpp_source.html#l00038">err()</a>, <a class="el" href="_send_command_event_8cpp_source.html#l00043">SendCommandEvent::SendWaiter::getResult()</a>, and <a class="el" href="_control_socket_8cpp_source.html#l00036">ControlSocket::isConnected()</a>.</p>

</div>
</div>
<a class="anchor" id="aa5e4ff44b7c6e0773eda0a2f90505657"></a><!-- doxytag: member="ControlConnection::send" ref="aa5e4ff44b7c6e0773eda0a2f90505657" args="(const ControlCommand &amp;cmd, ControlReply &amp;reply, QString *errmsg=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ControlConnection::send </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_control_command.html">ControlCommand</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cmd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_control_reply.html">ControlReply</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>reply</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QString *&nbsp;</td>
          <td class="paramname"> <em>errmsg</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sends a control command to Tor and waits for the reply. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00203">203</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00101">_recvMutex</a>, <a class="el" href="_control_connection_8h_source.html#l00125">_recvQueue</a>, <a class="el" href="namespacetc.html#aa7353218fd7baef0876bbb422ce818af">tc::error()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00342">ControlConnection::ReceiveWaiter::getResult()</a>, and <a class="el" href="_control_command_8h_source.html#l00032">ControlCommand::keyword()</a>.</p>

<p>Referenced by <a class="el" href="_tor_control_8cpp_source.html#l00233">TorControl::send()</a>, and <a class="el" href="_tor_control_8cpp_source.html#l00496">TorControl::signal()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ad24531cc04488a33850731c171499d"></a><!-- doxytag: member="ControlConnection::setStatus" ref="a3ad24531cc04488a33850731c171499d" args="(Status status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ControlConnection::setStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a>&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the control connection status. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00192">192</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00097">_status</a>, <a class="el" href="_control_connection_8h_source.html#l00102">_statusMutex</a>, <a class="el" href="namespacetc.html#aee5c749751dca91b96d6d024b1c4a076">tc::debug()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00176">statusString()</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00151">cancelConnect()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00053">connect()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00089">disconnect()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00100">onConnected()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00109">onDisconnected()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00118">onError()</a>.</p>

</div>
</div>
<a class="anchor" id="a34bcf7d414507cba5dd9905b78282f17"></a><!-- doxytag: member="ControlConnection::status" ref="a34bcf7d414507cba5dd9905b78282f17" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">ControlConnection::Status</a> ControlConnection::status </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the status of the control connection. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00167">167</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00097">_status</a>, and <a class="el" href="_control_connection_8h_source.html#l00102">_statusMutex</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00160">isConnected()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00118">onError()</a>, and <a class="el" href="_tor_control_8cpp_source.html#l00147">TorControl::onStopped()</a>.</p>

</div>
</div>
<a class="anchor" id="a999aac9c733ab7f829a20a5042625bd6"></a><!-- doxytag: member="ControlConnection::statusString" ref="a999aac9c733ab7f829a20a5042625bd6" args="(Status status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString ControlConnection::statusString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a>&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the string description of <b>status</b>.</p>
<p>Returns a string description of the control Status value <b>status</b>. </p>

<p>Definition at line <a class="el" href="_control_connection_8cpp_source.html#l00176">176</a> of file <a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a>.</p>

<p>References <a class="el" href="_control_connection_8h_source.html#l00044">Connected</a>, <a class="el" href="_control_connection_8h_source.html#l00043">Connecting</a>, <a class="el" href="_control_connection_8h_source.html#l00041">Disconnected</a>, <a class="el" href="_control_connection_8h_source.html#l00042">Disconnecting</a>, and <a class="el" href="_control_connection_8h_source.html#l00040">Unset</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a89f24cc2722d64f83ac4407d0c4c6ae9"></a><!-- doxytag: member="ControlConnection::_addr" ref="a89f24cc2722d64f83ac4407d0c4c6ae9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QHostAddress <a class="el" href="class_control_connection.html#a89f24cc2722d64f83ac4407d0c4c6ae9">ControlConnection::_addr</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Address of Tor's control interface. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00098">98</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00053">connect()</a>.</p>

</div>
</div>
<a class="anchor" id="a237dde266f22e3a1a76abc0137d255a5"></a><!-- doxytag: member="ControlConnection::_connectAttempt" ref="a237dde266f22e3a1a76abc0137d255a5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_control_connection.html#a237dde266f22e3a1a76abc0137d255a5">ControlConnection::_connectAttempt</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>How many times we've tried to connect to Tor while waiting for Tor to start. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00103">103</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00053">connect()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00118">onError()</a>.</p>

</div>
</div>
<a class="anchor" id="ab13316cbf2e92eb183ca79d4e3da553e"></a><!-- doxytag: member="ControlConnection::_connectTimer" ref="ab13316cbf2e92eb183ca79d4e3da553e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QTimer* <a class="el" href="class_control_connection.html#ab13316cbf2e92eb183ca79d4e3da553e">ControlConnection::_connectTimer</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Timer used to delay connect attempts. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00105">105</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00118">onError()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a1147b8d98aba5e5d12e0a2d1792372ae"></a><!-- doxytag: member="ControlConnection::_connMutex" ref="a1147b8d98aba5e5d12e0a2d1792372ae" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QMutex <a class="el" href="class_control_connection.html#a1147b8d98aba5e5d12e0a2d1792372ae">ControlConnection::_connMutex</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Mutex around the control socket. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00100">100</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00076">connect()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00089">disconnect()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00251">onReadyRead()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00236">send()</a>.</p>

</div>
</div>
<a class="anchor" id="aec45c94f839cf699724de0cf0131cfdc"></a><!-- doxytag: member="ControlConnection::_events" ref="aec45c94f839cf699724de0cf0131cfdc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_tor_events.html">TorEvents</a>* <a class="el" href="class_control_connection.html#aec45c94f839cf699724de0cf0131cfdc">ControlConnection::_events</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Dispatches asynchronous events from Tor. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00096">96</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00032">ControlConnection()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00251">onReadyRead()</a>.</p>

</div>
</div>
<a class="anchor" id="a205fdd450015f8b7d34ae2b7282d4835"></a><!-- doxytag: member="ControlConnection::_port" ref="a205fdd450015f8b7d34ae2b7282d4835" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">quint16 <a class="el" href="class_control_connection.html#a205fdd450015f8b7d34ae2b7282d4835">ControlConnection::_port</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Port of Tor's control interface. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00099">99</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00053">connect()</a>.</p>

</div>
</div>
<a class="anchor" id="ac9d5bd332d6dfe9cd3e0a977f2cae0e9"></a><!-- doxytag: member="ControlConnection::_recvMutex" ref="ac9d5bd332d6dfe9cd3e0a977f2cae0e9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QMutex <a class="el" href="class_control_connection.html#ac9d5bd332d6dfe9cd3e0a977f2cae0e9">ControlConnection::_recvMutex</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Mutex around the queue of ReceiveWaiters. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00101">101</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00251">onReadyRead()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00203">send()</a>.</p>

</div>
</div>
<a class="anchor" id="a31fbf6a6d44dcb7f1444bfb8655eb898"></a><!-- doxytag: member="ControlConnection::_recvQueue" ref="a31fbf6a6d44dcb7f1444bfb8655eb898" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QQueue&lt;<a class="el" href="class_control_connection_1_1_receive_waiter.html">ReceiveWaiter</a> *&gt; <a class="el" href="class_control_connection.html#a31fbf6a6d44dcb7f1444bfb8655eb898">ControlConnection::_recvQueue</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Objects waiting for a reply. </p>

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

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00251">onReadyRead()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00203">send()</a>.</p>

</div>
</div>
<a class="anchor" id="afb1f68bd6b76a157470ea2327ff62563"></a><!-- doxytag: member="ControlConnection::_sendWaiter" ref="afb1f68bd6b76a157470ea2327ff62563" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_send_command_event_1_1_send_waiter.html">SendCommandEvent::SendWaiter</a>* <a class="el" href="class_control_connection.html#afb1f68bd6b76a157470ea2327ff62563">ControlConnection::_sendWaiter</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00126">126</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00032">ControlConnection()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00236">send()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00041">~ControlConnection()</a>.</p>

</div>
</div>
<a class="anchor" id="a19bab8aff5488d33d9d89f54b413d425"></a><!-- doxytag: member="ControlConnection::_sock" ref="a19bab8aff5488d33d9d89f54b413d425" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_control_socket.html">ControlSocket</a>* <a class="el" href="class_control_connection.html#a19bab8aff5488d33d9d89f54b413d425">ControlConnection::_sock</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Socket used to communicate with Tor. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00095">95</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00053">connect()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00032">ControlConnection()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00089">disconnect()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00251">onReadyRead()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00287">run()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00236">send()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e88a144a3321f31ebccd51f1aa4ccc2"></a><!-- doxytag: member="ControlConnection::_status" ref="a9e88a144a3321f31ebccd51f1aa4ccc2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_control_connection.html#a60fe264cf74ba322bc0fe4693e2e77ad">Status</a> <a class="el" href="class_control_connection.html#a9e88a144a3321f31ebccd51f1aa4ccc2">ControlConnection::_status</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Status of the control connection. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00097">97</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00032">ControlConnection()</a>, <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00167">status()</a>.</p>

</div>
</div>
<a class="anchor" id="a86de4e5b680f5fe1a7064e5191134498"></a><!-- doxytag: member="ControlConnection::_statusMutex" ref="a86de4e5b680f5fe1a7064e5191134498" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QMutex <a class="el" href="class_control_connection.html#a86de4e5b680f5fe1a7064e5191134498">ControlConnection::_statusMutex</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Mutex around the connection status value. </p>

<p>Definition at line <a class="el" href="_control_connection_8h_source.html#l00102">102</a> of file <a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a>.</p>

<p>Referenced by <a class="el" href="_control_connection_8cpp_source.html#l00192">setStatus()</a>, and <a class="el" href="_control_connection_8cpp_source.html#l00167">status()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_control_connection_8h_source.html">ControlConnection.h</a></li>
<li><a class="el" href="_control_connection_8cpp_source.html">ControlConnection.cpp</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Mon Aug 30 22:58:56 2010 for Vidalia by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>